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_get_and_put_simple(self): storage = StorageByKeyName(CredentialsModel, 'foo', 'credentials') 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)
def test_get_and_put_simple(self): storage = StorageByKeyName( CredentialsModel, 'foo', 'credentials') 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)
def test_get_and_put_mixed_ndb_storage_db_get(self): # Start empty storage = StorageByKeyName(CredentialsNDBModel, 'foo', 'credentials') self.assertEqual(None, storage.get()) # Set NDB store and refresh to add to storage self.credentials.set_store(storage) self.credentials._refresh(_http_request) # Retrieve same key from DB model to confirm mixing works credmodel = CredentialsModel.get_by_key_name('foo') self.assertEqual('bar', credmodel.credentials.access_token) self.assertEqual(self.credentials.to_json(), credmodel.credentials.to_json())
def test_get_and_put_mixed_ndb_storage_db_get(self): # Start empty storage = StorageByKeyName( CredentialsNDBModel, 'foo', 'credentials') self.assertEqual(None, storage.get()) # Set NDB store and refresh to add to storage self.credentials.set_store(storage) self.credentials._refresh(_http_request) # Retrieve same key from DB model to confirm mixing works credmodel = CredentialsModel.get_by_key_name('foo') self.assertEqual('bar', credmodel.credentials.access_token) self.assertEqual(self.credentials.to_json(), credmodel.credentials.to_json())
def create(self, recipient_account): """ Crea un buzón receptor :param recipient_account: Diccionario que representa el buzón receptor. :return: El buzón receptor creado. """ from oauth2client.contrib.appengine import CredentialsModel # Comprobamos que los campos obligatorios están incluidos. if "email" not in recipient_account or not recipient_account["email"]: raise Exception("The account must have an email.") # Creamos la entidad. entity = RecipientAccountDao(**recipient_account) entity.created_by = self._user entity.updated_by = self._user # Comprobamos si el buzón ya ha autorizado el acceso de la aplicación. # En ese caso, lo establecemos como autorizado. entity.is_authorized = CredentialsModel.get_by_key_name(entity.email) is not None entity.put() return entity
def create(self, sender_account): """ Crea un buzón emisor. :param sender_account: Diccionario que representa un buzón emisor. :return: El buzón emisor creado. """ from oauth2client.contrib.appengine import CredentialsModel # Comprobamos que los campos obligatorios están incluidos. if "email" not in sender_account or not sender_account["email"]: raise Exception("The account must have an email.") # Volcamos el contenido de sender_account y actualizamos usuario creador. entity = SenderAccountDao(**sender_account) entity.created_by = self._user entity.updated_by = self._user # Comprobamos si el buzón ya ha autorizado el acceso de la aplicación. # En ese caso, lo establecemos como autorizado. entity.is_authorized = CredentialsModel.get_by_key_name(entity.email) is not None entity.put() return entity
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'))