Example #1
0
def test__obtain_rapt_unsupported_status():
    challenges_response = copy.deepcopy(CHALLENGES_RESPONSE_TEMPLATE)
    challenges_response["status"] = "STATUS_UNSPECIFIED"
    with mock.patch("google.oauth2.reauth._get_challenges",
                    return_value=challenges_response):
        with pytest.raises(exceptions.ReauthFailError) as excinfo:
            reauth._obtain_rapt(MOCK_REQUEST, "token", None)
        assert excinfo.match(r"API error: STATUS_UNSPECIFIED")
Example #2
0
def test__obtain_rapt_not_authenticated():
    with mock.patch(
            "google.oauth2.reauth._get_challenges",
            return_value=CHALLENGES_RESPONSE_TEMPLATE,
    ):
        with mock.patch("google.oauth2.reauth.RUN_CHALLENGE_RETRY_LIMIT", 0):
            with pytest.raises(exceptions.ReauthFailError) as excinfo:
                reauth._obtain_rapt(MOCK_REQUEST, "token", None)
            assert excinfo.match(r"Reauthentication failed")
Example #3
0
def test__obtain_rapt_not_interactive():
    with mock.patch(
            "google.oauth2.reauth._get_challenges",
            return_value=CHALLENGES_RESPONSE_TEMPLATE,
    ):
        with mock.patch("google.oauth2.reauth.is_interactive",
                        return_value=False):
            with pytest.raises(exceptions.ReauthFailError) as excinfo:
                reauth._obtain_rapt(MOCK_REQUEST, "token", None)
            assert excinfo.match(r"not in an interactive session")
Example #4
0
def test__obtain_rapt_authenticated():
    with mock.patch(
            "google.oauth2.reauth._get_challenges",
            return_value=CHALLENGES_RESPONSE_AUTHENTICATED,
    ):
        assert reauth._obtain_rapt(MOCK_REQUEST, "token",
                                   None) == "new_rapt_token"
Example #5
0
def test__obtain_rapt_authenticated_after_run_next_challenge():
    with mock.patch(
            "google.oauth2.reauth._get_challenges",
            return_value=CHALLENGES_RESPONSE_TEMPLATE,
    ):
        with mock.patch(
                "google.oauth2.reauth._run_next_challenge",
                side_effect=[
                    CHALLENGES_RESPONSE_TEMPLATE,
                    CHALLENGES_RESPONSE_AUTHENTICATED,
                ],
        ):
            with mock.patch("google.oauth2.reauth.is_interactive",
                            return_value=True):
                assert (reauth._obtain_rapt(MOCK_REQUEST, "token",
                                            None) == "new_rapt_token")