tests: clear caplog between sessions (#41949)
This commit is contained in:
parent
3c696c60a2
commit
e1deb96f8c
|
@ -38,8 +38,6 @@ from mellon.views import lasso_decode
|
||||||
|
|
||||||
from httmock import all_requests, HTTMock, response as mock_response
|
from httmock import all_requests, HTTMock, response as mock_response
|
||||||
|
|
||||||
from utils import reset_caplog
|
|
||||||
|
|
||||||
|
|
||||||
@fixture
|
@fixture
|
||||||
def idp_metadata():
|
def idp_metadata():
|
||||||
|
@ -299,6 +297,7 @@ def test_sso_idp_slo_soap(db, app, idp, caplog, sp_settings):
|
||||||
idp.reset_session_dump()
|
idp.reset_session_dump()
|
||||||
|
|
||||||
# second session
|
# second session
|
||||||
|
caplog.clear()
|
||||||
app.cookiejar.clear()
|
app.cookiejar.clear()
|
||||||
response = app.get(reverse('mellon_login') + '?next=/whatever/')
|
response = app.get(reverse('mellon_login') + '?next=/whatever/')
|
||||||
url, body, relay_state = idp.process_authn_request_redirect(response['Location'])
|
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 'eo:next_url' not in str(idp.request)
|
||||||
assert url.endswith(reverse('mellon_login'))
|
assert url.endswith(reverse('mellon_login'))
|
||||||
response = app.post(reverse('mellon_login'), params={'SAMLResponse': body, 'RelayState': relay_state})
|
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 'logged in using SAML' in caplog.text
|
||||||
assert urlparse.urlparse(response['Location']).path == '/whatever/'
|
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/'
|
assert urlparse.urlparse(response['Location']).path == '/whatever/'
|
||||||
|
|
||||||
# second session
|
# second session
|
||||||
|
caplog.clear()
|
||||||
app.cookiejar.clear()
|
app.cookiejar.clear()
|
||||||
response = app.get(reverse('mellon_login') + '?next=/whatever/')
|
response = app.get(reverse('mellon_login') + '?next=/whatever/')
|
||||||
url, body, relay_state = idp.process_authn_request_redirect(response['Location'])
|
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 'eo:next_url' not in str(idp.request)
|
||||||
assert url.endswith(reverse('mellon_login'))
|
assert url.endswith(reverse('mellon_login'))
|
||||||
response = app.post(reverse('mellon_login'), params={'SAMLResponse': body, 'RelayState': relay_state})
|
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 'logged in using SAML' in caplog.text
|
||||||
assert urlparse.urlparse(response['Location']).path == '/whatever/'
|
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/'
|
assert urlparse.urlparse(response['Location']).path == '/whatever/'
|
||||||
|
|
||||||
# second session
|
# second session
|
||||||
|
caplog.clear()
|
||||||
app.cookiejar.clear()
|
app.cookiejar.clear()
|
||||||
response = app.get(reverse('mellon_login') + '?next=/whatever/')
|
response = app.get(reverse('mellon_login') + '?next=/whatever/')
|
||||||
url, body, relay_state = idp.process_authn_request_redirect(response['Location'])
|
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 'eo:next_url' not in str(idp.request)
|
||||||
assert url.endswith(reverse('mellon_login'))
|
assert url.endswith(reverse('mellon_login'))
|
||||||
response = app.post(reverse('mellon_login'), params={'SAMLResponse': body, 'RelayState': relay_state})
|
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 'logged in using SAML' in caplog.text
|
||||||
assert urlparse.urlparse(response['Location']).path == '/whatever/'
|
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
|
assert app.session
|
||||||
del app.session['_auth_user_id']
|
del app.session['_auth_user_id']
|
||||||
assert 'dead artifact' not in caplog.text
|
assert 'dead artifact' not in caplog.text
|
||||||
|
|
||||||
|
caplog.clear()
|
||||||
with HTTMock(idp.mock_artifact_resolver()):
|
with HTTMock(idp.mock_artifact_resolver()):
|
||||||
response = app.get(acs_artifact_url, params={'RelayState': relay_state})
|
response = app.get(acs_artifact_url, params={'RelayState': relay_state})
|
||||||
# verify retry login was asked
|
# 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()
|
response = response.follow()
|
||||||
url, body, relay_state = idp.process_authn_request_redirect(response['Location'])
|
url, body, relay_state = idp.process_authn_request_redirect(response['Location'])
|
||||||
assert relay_state
|
assert relay_state
|
||||||
reset_caplog(caplog)
|
|
||||||
# verify caplog has been cleaned
|
# verify caplog has been cleaned
|
||||||
|
caplog.clear()
|
||||||
assert 'created new user' not in caplog.text
|
assert 'created new user' not in caplog.text
|
||||||
assert body is None
|
assert body is None
|
||||||
assert reverse('mellon_login') in url
|
assert reverse('mellon_login') in url
|
||||||
assert 'SAMLart' in url
|
assert 'SAMLart' in url
|
||||||
acs_artifact_url = url.split('testserver', 1)[1]
|
acs_artifact_url = url.split('testserver', 1)[1]
|
||||||
|
|
||||||
|
caplog.clear()
|
||||||
with HTTMock(idp.mock_artifact_resolver()):
|
with HTTMock(idp.mock_artifact_resolver()):
|
||||||
response = app.get(acs_artifact_url, params={'RelayState': relay_state})
|
response = app.get(acs_artifact_url, params={'RelayState': relay_state})
|
||||||
assert 'created new user' not in caplog.text
|
assert 'created new user' not in caplog.text
|
||||||
|
|
|
@ -29,8 +29,3 @@ def html_response(url, request):
|
||||||
@all_requests
|
@all_requests
|
||||||
def metadata_response(url, request):
|
def metadata_response(url, request):
|
||||||
return response(200, content=open('tests/metadata.xml').read())
|
return response(200, content=open('tests/metadata.xml').read())
|
||||||
|
|
||||||
|
|
||||||
def reset_caplog(cap):
|
|
||||||
cap.handler.stream.truncate(0)
|
|
||||||
cap.handler.records = []
|
|
||||||
|
|
Loading…
Reference in New Issue