Index: tests/test_page_outputs.py |
=================================================================== |
--- a/tests/test_page_outputs.py |
+++ b/tests/test_page_outputs.py |
@@ -20,20 +20,28 @@ |
def get_expected_outputs(): |
expected_out_path = os.path.join(ROOTPATH, 'tests', 'expected_output') |
return get_dir_contents(expected_out_path).items() |
expected_outputs = get_expected_outputs() |
+@pytest.fixture(scope='session', params=['master', None]) |
+def revision(request): |
+ return request.param |
+ |
+ |
@pytest.fixture(scope='session') |
-def static_output(request, temp_site): |
+def static_output(revision, request, temp_site): |
static_out_path = os.path.join(temp_site, 'static_out') |
sys.argv = ['filler', temp_site, static_out_path] |
+ if revision is not None: |
+ sys.argv += ['--rev', revision] |
+ |
runpy.run_module('cms.bin.generate_static_pages', run_name='__main__') |
return static_out_path |
@pytest.yield_fixture() |
def dynamic_server(temp_site): |
args = ['python', 'runserver.py', temp_site] |
# Werkzeug is a dependency of flask which we are using for the mock api |
@@ -55,8 +63,15 @@ |
def test_static(output_pages, filename, expected_output): |
assert output_pages[filename] == expected_output |
@pytest.mark.parametrize('filename,expected_output', expected_outputs) |
def test_dynamic(dynamic_server, filename, expected_output): |
response = urllib2.urlopen(dynamic_server + filename) |
assert response.read() == expected_output |
+ |
+ |
+def test_revision_arg(revision, output_pages): |
+ if revision is None: |
+ assert 'bar' in output_pages |
+ else: |
+ assert 'bar' not in output_pages |