Пример #1
0
 def test_update_from_dict_empty(self):
     dic = {}
     store = TokenStore()
     store.update_from_dict(dic)
     self.assertIsNone(store.access_token)
     self.assertIsNone(store.refresh_token)
     self.assertIsNone(store._timestamp)
Пример #2
0
 def test_update_from_dict_no_ts(self):
     dic = {
         _ACCESS_TOKEN: 'a',
         _REFRESH_TOKEN: 'b',
     }
     store = TokenStore()
     store.update_from_dict(dic)
     self.assertEqual('a', store.access_token)
     self.assertEqual('b', store.refresh_token)
     self.assertIsNone(store._timestamp)
Пример #3
0
 def test_update_from_dict(self):
     ts = datetime.datetime.utcnow()
     dic = {
         _ACCESS_TOKEN: 'a',
         _REFRESH_TOKEN: 'b',
         _KEY_TIMESTAMP: ts,
     }
     store = TokenStore()
     store.update_from_dict(dic)
     self.assertEqual('a', store.access_token)
     self.assertEqual('b', store.refresh_token)
     self.assertEqual(ts, store._timestamp)
Пример #4
0
 def test_from_dict_ok(self):
     timestamp = datetime.datetime.utcnow()
     ts = TokenStore.from_dict({
         _ACCESS_TOKEN: 'a',
         _REFRESH_TOKEN: 'b',
         _KEY_TIMESTAMP: timestamp
     })
     self.assertEqual('a', ts.access_token)
     self.assertEqual('b', ts.refresh_token)
     self.assertEqual(timestamp, ts._timestamp)
    def test_refresh_token_unknown_exception(self):
        class MyAllegroAuth(AuthorizationCodeAuth):
            def fetch_token(self) -> None:
                raise NotImplementedError()

        with patch.object(OAuth2Session,
                          'refresh_token',
                          side_effect=Exception('UNKNOWN')):
            tested = MyAllegroAuth(
                ClientCodeStore('client_id', 'client_secret'), TokenStore(),
                'redirect_uri')

            self.assertRaises(Exception, tested.refresh_token)
    def test_refresh_token(self):
        class MyAllegroAuth(AuthorizationCodeAuth):
            def fetch_token(self) -> None:
                raise TokenError()

        with patch.object(
                OAuth2Session,
                'refresh_token',
                side_effect=CustomOAuth2Error(
                    error='invalid_token',
                    description='Invalid refresh token: [SENSITIVE DATA]')):
            under_test = MyAllegroAuth(
                ClientCodeStore('client_id', 'client_secret'), TokenStore(),
                'redirect_uri')

            try:
                under_test.refresh_token()
            except TokenError:
                buf = StringIO()
                with contextlib.redirect_stderr(buf):
                    sys.excepthook(*sys.exc_info())
                self.assertNotIn('[SENSITIVE DATA]', buf.getvalue())
            else:
                self.fail()
Пример #7
0
 def test_update_from_dict_none(self):
     store = TokenStore()
     self.assertRaises(AttributeError, lambda: store.update_from_dict(None))
Пример #8
0
 def test_init(self):
     ts = TokenStore('a', 'b')
     self.assertEqual('a', ts.access_token)
     self.assertEqual('b', ts.refresh_token)
Пример #9
0
 def test_from_dict_empty(self):
     ts = TokenStore.from_dict({})
     self.assertIsNone(ts.access_token)
     self.assertIsNone(ts.refresh_token)
Пример #10
0
 def test_from_dict_invalid(self):
     ts = TokenStore.from_dict({'invalid_key': 'value'})
     self.assertIsNone(ts.access_token)
     self.assertIsNone(ts.refresh_token)
Пример #11
0
 def test_from_dict_ok(self):
     ts = TokenStore.from_dict({'access_token': 'a', 'refresh_token': 'b'})
     self.assertEqual('a', ts.access_token)
     self.assertEqual('b', ts.refresh_token)
Пример #12
0
 def test_from_dict_None(self):
     with self.assertRaises(ValueError):
         TokenStore.from_dict(None)
Пример #13
0
 def test_set_refresh_token_updates_ts(self):
     ts = TokenStore()
     ts.refresh_token = 'a'
     self.assertIsNotNone(ts._timestamp)
Пример #14
0
 def test_to_dict_empty(self):
     ts = TokenStore()
     self.assertDictEqual({}, ts.to_dict())
Пример #15
0
 def test_init(self):
     timestamp = datetime.datetime.utcnow()
     ts = TokenStore('a', 'b', timestamp)
     self.assertEqual('a', ts.access_token)
     self.assertEqual('b', ts.refresh_token)
     self.assertEqual(timestamp, ts._timestamp)
Пример #16
0
 def test_to_dict_access_tkn(self):
     ts = TokenStore()
     ts.access_token = 'a'
     dic = ts.to_dict()
     self.assertEqual('a', dic.get(_ACCESS_TOKEN))
     self.assertIn(_KEY_TIMESTAMP, dic.keys())
Пример #17
0
 def test_to_dict_refresh_tkn(self):
     ts = TokenStore()
     ts.refresh_token = 'a'
     dic = ts.to_dict()
     self.assertEqual('a', dic.get(_REFRESH_TOKEN))
     self.assertIn(_KEY_TIMESTAMP, dic.keys())