Exemplo 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")
Exemplo 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')
Exemplo 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])
Exemplo 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])
Exemplo 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')
Exemplo 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")
Exemplo 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)
Exemplo 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")
Exemplo 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')
Exemplo 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')
Exemplo 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')
Exemplo 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")
Exemplo 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")
Exemplo 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")
Exemplo 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")
Exemplo 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")