def test_delete_db_ndb_mixed(self): # Start empty storage_ndb = StorageByKeyName( CredentialsNDBModel, 'foo', 'credentials') storage = StorageByKeyName( CredentialsModel, 'foo', 'credentials') # First DB, then NDB self.assertEqual(None, storage.get()) storage.put(self.credentials) self.assertNotEqual(None, storage.get()) storage_ndb.delete() self.assertEqual(None, storage.get()) # First NDB, then DB self.assertEqual(None, storage_ndb.get()) storage_ndb.put(self.credentials) storage.delete() self.assertNotEqual(None, storage_ndb.get()) # NDB uses memcache and an instance cache (Context) ndb.get_context().clear_cache() memcache.flush_all() self.assertEqual(None, storage_ndb.get())
def test_delete_db_ndb_mixed(self): # Start empty storage_ndb = StorageByKeyName( CredentialsNDBModel, 'foo', 'credentials') storage = StorageByKeyName( CredentialsModel, 'foo', 'credentials') # First DB, then NDB self.assertEqual(None, storage.get()) storage.put(self.credentials) self.assertNotEqual(None, storage.get()) storage_ndb.delete() self.assertEqual(None, storage.get()) # First NDB, then DB self.assertEqual(None, storage_ndb.get()) storage_ndb.put(self.credentials) storage.delete() self.assertNotEqual(None, storage_ndb.get()) # NDB uses memcache and an instance cache (Context) ndb.get_context().clear_cache() memcache.flush_all() self.assertEqual(None, storage_ndb.get())
def test_get_and_put_cached(self): storage = StorageByKeyName(CredentialsModel, 'foo', 'credentials', cache=memcache) self.assertEqual(None, storage.get()) self.credentials.set_store(storage) self.credentials._refresh(_http_request) credmodel = CredentialsModel.get_by_key_name('foo') self.assertEqual('bar', credmodel.credentials.access_token) # Now remove the item from the cache. memcache.delete('foo') # Check that getting refreshes the cache. credentials = storage.get() self.assertEqual('bar', credentials.access_token) self.assertNotEqual(None, memcache.get('foo')) # Deleting should clear the cache. storage.delete() credentials = storage.get() self.assertEqual(None, credentials) self.assertEqual(None, memcache.get('foo'))
def test_delete_ndb(self): # Start empty storage = StorageByKeyName(CredentialsNDBModel, "foo", "credentials") self.assertEqual(None, storage.get()) # Add credentials to model with storage, and check equivalent w/o storage storage.put(self.credentials) credmodel = CredentialsNDBModel.get_by_id("foo") self.assertEqual(credmodel.credentials.to_json(), self.credentials.to_json()) # Delete and make sure empty storage.delete() self.assertEqual(None, storage.get())
def test_delete_ndb(self): # Start empty storage = StorageByKeyName(CredentialsNDBModel, 'foo', 'credentials') self.assertEqual(None, storage.get()) # Add credentials to model with storage, and check equivalent w/o storage storage.put(self.credentials) credmodel = CredentialsNDBModel.get_by_id('foo') self.assertEqual(credmodel.credentials.to_json(), self.credentials.to_json()) # Delete and make sure empty storage.delete() self.assertEqual(None, storage.get())
def _refresh_oauth2_token(credentials, userid): """ This updates the token via the OAuth2Credentials code and modifies the httplib2.Http.request stuff. We store the updated credentials for later. """ from oauth2client.client import AccessTokenRefreshError http = httplib2.Http() http = credentials.authorize(http) storage = StorageByKeyName(CredentialsNDBModel, userid, "credentials") try: credentials.refresh(http) except AccessTokenRefreshError: logging.info("AccessTokenRefreshError: lets delete the creds.") storage.delete() return storage.put(credentials) return credentials
def test_get_and_put_cached(self): storage = StorageByKeyName(CredentialsModel, "foo", "credentials", cache=memcache) self.assertEqual(None, storage.get()) self.credentials.set_store(storage) self.credentials._refresh(_http_request) credmodel = CredentialsModel.get_by_key_name("foo") self.assertEqual("bar", credmodel.credentials.access_token) # Now remove the item from the cache. memcache.delete("foo") # Check that getting refreshes the cache. credentials = storage.get() self.assertEqual("bar", credentials.access_token) self.assertNotEqual(None, memcache.get("foo")) # Deleting should clear the cache. storage.delete() credentials = storage.get() self.assertEqual(None, credentials) self.assertEqual(None, memcache.get("foo"))
def _delete_access_token(): """Delete access token from storage""" storage = StorageByKeyName(CredentialsModel, 'token', 'credentials') storage.delete()
def delete_user(cls, user_id): storage = StorageByKeyName(CredentialsModel, user_id, "credentials") storage.delete() user = cls.get_user_from_id(user_id) logging.debug("Deleting user: %s", user.google_display_email) user.key.delete()