示例#1
0
    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'))
示例#2
0
    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)
示例#3
0
    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)
示例#4
0
    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())
示例#5
0
    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())
示例#6
0
    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"))
示例#7
0
 def get(self):
     credentials = CredentialsModel.query().fetch
     for credential in credentials:
         logging.info(credential.key.url_safe())
     self.redirect('/')