misc: allow all views to receive template_base/context_hook kwargs (#38610)
This commit is contained in:
parent
fcb38fbf83
commit
7802e85d52
|
@ -495,7 +495,7 @@ login = transaction.non_atomic_requests(csrf_exempt(LoginView.as_view()))
|
|||
|
||||
|
||||
class LogoutView(ProfileMixin, LogMixin, View):
|
||||
def get(self, request):
|
||||
def get(self, request, *args, **kwargs):
|
||||
if 'SAMLRequest' in request.GET:
|
||||
return self.idp_logout(request)
|
||||
elif 'SAMLResponse' in request.GET:
|
||||
|
@ -581,6 +581,6 @@ class LogoutView(ProfileMixin, LogMixin, View):
|
|||
logout = LogoutView.as_view()
|
||||
|
||||
|
||||
def metadata(request):
|
||||
def metadata(request, **kwargs):
|
||||
metadata = utils.create_metadata(request)
|
||||
return HttpResponse(metadata, content_type='text/xml')
|
||||
|
|
|
@ -192,6 +192,8 @@ def test_sso_slo(db, app, idp, caplog, sp_settings):
|
|||
assert 'created new user' in caplog.text
|
||||
assert 'logged in using SAML' in caplog.text
|
||||
assert urlparse.urlparse(response['Location']).path == '/whatever/'
|
||||
response = app.get(reverse('mellon_logout'))
|
||||
assert urlparse.urlparse(response['Location']).path == '/singleLogout'
|
||||
|
||||
|
||||
def test_sso(db, app, idp, caplog, sp_settings):
|
||||
|
@ -224,6 +226,7 @@ def test_sso_request_denied(db, app, idp, caplog, sp_settings):
|
|||
|
||||
@pytest.mark.urls('urls_tests_template_base')
|
||||
def test_template_base(db, app, idp, caplog, sp_settings):
|
||||
response = app.get(reverse('mellon_metadata'))
|
||||
response = app.get(reverse('mellon_login'))
|
||||
url, body, relay_state = idp.process_authn_request_redirect(
|
||||
response['Location'],
|
||||
|
@ -232,9 +235,16 @@ def test_template_base(db, app, idp, caplog, sp_settings):
|
|||
response = app.post(reverse('mellon_login'), params={'SAMLResponse': body, 'RelayState': relay_state})
|
||||
assert 'Theme is ok' in response.text
|
||||
|
||||
response = app.get(reverse('mellon_login'))
|
||||
url, body, relay_state = idp.process_authn_request_redirect(response['Location'])
|
||||
response = app.post(reverse('mellon_login'), params={'SAMLResponse': body, 'RelayState': relay_state})
|
||||
response = app.get(reverse('mellon_logout'))
|
||||
assert urlparse.urlparse(response['Location']).path == '/singleLogout'
|
||||
|
||||
|
||||
@pytest.mark.urls('urls_tests_template_hook')
|
||||
def test_template_hook(db, app, idp, caplog, sp_settings):
|
||||
response = app.get(reverse('mellon_metadata'))
|
||||
response = app.get(reverse('mellon_login'))
|
||||
url, body, relay_state = idp.process_authn_request_redirect(
|
||||
response['Location'],
|
||||
|
@ -244,6 +254,12 @@ def test_template_hook(db, app, idp, caplog, sp_settings):
|
|||
assert 'Theme is ok' in response.text
|
||||
assert 'HOOK' in response.text
|
||||
|
||||
response = app.get(reverse('mellon_login'))
|
||||
url, body, relay_state = idp.process_authn_request_redirect(response['Location'])
|
||||
response = app.post(reverse('mellon_login'), params={'SAMLResponse': body, 'RelayState': relay_state})
|
||||
response = app.get(reverse('mellon_logout'))
|
||||
assert urlparse.urlparse(response['Location']).path == '/singleLogout'
|
||||
|
||||
|
||||
def test_no_template_base(db, app, idp, caplog, sp_settings):
|
||||
response = app.get(reverse('mellon_login'))
|
||||
|
|
Loading…
Reference in New Issue