From e1deb96f8cd9f0df58b6288bdf2bdf30118e04b9 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Wed, 27 May 2020 13:10:10 +0200 Subject: [PATCH] tests: clear caplog between sessions (#41949) --- tests/test_sso_slo.py | 18 ++++++++++++------ tests/utils.py | 5 ----- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/tests/test_sso_slo.py b/tests/test_sso_slo.py index fbde5ab..910c2fb 100644 --- a/tests/test_sso_slo.py +++ b/tests/test_sso_slo.py @@ -38,8 +38,6 @@ from mellon.views import lasso_decode from httmock import all_requests, HTTMock, response as mock_response -from utils import reset_caplog - @fixture def idp_metadata(): @@ -299,6 +297,7 @@ def test_sso_idp_slo_soap(db, app, idp, caplog, sp_settings): idp.reset_session_dump() # second session + caplog.clear() app.cookiejar.clear() response = app.get(reverse('mellon_login') + '?next=/whatever/') url, body, relay_state = idp.process_authn_request_redirect(response['Location']) @@ -306,7 +305,7 @@ def test_sso_idp_slo_soap(db, app, idp, caplog, sp_settings): assert 'eo:next_url' not in str(idp.request) assert url.endswith(reverse('mellon_login')) response = app.post(reverse('mellon_login'), params={'SAMLResponse': body, 'RelayState': relay_state}) - assert 'created new user' in caplog.text + assert 'looked up user' in caplog.text assert 'logged in using SAML' in caplog.text assert urlparse.urlparse(response['Location']).path == '/whatever/' @@ -338,6 +337,7 @@ def test_sso_idp_slo_full(db, app, idp, caplog, sp_settings): assert urlparse.urlparse(response['Location']).path == '/whatever/' # second session + caplog.clear() app.cookiejar.clear() response = app.get(reverse('mellon_login') + '?next=/whatever/') url, body, relay_state = idp.process_authn_request_redirect(response['Location']) @@ -345,7 +345,7 @@ def test_sso_idp_slo_full(db, app, idp, caplog, sp_settings): assert 'eo:next_url' not in str(idp.request) assert url.endswith(reverse('mellon_login')) response = app.post(reverse('mellon_login'), params={'SAMLResponse': body, 'RelayState': relay_state}) - assert 'created new user' in caplog.text + assert 'looked up user' in caplog.text assert 'logged in using SAML' in caplog.text assert urlparse.urlparse(response['Location']).path == '/whatever/' @@ -376,6 +376,7 @@ def test_sso_idp_slo_full_soap(db, app, idp, caplog, sp_settings): assert urlparse.urlparse(response['Location']).path == '/whatever/' # second session + caplog.clear() app.cookiejar.clear() response = app.get(reverse('mellon_login') + '?next=/whatever/') url, body, relay_state = idp.process_authn_request_redirect(response['Location']) @@ -383,7 +384,7 @@ def test_sso_idp_slo_full_soap(db, app, idp, caplog, sp_settings): assert 'eo:next_url' not in str(idp.request) assert url.endswith(reverse('mellon_login')) response = app.post(reverse('mellon_login'), params={'SAMLResponse': body, 'RelayState': relay_state}) - assert 'created new user' in caplog.text + assert 'looked up user' in caplog.text assert 'logged in using SAML' in caplog.text assert urlparse.urlparse(response['Location']).path == '/whatever/' @@ -519,6 +520,8 @@ def test_sso_artifact(db, app, caplog, sp_settings, idp_metadata, idp_private_ke assert app.session del app.session['_auth_user_id'] assert 'dead artifact' not in caplog.text + + caplog.clear() with HTTMock(idp.mock_artifact_resolver()): response = app.get(acs_artifact_url, params={'RelayState': relay_state}) # verify retry login was asked @@ -527,13 +530,16 @@ def test_sso_artifact(db, app, caplog, sp_settings, idp_metadata, idp_private_ke response = response.follow() url, body, relay_state = idp.process_authn_request_redirect(response['Location']) assert relay_state - reset_caplog(caplog) + # verify caplog has been cleaned + caplog.clear() assert 'created new user' not in caplog.text assert body is None assert reverse('mellon_login') in url assert 'SAMLart' in url acs_artifact_url = url.split('testserver', 1)[1] + + caplog.clear() with HTTMock(idp.mock_artifact_resolver()): response = app.get(acs_artifact_url, params={'RelayState': relay_state}) assert 'created new user' not in caplog.text diff --git a/tests/utils.py b/tests/utils.py index d4b7883..f351d34 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -29,8 +29,3 @@ def html_response(url, request): @all_requests def metadata_response(url, request): return response(200, content=open('tests/metadata.xml').read()) - - -def reset_caplog(cap): - cap.handler.stream.truncate(0) - cap.handler.records = []