From: Karl O. Pinc Date: Thu, 5 Dec 2019 14:08:18 +0000 (-0600) Subject: Abstract common test pattern into a fixture X-Git-Url: https://papio.biology.duke.edu/gitweb/?a=commitdiff_plain;h=fe19e93b79c94f27660cbfa7bac37e298f6c615c;p=pgwui_upload Abstract common test pattern into a fixture --- diff --git a/tests/views/test_upload.py b/tests/views/test_upload.py index dde7e77..c5b322a 100644 --- a/tests/views/test_upload.py +++ b/tests/views/test_upload.py @@ -87,50 +87,46 @@ def isolate_upload_view(monkeypatch, pyramid_request_config): # upload_view() -def test_upload_view_db_not_changed(isolate_upload_view, caplog): - '''When the db did not change nothing logs''' +@pytest.fixture +def return_log_tuples(isolate_upload_view, caplog): + '''Get result and the caplog.record_tuples from the upload_view() call''' caplog.set_level(logging.DEBUG) - response = {'db_changed': False} + def run(response): + isolate_upload_view(response) + result = upload.upload_view(get_current_request()) + del result['pgwui'] # Remove variables added by pgwui view decorators - isolate_upload_view(response) - result = upload.upload_view(get_current_request()) - del result['pgwui'] # Remove variables added by pgwui view decorators + return (result, caplog.record_tuples) - log_tuples = caplog.record_tuples + return run + + +def test_upload_view_db_not_changed(return_log_tuples): + '''When the db did not change nothing logs''' + response = UNCHANGED_RESPONSE + (result, log_tuples) = return_log_tuples(response) assert result == response assert log_tuples == [] -def test_upload_view_db_changed_csv(isolate_upload_view, caplog): +def test_upload_view_db_changed_csv(return_log_tuples): '''When the db did change from CSV input something logs''' - caplog.set_level(logging.DEBUG) - response = CHANGED_RESPONSE response['csv_checked'] = form_constants.CHECKED + (result, log_tuples) = return_log_tuples(response) - isolate_upload_view(response) - result = upload.upload_view(get_current_request()) - del result['pgwui'] # Remove variables added by pgwui view decorators - - log_tuples = caplog.record_tuples assert result == response assert ([tup[:2] for tup in log_tuples] == [('pgwui_upload.views.upload', logging.INFO)]) -def test_upload_view_db_changed_no_csv(isolate_upload_view, caplog): +def test_upload_view_db_changed_no_csv(return_log_tuples): '''When the db did change from not-CSV input something logs''' - caplog.set_level(logging.DEBUG) - response = CHANGED_RESPONSE response['csv_checked'] = form_constants.UNCHECKED + (result, log_tuples) = return_log_tuples(response) - isolate_upload_view(response) - result = upload.upload_view(get_current_request()) - del result['pgwui'] # Remove variables added by pgwui view decorators - - log_tuples = caplog.record_tuples assert result == response assert ([tup[:2] for tup in log_tuples] == [('pgwui_upload.views.upload', logging.INFO)])