Esempio n. 1
0
    def test_save_token(self):
        data = {
            "client_id": "myclient",
            "token": "xyz",
            "data": {
                "name": "test"
            },
            "scopes": ["foo_read", "foo_write"],
            "expires_at": None,
            "refresh_token": "mno",
            "refresh_expires_at": None,
            "grant_type": "authorization_code",
            "user_id": 123
        }

        access_token = AccessToken(**data)

        cache_key = self._generate_test_cache_key(access_token.token)
        refresh_token_key = self._generate_test_cache_key(
            access_token.refresh_token)
        unique_token_key = self._generate_test_cache_key("{0}_{1}_{2}".format(
            access_token.client_id, access_token.grant_type,
            access_token.user_id))

        mc_mock = Mock(spec=["set"])

        store = TokenStore(mc=mc_mock, prefix=self.cache_prefix)

        store.save_token(access_token)

        mc_mock.set.assert_has_calls([
            call(cache_key, data),
            call(unique_token_key, data),
            call(refresh_token_key, data)
        ])
Esempio n. 2
0
    def test_save_token(self):
        data = {"client_id": "myclient", "token": "xyz",
                "data": {"name": "test"}, "scopes": ["foo_read", "foo_write"],
                "expires_at": None, "refresh_token": "mno",
                "grant_type": "authorization_code",
                "user_id": 123}

        access_token = AccessToken(**data)

        cache_key = self._generate_test_cache_key(access_token.token)
        refresh_token_key = self._generate_test_cache_key(access_token.refresh_token)
        unique_token_key = self._generate_test_cache_key(
            "{0}_{1}_{2}".format(access_token.client_id,
                                 access_token.grant_type,
                                 access_token.user_id)
        )

        mc_mock = Mock(spec=["set"])

        store = TokenStore(mc=mc_mock, prefix=self.cache_prefix)

        store.save_token(access_token)

        mc_mock.set.assert_has_calls([call(cache_key, data),
                                      call(unique_token_key, data),
                                      call(refresh_token_key, data)])
Esempio n. 3
0
    def test_fetch_by_code(self):
        code = "abc"
        saved_data = {
            "client_id": "myclient",
            "code": code,
            "expires_at": 100,
            "redirect_uri": "http://localhost",
            "scopes": ["foo_read", "foo_write"],
            "data": {
                "name": "test"
            }
        }

        mc_mock = Mock(spec=["get"])
        mc_mock.get.return_value = saved_data

        store = TokenStore(mc=mc_mock, prefix=self.cache_prefix)

        auth_code = store.fetch_by_code(code)

        mc_mock.get.assert_called_with(self._generate_test_cache_key(code))
        self.assertEqual(auth_code.client_id, saved_data["client_id"])
        self.assertEqual(auth_code.code, saved_data["code"])
        self.assertEqual(auth_code.expires_at, saved_data["expires_at"])
        self.assertEqual(auth_code.redirect_uri, saved_data["redirect_uri"])
        self.assertEqual(auth_code.scopes, saved_data["scopes"])
        self.assertEqual(auth_code.data, saved_data["data"])
Esempio n. 4
0
    def test_fetch_by_code_no_data(self):
        mc_mock = Mock(spec=["get"])
        mc_mock.get.return_value = None

        store = TokenStore(mc=mc_mock, prefix=self.cache_prefix)

        with self.assertRaises(AuthCodeNotFound):
            store.fetch_by_code("abc")
Esempio n. 5
0
    def test_fetch_by_code_no_data(self):
        mc_mock = Mock(spec=["get"])
        mc_mock.get.return_value = None

        store = TokenStore(mc=mc_mock, prefix=self.cache_prefix)

        with self.assertRaises(AuthCodeNotFound):
            store.fetch_by_code("abc")
Esempio n. 6
0
    def test_fetch_existing_token_of_user_no_data(self):
        mc_mock = Mock(spec=["get"])
        mc_mock.get.return_value = None

        store = TokenStore(mc=mc_mock, prefix=self.cache_prefix)

        with self.assertRaises(AccessTokenNotFound):
            store.fetch_existing_token_of_user(client_id="myclient",
                                               grant_type="authorization_code",
                                               user_id=123)
Esempio n. 7
0
    def test_fetch_existing_token_of_user_no_data(self):
        mc_mock = Mock(spec=["get"])
        mc_mock.get.return_value = None

        store = TokenStore(mc=mc_mock, prefix=self.cache_prefix)

        with self.assertRaises(AccessTokenNotFound):
            store.fetch_existing_token_of_user(client_id="myclient",
                                               grant_type="authorization_code",
                                               user_id=123)
Esempio n. 8
0
    def test_save_code(self):
        data = {"client_id": "myclient", "code": "abc", "expires_at": 100,
                 "redirect_uri": "http://localhost",
                 "scopes": ["foo_read", "foo_write"],
                 "data": {"name": "test"}, "user_id": 1}

        auth_code = AuthorizationCode(**data)

        cache_key = self._generate_test_cache_key(data["code"])

        mc_mock = Mock(spec=["set"])

        store = TokenStore(mc=mc_mock, prefix=self.cache_prefix)

        store.save_code(auth_code)

        mc_mock.set.assert_called_with(cache_key, data)
Esempio n. 9
0
    def test_fetch_existing_token_of_user(self):
        data = {"client_id": "myclient", "token": "xyz",
                "data": {"name": "test"}, "scopes": ["foo_read", "foo_write"],
                "expires_at": None, "refresh_token": "mno",
                "grant_type": "authorization_code",
                "user_id": 123}

        mc_mock = Mock(spec=["get"])
        mc_mock.get.return_value = data

        store = TokenStore(mc=mc_mock, prefix=self.cache_prefix)

        access_token = store.fetch_existing_token_of_user(
            client_id="myclient",
            grant_type="authorization_code",
            user_id=123)

        self.assertTrue(isinstance(access_token, AccessToken))
Esempio n. 10
0
    def test_fetch_by_code(self):
        code = "abc"
        saved_data = {"client_id": "myclient", "code": code,
                      "expires_at": 100, "redirect_uri": "http://localhost",
                      "scopes": ["foo_read", "foo_write"],
                      "data": {"name": "test"}}

        mc_mock = Mock(spec=["get"])
        mc_mock.get.return_value = saved_data

        store = TokenStore(mc=mc_mock, prefix=self.cache_prefix)

        auth_code = store.fetch_by_code(code)

        mc_mock.get.assert_called_with(self._generate_test_cache_key(code))
        self.assertEqual(auth_code.client_id, saved_data["client_id"])
        self.assertEqual(auth_code.code, saved_data["code"])
        self.assertEqual(auth_code.expires_at, saved_data["expires_at"])
        self.assertEqual(auth_code.redirect_uri, saved_data["redirect_uri"])
        self.assertEqual(auth_code.scopes, saved_data["scopes"])
        self.assertEqual(auth_code.data, saved_data["data"])
Esempio n. 11
0
    def test_fetch_existing_token_of_user(self):
        data = {
            "client_id": "myclient",
            "token": "xyz",
            "data": {
                "name": "test"
            },
            "scopes": ["foo_read", "foo_write"],
            "expires_at": None,
            "refresh_token": "mno",
            "grant_type": "authorization_code",
            "user_id": 123
        }

        mc_mock = Mock(spec=["get"])
        mc_mock.get.return_value = data

        store = TokenStore(mc=mc_mock, prefix=self.cache_prefix)

        access_token = store.fetch_existing_token_of_user(
            client_id="myclient", grant_type="authorization_code", user_id=123)

        self.assertTrue(isinstance(access_token, AccessToken))
Esempio n. 12
0
    def test_save_code(self):
        data = {
            "client_id": "myclient",
            "code": "abc",
            "expires_at": 100,
            "redirect_uri": "http://localhost",
            "scopes": ["foo_read", "foo_write"],
            "data": {
                "name": "test"
            },
            "user_id": 1
        }

        auth_code = AuthorizationCode(**data)

        cache_key = self._generate_test_cache_key(data["code"])

        mc_mock = Mock(spec=["set"])

        store = TokenStore(mc=mc_mock, prefix=self.cache_prefix)

        store.save_code(auth_code)

        mc_mock.set.assert_called_with(cache_key, data)