##// END OF EJS Templates
release: Start preparation for 4.12.1
release: Start preparation for 4.12.1

File last commit:

r130:326cc3c5 default
r437:de274922 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