mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-15 09:07:02 +02:00
Fix unit test
This commit is contained in:
parent
c779255b28
commit
c0a0e07530
3 changed files with 16 additions and 15 deletions
|
@ -137,8 +137,8 @@ class Client(oic.Client):
|
||||||
def _set_args_for_biometric_auth_request(self, session, request_args):
|
def _set_args_for_biometric_auth_request(self, session, request_args):
|
||||||
if "acr_value" in session:
|
if "acr_value" in session:
|
||||||
session.pop("acr_value")
|
session.pop("acr_value")
|
||||||
request_args["vtr"] = self.get_vtr_value()
|
request_args["vtr"] = session.get("vtr")
|
||||||
request_args["vtm"] = self.get_vtm_value()
|
request_args["vtm"] = session.get("vtm")
|
||||||
|
|
||||||
def _prepare_authn_request(self, request_args, state):
|
def _prepare_authn_request(self, request_args, state):
|
||||||
"""
|
"""
|
||||||
|
@ -247,12 +247,6 @@ class Client(oic.Client):
|
||||||
raise o_e.AuthenticationFailed(locator=state)
|
raise o_e.AuthenticationFailed(locator=state)
|
||||||
info_response_dict = info_response.to_dict()
|
info_response_dict = info_response.to_dict()
|
||||||
|
|
||||||
# Define vtm/vtr information on the user dictionary so we can track this in one location.
|
|
||||||
# If a user has this information, then they are bumped up in terms of verification level.
|
|
||||||
if session.get("needs_biometric_validation") is True:
|
|
||||||
info_response_dict["vtm"] = session.get("vtm", "")
|
|
||||||
info_response_dict["vtr"] = session.get("vtr", "")
|
|
||||||
|
|
||||||
logger.debug("user info: %s" % info_response_dict)
|
logger.debug("user info: %s" % info_response_dict)
|
||||||
return info_response_dict
|
return info_response_dict
|
||||||
|
|
||||||
|
|
|
@ -406,15 +406,21 @@ class ViewsTest(TestCase):
|
||||||
with patch("djangooidc.views._requires_step_up_auth", return_value=True), patch(
|
with patch("djangooidc.views._requires_step_up_auth", return_value=True), patch(
|
||||||
"djangooidc.views.CLIENT.create_authn_request"
|
"djangooidc.views.CLIENT.create_authn_request"
|
||||||
) as mock_create_authn_request:
|
) as mock_create_authn_request:
|
||||||
# TEST
|
with patch("djangooidc.views.CLIENT.get_vtm_value") as mock_get_vtm_value, patch(
|
||||||
# test the login callback
|
"djangooidc.views.CLIENT.get_vtr_value"
|
||||||
login_callback(request)
|
) as mock_get_vtr_value:
|
||||||
|
mock_get_vtm_value.return_value = "test_vtm"
|
||||||
|
mock_get_vtr_value.return_value = "test_vtr"
|
||||||
|
# TEST
|
||||||
|
# test the login callback
|
||||||
|
login_callback(request)
|
||||||
|
|
||||||
# ASSERTIONS
|
# ASSERTIONS
|
||||||
# create_authn_request only gets called when _requires_step_up_auth is True.
|
# create_authn_request only gets called when _requires_step_up_auth is True.
|
||||||
# The acr_value should be blank here
|
# The acr_value should be blank here
|
||||||
self.assertEqual(request.session["acr_value"], "")
|
self.assertEqual(request.session["acr_value"], "")
|
||||||
self.assertEqual(request.session["needs_biometric_validation"], True)
|
self.assertEqual(request.session["vtm"], "test_vtm")
|
||||||
|
self.assertEqual(request.session["vtr"], "test_vtr")
|
||||||
|
|
||||||
# And create_authn_request was called again
|
# And create_authn_request was called again
|
||||||
mock_create_authn_request.assert_called_once()
|
mock_create_authn_request.assert_called_once()
|
||||||
|
|
|
@ -97,11 +97,12 @@ def login_callback(request):
|
||||||
|
|
||||||
# Tests for the presence of the vtm/vtr values in the userinfo object.
|
# Tests for the presence of the vtm/vtr values in the userinfo object.
|
||||||
# If they are there, then we can set a flag in our session for tracking purposes.
|
# If they are there, then we can set a flag in our session for tracking purposes.
|
||||||
needs_biometric_validation = _requires_step_up_auth(userinfo)
|
needs_step_up_auth = _requires_step_up_auth(userinfo)
|
||||||
request.session["needs_biometric_validation"] = needs_biometric_validation
|
|
||||||
|
|
||||||
# Return a redirect request to a new auth url that does biometric validation
|
# Return a redirect request to a new auth url that does biometric validation
|
||||||
if needs_biometric_validation:
|
if needs_step_up_auth:
|
||||||
|
request.session["vtm"] = CLIENT.get_vtm_value()
|
||||||
|
request.session["vtr"] = CLIENT.get_vtr_value()
|
||||||
return CLIENT.create_authn_request(request.session, do_step_up_auth=True)
|
return CLIENT.create_authn_request(request.session, do_step_up_auth=True)
|
||||||
|
|
||||||
user = authenticate(request=request, **userinfo)
|
user = authenticate(request=request, **userinfo)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue