##// END OF EJS Templates
git-lfs: make usage of gunicorn wrappers to write data to disk....
git-lfs: make usage of gunicorn wrappers to write data to disk. - instead of turning it into a seekable object we write the data directly from gunicorn Body object. This has consistent behaviour on chunked vs non chunked data.

File last commit:

r130:326cc3c5 default
r206:2f375119 stable
Show More
test_http_performance.py
44 lines | 1.1 KiB | text/x-python | PythonLexer
/ vcsserver / tests / test_http_performance.py
packaging: moved tests into the main library itself. This is consistent with how our other projects do it.
r130 """
Tests used to profile the HTTP based implementation.
"""
import pytest
import webtest
from vcsserver.http_main import main
@pytest.fixture
def vcs_app():
stub_settings = {
'dev.use_echo_app': 'true',
'beaker.cache.regions': 'repo_object',
'beaker.cache.repo_object.type': 'memorylru',
'beaker.cache.repo_object.max_items': '100',
'beaker.cache.repo_object.expire': '300',
'beaker.cache.repo_object.enabled': 'true',
'locale': 'en_US.UTF-8',
}
vcs_app = main({}, **stub_settings)
app = webtest.TestApp(vcs_app)
return app
@pytest.fixture(scope='module')
def data():
one_kb = 'x' * 1024
return one_kb * 1024 * 10
def test_http_app_streaming_with_data(data, repeat, vcs_app):
app = vcs_app
for x in xrange(repeat / 10):
response = app.post('/stream/git/', params=data)
assert response.status_code == 200
def test_http_app_streaming_no_data(repeat, vcs_app):
app = vcs_app
for x in xrange(repeat / 10):
response = app.post('/stream/git/')
assert response.status_code == 200