Exemplo n.º 1
0
    def test_authorization_raises_exception_if_user_is_not_valid(self):
        "Should raise an Unauthorized exception if is_valid_user function returns False"
        is_valid_mock = mock.MagicMock(return_value=False)

        builder = EnvironBuilder()
        request = Request(builder.get_environ())
        request.authorization = {'username': '******', 'password': '******'}
        with self.assertRaises(Unauthorized):
            BasicAuth(is_valid_user=is_valid_mock).authenticate(request)

        is_valid_mock.assert_called_once_with('john', 'xxx')
Exemplo n.º 2
0
    def test_authorization_raises_exception_if_authorization_is_not_set(self):
        "Should raise an exception and the is_valid_user function should never be invoked"
        is_valid_mock = mock.MagicMock(return_value=False)

        builder = EnvironBuilder()
        request = Request(builder.get_environ())
        request.authorization = None
        with self.assertRaises(Unauthorized):
            BasicAuth(is_valid_user=is_valid_mock).authenticate(request)

        self.assertEqual(is_valid_mock.call_count, 0)
    def test_authorization_raises_exception_if_authorization_is_not_set(self):
        "Should raise an exception and the is_valid_user function should never be invoked"
        is_valid_mock = mock.MagicMock(return_value=False)

        builder = EnvironBuilder()
        request = Request(builder.get_environ())
        request.authorization = None
        with self.assertRaises(Unauthorized):
            BasicAuth(is_valid_user=is_valid_mock).authenticate(request)

        self.assertEqual(is_valid_mock.call_count, 0)
    def test_authorization_raises_exception_if_user_is_not_valid(self):
        "Should raise an Unauthorized exception if is_valid_user function returns False"
        is_valid_mock = mock.MagicMock(return_value=False)

        builder = EnvironBuilder()
        request = Request(builder.get_environ())
        request.authorization = {'username': '******', 'password': '******'}
        with self.assertRaises(Unauthorized):
            BasicAuth(is_valid_user=is_valid_mock).authenticate(request)

        is_valid_mock.assert_called_once_with('john', 'xxx')
Exemplo n.º 5
0
    def test_authorization_passes_if_is_valid_user_returns_True(self):
        "Should return None if the user is valid"
        is_valid_mock = mock.MagicMock(return_value=True)

        builder = EnvironBuilder()
        request = Request(builder.get_environ())
        request.authorization = {'username': '******', 'password': '******'}

        result = BasicAuth(is_valid_user=is_valid_mock).authenticate(request)
        self.assertEqual(result, None)

        is_valid_mock.assert_called_once_with('john', 'xxx')
    def test_authorization_passes_if_is_valid_user_returns_True(self):
        "Should return None if the user is valid"
        is_valid_mock = mock.MagicMock(return_value=True)

        builder = EnvironBuilder()
        request = Request(builder.get_environ())
        request.authorization = {'username': '******', 'password': '******'}

        result = BasicAuth(is_valid_user=is_valid_mock).authenticate(request)
        self.assertEqual(result, None)

        is_valid_mock.assert_called_once_with('john', 'xxx')
Exemplo n.º 7
0
    def test_valid_authentication(self):
        is_valid_mock = mock.MagicMock(return_value=True)

        builder = EnvironBuilder()
        request = Request(builder.get_environ())
        request.authorization = {'username': '******', 'password': '******'}

        dummy = DummyAuthentication(valid_auth=True)
        dummy_auth_mock = mock.MagicMock(return_value=True)
        dummy.authenticate = dummy_auth_mock
        auth = And(BasicAuth(is_valid_user=is_valid_mock), dummy)

        result = auth.authenticate(request)
        self.assertEqual(result, None)

        is_valid_mock.assert_called_once_with('john', 'xxx')
        dummy_auth_mock.assert_called_once_with(request)
Exemplo n.º 8
0
    def test_not_valid_authentication_second_auth_not_invoked(self):
        "Should raise an Unthorized exception and avoid invoking other auth strategies"
        is_valid_mock = mock.MagicMock(return_value=False)

        builder = EnvironBuilder()
        request = Request(builder.get_environ())
        request.authorization = {'username': '******', 'password': '******'}

        dummy = DummyAuthentication(valid_auth=True)
        dummy_auth_mock = mock.MagicMock(return_value=True)
        dummy.authenticate = dummy_auth_mock
        auth = And(BasicAuth(is_valid_user=is_valid_mock), dummy)

        with self.assertRaises(Unauthorized):
            auth.authenticate(request)

        is_valid_mock.assert_called_once_with('john', 'xxx')
        self.assertEqual(dummy_auth_mock.call_count, 0)
    def test_valid_authentication(self):
        is_valid_mock = mock.MagicMock(return_value=True)

        builder = EnvironBuilder()
        request = Request(builder.get_environ())
        request.authorization = {'username': '******', 'password': '******'}

        dummy = DummyAuthentication(valid_auth=True)
        dummy_auth_mock = mock.MagicMock(return_value=True)
        dummy.authenticate = dummy_auth_mock
        auth = And(
            BasicAuth(is_valid_user=is_valid_mock),
            dummy
        )

        result = auth.authenticate(request)
        self.assertEqual(result, None)

        is_valid_mock.assert_called_once_with('john', 'xxx')
        dummy_auth_mock.assert_called_once_with(request)
    def test_not_valid_authentication_second_auth_not_invoked(self):
        "Should raise an Unthorized exception and avoid invoking other auth strategies"
        is_valid_mock = mock.MagicMock(return_value=False)

        builder = EnvironBuilder()
        request = Request(builder.get_environ())
        request.authorization = {'username': '******', 'password': '******'}

        dummy = DummyAuthentication(valid_auth=True)
        dummy_auth_mock = mock.MagicMock(return_value=True)
        dummy.authenticate = dummy_auth_mock
        auth = And(
            BasicAuth(is_valid_user=is_valid_mock),
            dummy
        )

        with self.assertRaises(Unauthorized):
            auth.authenticate(request)

        is_valid_mock.assert_called_once_with('john', 'xxx')
        self.assertEqual(dummy_auth_mock.call_count, 0)