def test_force_updates_cached_value(self): fun = CB(retvalue=1) cc = CachedCall('key', fun) cc() fun.retvalue = 2 cc.force() self.assertEqual(2, cc())
def test_force_returns_new_value(self): fun = CB(retvalue=1) cc = CachedCall('key', fun) cc() fun.retvalue = 2 self.assertEqual(2, cc.force())
def test_skip_decorator(self): def decorator(self): raise Exception fun = CB() cc = CachedCall('key', fun, decorator=decorator) self.assertEquals(fun.retvalue, cc(skip_decorator=True)) self.assertEquals(fun.retvalue, cc.force(skip_decorator=True))
def test_uncached_call_returns_jsonlike_result(self): fun = CB(retvalue={1: 'bar'}) cc = CachedCall('key', fun) self.assertEquals({'1': 'bar'}, cc()) self.assertEquals({'1': 'bar'}, cc.force())