Esempio n. 1
0
    def test_get_assertion_successful(self):
        okta_saml = OktaSaml("org", "user", "password")
        okta_saml.assertion = mock.MagicMock()
        okta_saml.assertion.return_value = "assertion"
        okta_saml.session = mock.MagicMock()
        okta_saml.session.get.return_value = MockResponse(None, None, "assert")

        ret = okta_saml.get_assertion("foo")

        okta_saml.assertion.assert_has_calls([mock.call("assert")])
        self.assertEqual(ret, "assertion")
Esempio n. 2
0
    def test_get_assertion_successful(self):
        okta_saml = OktaSaml('org', 'user', 'password')
        okta_saml.assertion = mock.MagicMock()
        okta_saml.assertion.return_value = 'assertion'
        okta_saml.session = mock.MagicMock()
        okta_saml.session.get.return_value = MockResponse(None, None, 'assert')

        ret = okta_saml.get_assertion('foo')

        okta_saml.assertion.assert_has_calls([mock.call('assert')])
        self.assertEqual(ret, 'assertion')
Esempio n. 3
0
    def test_get_assertion_missing(self):
        okta_saml = OktaSaml('org', 'user', 'password')
        okta_saml.assertion = mock.MagicMock()
        okta_saml.assertion.return_value = b''
        okta_saml.session = mock.MagicMock()
        okta_saml.session.get.return_value = MockResponse(None, None, 'assert')
        okta_saml.get_okta_error_from_response = mock.MagicMock()

        with self.assertRaises(UnknownError):
            okta_saml.get_assertion('foo')

        okta_saml.get_okta_error_from_response.assert_has_calls([mock.ANY])
Esempio n. 4
0
    def test_get_assertion_missing(self):
        okta_saml = OktaSaml("org", "user", "password")
        okta_saml.assertion = mock.MagicMock()
        okta_saml.assertion.return_value = b""
        okta_saml.session = mock.MagicMock()
        okta_saml.session.get.return_value = MockResponse(None, None, "assert")
        okta_saml.get_okta_error_from_response = mock.MagicMock()

        with self.assertRaises(UnknownError):
            okta_saml.get_assertion("foo")

        okta_saml.get_okta_error_from_response.assert_has_calls([mock.ANY])
Esempio n. 5
0
    def test_get_assertion_500(self):
        okta_saml = OktaSaml('org', 'user', 'password')
        okta_saml.assertion = mock.MagicMock()
        okta_saml.session = mock.MagicMock()
        resp = requests.Response()
        resp.status_code = 500
        resp.url = ''
        okta_saml.session.get.return_value = resp

        with self.assertRaises(UnknownError):
            okta_saml.get_assertion('foo')
Esempio n. 6
0
    def test_get_assertion_500(self):
        okta_saml = OktaSaml("org", "user", "password")
        okta_saml.assertion = mock.MagicMock()
        okta_saml.session = mock.MagicMock()
        resp = requests.Response()
        resp.status_code = 500
        resp.url = ""
        okta_saml.session.get.return_value = resp

        with self.assertRaises(UnknownError):
            okta_saml.get_assertion("foo")
Esempio n. 7
0
    def test_get_assertion_2FA_no_token(self):
        okta_saml = OktaSaml('org', 'user', 'password')
        okta_saml.assertion = mock.MagicMock()
        okta_saml.session = mock.MagicMock()
        resp = MockResponse(None, None, 'assert')
        resp.url = 'https://foo.bar/second-factor?zort=yep'
        okta_saml.session.get.return_value = resp
        okta_saml.get_state_token_from_html = mock.MagicMock()
        okta_saml.get_state_token_from_html.side_effect = AttributeError

        with self.assertRaises(ReauthNeeded) as err:
            okta_saml.get_assertion('foo')

        exc = err.exception
        self.assertEqual(exc.state_token, None)
Esempio n. 8
0
    def test_get_assertion_2FA(self):
        okta_saml = OktaSaml("org", "user", "password")
        okta_saml.assertion = mock.MagicMock()
        okta_saml.session = mock.MagicMock()
        resp = MockResponse(None, None, "assert")
        resp.url = "https://foo.bar/second-factor?zort=yep"
        okta_saml.session.get.return_value = resp
        okta_saml.get_state_token_from_html = mock.MagicMock()
        okta_saml.get_state_token_from_html.return_value = "token"

        with self.assertRaises(ReauthNeeded) as err:
            okta_saml.get_assertion("foo")

        exc = err.exception
        self.assertEqual(exc.state_token, "token")
Esempio n. 9
0
    def test_get_state_token_from_html_format_c(self):
        html = b"\n  var stateToken = \'win\\x2Dning\';\n"
        ret = OktaSaml.get_state_token_from_html(html)

        self.assertEqual(ret, 'win-ning')
Esempio n. 10
0
    def test_get_okta_error_from_response_specific(self):
        okta_saml = OktaSaml('org', 'user', 'password')
        response = MockResponse('', 200, AWS_HTML_ERROR)
        ret = okta_saml.get_okta_error_from_response(response)

        self.assertEqual(ret, 'BAD STUFF')
Esempio n. 11
0
    def test_get_okta_error_from_response(self):
        okta_saml = OktaSaml('org', 'user', 'password')
        response = MockResponse('', 200, 'html')
        ret = okta_saml.get_okta_error_from_response(response)

        self.assertEqual(ret, 'Unknown error')
Esempio n. 12
0
 def test_assertion(self):
     okta_saml = OktaSaml('org', 'user', 'password')
     ret = okta_saml.assertion(EXAMPLE_ASSERTION)
     self.assertEqual(ret, b"H\x03\x0bH\x03\x0bH\x03\x0b")
Esempio n. 13
0
    def test_get_state_token_from_html_format_a(self):
        html = b"\n  var stateToken = 'win';\n"
        ret = OktaSaml.get_state_token_from_html(html)

        self.assertEqual(ret, "win")
Esempio n. 14
0
    def test_get_okta_error_from_response_specific(self):
        okta_saml = OktaSaml("org", "user", "password")
        response = MockResponse("", 200, AWS_HTML_ERROR)
        ret = okta_saml.get_okta_error_from_response(response)

        self.assertEqual(ret, "BAD STUFF")
Esempio n. 15
0
    def test_get_okta_error_from_response(self):
        okta_saml = OktaSaml("org", "user", "password")
        response = MockResponse("", 200, "html")
        ret = okta_saml.get_okta_error_from_response(response)

        self.assertEqual(ret, "Unknown error")
Esempio n. 16
0
 def test_assertion(self):
     okta_saml = OktaSaml("org", "user", "password")
     ret = okta_saml.assertion(EXAMPLE_ASSERTION)
     self.assertEqual(ret, b"H\x03\x0bH\x03\x0bH\x03\x0b")