Exemple #1
0
    def test_get_passcode(self, input_mock):
        totp_factor = factor.TotpFactor('foobar')
        input_mock.return_value = '123456'

        totp_factor._request = mock.MagicMock(name='_request')
        totp_factor._request.side_effect = [
            SUCCESS_RESPONSE,
        ]

        totp_factor.verify('123', 'token', 0.1)
        input_mock.assert_called_with('Time-based one-time passcode: ')
Exemple #2
0
    def test_get_passcode(self, input_mock):
        totp_factor = factor.TotpFactor("foobar")
        input_mock.return_value = "123456"

        totp_factor._request = mock.MagicMock(name="_request")
        totp_factor._request.side_effect = [
            SUCCESS_RESPONSE,
        ]

        totp_factor.verify("123", "token", 0.1)
        input_mock.assert_called_with("Time-based one-time passcode: ")
Exemple #3
0
    def test_totp_success(self):
        totp_factor = factor.TotpFactor('foobar')
        totp_factor.get_passcode = mock.MagicMock(name='get_passcode')
        totp_factor.get_passcode.return_value = '123456'

        totp_factor._request = mock.MagicMock(name='_request')
        totp_factor._request.side_effect = [
            SUCCESS_RESPONSE,
        ]

        ret = totp_factor.verify('123', 'token', 0.1)
        self.assertEqual(ret, SUCCESS_RESPONSE)
Exemple #4
0
    def test_totp_success(self):
        totp_factor = factor.TotpFactor("foobar")
        totp_factor.get_passcode = mock.MagicMock(name="get_passcode")
        totp_factor.get_passcode.return_value = "123456"

        totp_factor._request = mock.MagicMock(name="_request")
        totp_factor._request.side_effect = [
            SUCCESS_RESPONSE,
        ]

        ret = totp_factor.verify("123", "token", 0.1)
        self.assertEqual(ret, SUCCESS_RESPONSE)
Exemple #5
0
    def test_totp_try_again(self):
        totp_factor = factor.TotpFactor('foobar')
        totp_factor.get_passcode = mock.MagicMock(name='get_passcode')
        totp_factor.get_passcode.side_effect = ['123', '123456', '654321']

        totp_factor._request = mock.MagicMock(name='_request')

        resp = requests.Response()
        resp.status_code = 403
        totp_factor._request.side_effect = [
            requests.exceptions.HTTPError(response=resp), SUCCESS_RESPONSE
        ]

        totp_factor.verify('123', 'token', 0.1)
Exemple #6
0
    def test_totp_unknown_failure(self):
        totp_factor = factor.TotpFactor('foobar')
        totp_factor.get_passcode = mock.MagicMock(name='get_passcode')
        totp_factor.get_passcode.return_value = '123456'

        totp_factor._request = mock.MagicMock(name='_request')

        resp = requests.Response()
        resp.status_code = 500
        resp.body = "Internal Server Error"
        totp_factor._request.side_effect = requests.exceptions.HTTPError(
            response=resp)

        with self.assertRaises(requests.exceptions.HTTPError):
            totp_factor.verify('123', 'token', 0.1)
Exemple #7
0
    def test_totp_try_again(self):
        totp_factor = factor.TotpFactor("foobar")
        totp_factor.get_passcode = mock.MagicMock(name="get_passcode")
        totp_factor.get_passcode.side_effect = ["123", "123456", "654321"]

        totp_factor._request = mock.MagicMock(name="_request")

        resp = requests.Response()
        resp.status_code = 403
        totp_factor._request.side_effect = [
            requests.exceptions.HTTPError(response=resp),
            SUCCESS_RESPONSE,
        ]

        totp_factor.verify("123", "token", 0.1)
Exemple #8
0
 def test_totp_name(self):
     totp_factor = factor.TotpFactor('foobar')
     self.assertEqual('token:software:totp', totp_factor.name())
Exemple #9
0
 def test_totp_name(self):
     totp_factor = factor.TotpFactor("foobar")
     self.assertEqual("token:software:totp", totp_factor.name())