本文整理匯總了Python中workflow.workflow.Workflow.cached_data_fresh方法的典型用法代碼示例。如果您正苦於以下問題:Python Workflow.cached_data_fresh方法的具體用法?Python Workflow.cached_data_fresh怎麽用?Python Workflow.cached_data_fresh使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類workflow.workflow.Workflow
的用法示例。
在下文中一共展示了Workflow.cached_data_fresh方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: WorkflowTests
# 需要導入模塊: from workflow.workflow import Workflow [as 別名]
# 或者: from workflow.workflow.Workflow import cached_data_fresh [as 別名]
#.........這裏部分代碼省略.........
def test_cache_expires(self):
"""Cached data expires"""
data = ("hello", "goodbye")
called = {"called": False}
def getdata():
called["called"] = True
return data
d = self.wf.cached_data("test", getdata, max_age=1)
self.assertEqual(d, data)
self.assertTrue(called["called"])
# should be loaded from cache
called["called"] = False
d2 = self.wf.cached_data("test", getdata, max_age=1)
self.assertEqual(d2, data)
self.assertFalse(called["called"])
# cache has expired
time.sleep(1)
# should be loaded from cache (no expiry)
d3 = self.wf.cached_data("test", getdata, max_age=0)
self.assertEqual(d3, data)
self.assertFalse(called["called"])
# should hit data func (cached data older than 1 sec)
d4 = self.wf.cached_data("test", getdata, max_age=1)
self.assertEqual(d4, data)
self.assertTrue(called["called"])
def test_cache_fresh(self):
"""Cached data is fresh"""
data = "This is my data"
d = self.wf.cached_data("test", lambda: data, max_age=1)
self.assertEqual(d, data)
self.assertTrue(self.wf.cached_data_fresh("test", max_age=10))
def test_cache_fresh_non_existent(self):
"""Non-existant cache data is not fresh"""
self.assertEqual(self.wf.cached_data_fresh("popsicle", max_age=10000), False)
def test_keychain(self):
"""Save/get/delete password"""
self.assertRaises(PasswordNotFound, self.wf.delete_password, self.account)
self.assertRaises(PasswordNotFound, self.wf.get_password, self.account)
self.wf.save_password(self.account, self.password)
self.assertEqual(self.wf.get_password(self.account), self.password)
self.assertEqual(self.wf.get_password(self.account, BUNDLE_ID), self.password)
# try to set same password
self.wf.save_password(self.account, self.password)
self.assertEqual(self.wf.get_password(self.account), self.password)
# try to set different password
self.wf.save_password(self.account, self.password2)
self.assertEqual(self.wf.get_password(self.account), self.password2)
# bad call to _call_security
with self.assertRaises(KeychainError):
self.wf._call_security("pants", BUNDLE_ID, self.account)
def test_run_fails(self):
"""Run fails"""
def cb(wf):
self.assertEqual(wf, self.wf)
raise ValueError("Have an error")
self.wf.name # cause info.plist to be parsed
ret = self.wf.run(cb)
self.assertEqual(ret, 1)
示例2: WorkflowTests
# 需要導入模塊: from workflow.workflow import Workflow [as 別名]
# 或者: from workflow.workflow.Workflow import cached_data_fresh [as 別名]
#.........這裏部分代碼省略.........
def test_cache_expires(self):
"""Cached data expires"""
data = ('hello', 'goodbye')
called = {'called': False}
def getdata():
called['called'] = True
return data
d = self.wf.cached_data('test', getdata, max_age=1)
self.assertEqual(d, data)
self.assertTrue(called['called'])
# should be loaded from cache
called['called'] = False
d2 = self.wf.cached_data('test', getdata, max_age=1)
self.assertEqual(d2, data)
self.assertFalse(called['called'])
# cache has expired
time.sleep(1)
# should be loaded from cache (no expiry)
d3 = self.wf.cached_data('test', getdata, max_age=0)
self.assertEqual(d3, data)
self.assertFalse(called['called'])
# should hit data func (cached data older than 1 sec)
d4 = self.wf.cached_data('test', getdata, max_age=1)
self.assertEqual(d4, data)
self.assertTrue(called['called'])
def test_cache_fresh(self):
"""Cached data is fresh"""
data = 'This is my data'
d = self.wf.cached_data('test', lambda: data, max_age=1)
self.assertEqual(d, data)
self.assertTrue(self.wf.cached_data_fresh('test', max_age=10))
def test_cache_fresh_non_existent(self):
"""Non-existent cache data is not fresh"""
self.assertEqual(self.wf.cached_data_fresh('popsicle', max_age=10000),
False)
def test_cache_serializer(self):
"""Cache serializer"""
self.assertEqual(self.wf.cache_serializer, 'cpickle')
with self.assertRaises(ValueError):
self.wf.cache_serializer = 'non-existent'
self.assertEqual(self.wf.cache_serializer, 'cpickle')
self.wf.cache_serializer = 'pickle'
self.assertEqual(self.wf.cache_serializer, 'pickle')
def test_alternative_cache_serializer(self):
"""Alternative cache serializer"""
data = {'key1': 'value1'}
self.assertEqual(self.wf.cache_serializer, 'cpickle')
self.wf.cache_data('test', data)
self.assertTrue(os.path.exists(self.wf.cachefile('test.cpickle')))
self.assertEqual(data, self.wf.cached_data('test'))
self.wf.cache_serializer = 'pickle'
self.assertEqual(None, self.wf.cached_data('test'))
self.wf.cache_data('test', data)
self.assertTrue(os.path.exists(self.wf.cachefile('test.pickle')))
self.assertEqual(data, self.wf.cached_data('test'))
self.wf.cache_serializer = 'json'
self.assertEqual(None, self.wf.cached_data('test'))
self.wf.cache_data('test', data)
示例3: WorkflowTests
# 需要導入模塊: from workflow.workflow import Workflow [as 別名]
# 或者: from workflow.workflow.Workflow import cached_data_fresh [as 別名]
#.........這裏部分代碼省略.........
def test_cache_expires(self):
"""Cached data expires"""
data = ('hello', 'goodbye')
called = {'called': False}
def getdata():
called['called'] = True
return data
d = self.wf.cached_data('test', getdata, max_age=1)
self.assertEqual(d, data)
self.assertTrue(called['called'])
# should be loaded from cache
called['called'] = False
d2 = self.wf.cached_data('test', getdata, max_age=1)
self.assertEqual(d2, data)
self.assertFalse(called['called'])
# cache has expired
time.sleep(1)
# should be loaded from cache (no expiry)
d3 = self.wf.cached_data('test', getdata, max_age=0)
self.assertEqual(d3, data)
self.assertFalse(called['called'])
# should hit data func (cached data older than 1 sec)
d4 = self.wf.cached_data('test', getdata, max_age=1)
self.assertEqual(d4, data)
self.assertTrue(called['called'])
def test_cache_fresh(self):
"""Cached data is fresh"""
data = 'This is my data'
d = self.wf.cached_data('test', lambda: data, max_age=1)
self.assertEqual(d, data)
self.assertTrue(self.wf.cached_data_fresh('test', max_age=10))
def test_cache_fresh_non_existent(self):
"""Non-existant cache data is not fresh"""
self.assertEqual(self.wf.cached_data_fresh('popsicle', max_age=10000),
False)
def test_keychain(self):
"""Save/get/delete password"""
self.assertRaises(PasswordNotFound,
self.wf.delete_password, self.account)
self.assertRaises(PasswordNotFound, self.wf.get_password, self.account)
self.wf.save_password(self.account, self.password)
self.assertEqual(self.wf.get_password(self.account), self.password)
self.assertEqual(self.wf.get_password(self.account, BUNDLE_ID),
self.password)
# try to set same password
self.wf.save_password(self.account, self.password)
self.assertEqual(self.wf.get_password(self.account), self.password)
# try to set different password
self.wf.save_password(self.account, self.password2)
self.assertEqual(self.wf.get_password(self.account), self.password2)
# bad call to _call_security
with self.assertRaises(KeychainError):
self.wf._call_security('pants', BUNDLE_ID, self.account)
def test_run_fails(self):
"""Run fails"""
def cb(wf):
self.assertEqual(wf, self.wf)
raise ValueError('Have an error')
self.wf.name # cause info.plist to be parsed
ret = self.wf.run(cb)
示例4: WorkflowTests
# 需要導入模塊: from workflow.workflow import Workflow [as 別名]
# 或者: from workflow.workflow.Workflow import cached_data_fresh [as 別名]
#.........這裏部分代碼省略.........
def test_cache_expires(self):
"""Cached data expires"""
data = ('hello', 'goodbye')
called = {'called': False}
def getdata():
called['called'] = True
return data
d = self.wf.cached_data('test', getdata, max_age=1)
self.assertEqual(d, data)
self.assertTrue(called['called'])
# should be loaded from cache
called['called'] = False
d2 = self.wf.cached_data('test', getdata, max_age=1)
self.assertEqual(d2, data)
self.assertFalse(called['called'])
# cache has expired
time.sleep(1)
# should be loaded from cache (no expiry)
d3 = self.wf.cached_data('test', getdata, max_age=0)
self.assertEqual(d3, data)
self.assertFalse(called['called'])
# should hit data func (cached data older than 1 sec)
d4 = self.wf.cached_data('test', getdata, max_age=1)
self.assertEqual(d4, data)
self.assertTrue(called['called'])
def test_cache_fresh(self):
"""Cached data is fresh"""
data = 'This is my data'
d = self.wf.cached_data('test', lambda: data, max_age=1)
self.assertEqual(d, data)
self.assertTrue(self.wf.cached_data_fresh('test', max_age=10))
def test_cache_fresh_non_existent(self):
"""Non-existent cache data is not fresh"""
self.assertEqual(self.wf.cached_data_fresh('popsicle', max_age=10000),
False)
####################################################################
# Serialisation
####################################################################
def test_cache_serializer(self):
"""Cache serializer"""
self.assertEqual(self.wf.cache_serializer, 'cpickle')
def set_serializer(wf, serializer):
wf.cache_serializer = serializer
self.assertRaises(ValueError, set_serializer, self.wf, 'non-existent')
self.assertEqual(self.wf.cache_serializer, 'cpickle')
self.wf.cache_serializer = 'pickle'
self.assertEqual(self.wf.cache_serializer, 'pickle')
def test_alternative_cache_serializer(self):
"""Alternative cache serializer"""
data = {'key1': 'value1'}
self.assertEqual(self.wf.cache_serializer, 'cpickle')
self.wf.cache_data('test', data)
self.assertTrue(os.path.exists(self.wf.cachefile('test.cpickle')))
self.assertEqual(data, self.wf.cached_data('test'))
self.wf.cache_serializer = 'pickle'
self.assertEqual(None, self.wf.cached_data('test'))