class MultiLevelCachingStrategyTest(unittest.TestCase): def setUp(self): self.mock_cache_1 = MockCache( has=True, get="mocked cache_1 value", last_modified="Tue, 24 Nov 2015 16:37:32 GMT") self.mock_cache_2 = MockCache( has=False, get="mocked cache_2 value", last_modified="Mon, 24 Nov 2015 16:37:32 GMT") self.strategy = MultiLevelCachingStrategy( caches=[self.mock_cache_1, self.mock_cache_2]) def test_that_when_no_cache_has_the_key_then_get_returns_none(self): self.mock_cache_1._has = False self.mock_cache_2._has = False self.assertEqual(None, self.strategy.get('some_key', '/tmp/test_file')) def test_that_when_cache_1_has_the_key_but_cache_2_does_not_then_get_returns_it_from_cache_1(self): self.strategy.caches[0]._has = True self.strategy.caches[1]._has = False self.assertEqual( "mocked cache_1 value", self.strategy.get('some_key', '/tmp/test_file')) def test_that_when_cache_2_has_the_key_but_cache_1_does_not_then_get_returns_it_from_cache_2(self): self.mock_cache_1._has = False self.mock_cache_2._has = True self.assertEqual( "mocked cache_2 value", self.strategy.get('some_key', '/tmp/test_file')) def test_that_when_both_caches_have_the_key_then_get_returns_the_newest(self): self.mock_cache_1._has = True self.mock_cache_2._has = True self.assertEqual( "mocked cache_1 value", self.strategy.get('some_key', '/tmp/test_file'))
def setUp(self): self.mock_cache_1 = MockCache( has=True, get="mocked cache_1 value", last_modified="Tue, 24 Nov 2015 16:37:32 GMT") self.mock_cache_2 = MockCache( has=False, get="mocked cache_2 value", last_modified="Mon, 24 Nov 2015 16:37:32 GMT") self.strategy = MultiLevelCachingStrategy( caches=[self.mock_cache_1, self.mock_cache_2])
class MultiLevelCachingStrategyTest(unittest.TestCase): def setUp(self): self.mock_cache_1 = MockCache( has=True, get="mocked cache_1 value", last_modified="Tue, 24 Nov 2015 16:37:32 GMT") self.mock_cache_2 = MockCache( has=False, get="mocked cache_2 value", last_modified="Mon, 24 Nov 2015 16:37:32 GMT") self.strategy = MultiLevelCachingStrategy( caches=[self.mock_cache_1, self.mock_cache_2]) def test_that_when_no_cache_has_the_key_then_get_returns_none(self): self.mock_cache_1._has = False self.mock_cache_2._has = False self.assertEqual(None, self.strategy.get('some_key', '/tmp/test_file')) def test_that_when_cache_1_has_the_key_but_cache_2_does_not_then_get_returns_it_from_cache_1( self): self.strategy.caches[0]._has = True self.strategy.caches[1]._has = False self.assertEqual("mocked cache_1 value", self.strategy.get('some_key', '/tmp/test_file')) def test_that_when_cache_2_has_the_key_but_cache_1_does_not_then_get_returns_it_from_cache_2( self): self.mock_cache_1._has = False self.mock_cache_2._has = True self.assertEqual("mocked cache_2 value", self.strategy.get('some_key', '/tmp/test_file')) def test_that_when_both_caches_have_the_key_then_get_returns_the_newest( self): self.mock_cache_1._has = True self.mock_cache_2._has = True self.assertEqual("mocked cache_1 value", self.strategy.get('some_key', '/tmp/test_file'))