def test_nodelist_no_caching(self): p = MemcacheProxy(self._storage, cache_nodelist=False) p.enumerate_nodes() p.enumerate_nodes() expected = [mock.call(), mock.call()] self.assertListEqual(self._storage.enumerate_nodes.call_args_list, expected)
def test_classes_caching(self): p = MemcacheProxy(self._storage, cache_classes=True) NAME = 'foo'; NAME2 = 'bar'; RET = 'baz' self._storage.get_class.return_value = RET self.assertEqual(p.get_class(NAME), RET) self.assertEqual(p.get_class(NAME), RET) self.assertEqual(p.get_class(NAME2), RET) self.assertEqual(p.get_class(NAME2), RET) expected = [mock.call(NAME), mock.call(NAME2)] # called once each self.assertListEqual(self._storage.get_class.call_args_list, expected)
def test_classes_caching(self): p = MemcacheProxy(self._storage, cache_classes=True) NAME = 'foo'; NAME2 = 'bar'; RET = 'baz'; SETTINGS = Settings() self._storage.get_class.return_value = RET self.assertEqual(p.get_class(NAME, None, SETTINGS), RET) self.assertEqual(p.get_class(NAME, None, SETTINGS), RET) self.assertEqual(p.get_class(NAME2, None, SETTINGS), RET) self.assertEqual(p.get_class(NAME2, None, SETTINGS), RET) expected = [mock.call(NAME, None, SETTINGS), mock.call(NAME2, None, SETTINGS)] # called once each self.assertListEqual(self._storage.get_class.call_args_list, expected)
def test_no_nodes_caching(self): p = MemcacheProxy(self._storage, cache_nodes=False) NAME = 'foo'; NAME2 = 'bar'; RET = 'baz'; SETTINGS = Settings() self._storage.get_node.return_value = RET self.assertEqual(p.get_node(NAME, SETTINGS), RET) self.assertEqual(p.get_node(NAME, SETTINGS), RET) self.assertEqual(p.get_node(NAME2, SETTINGS), RET) self.assertEqual(p.get_node(NAME2, SETTINGS), RET) expected = [mock.call(NAME, SETTINGS), mock.call(NAME, SETTINGS), mock.call(NAME2, SETTINGS), mock.call(NAME2, SETTINGS)] self.assertListEqual(self._storage.get_node.call_args_list, expected)
def test_no_nodes_caching(self): p = MemcacheProxy(self._storage, cache_nodes=False) NAME = 'foo'; NAME2 = 'bar'; RET = 'baz' self._storage.get_node.return_value = RET self.assertEqual(p.get_node(NAME), RET) self.assertEqual(p.get_node(NAME), RET) self.assertEqual(p.get_node(NAME2), RET) self.assertEqual(p.get_node(NAME2), RET) expected = [mock.call(NAME), mock.call(NAME), mock.call(NAME2), mock.call(NAME2)] self.assertListEqual(self._storage.get_node.call_args_list, expected)
def test_nodes_caching(self): p = MemcacheProxy(self._storage, cache_nodes=True) NAME = 'foo' NAME2 = 'bar' RET = 'baz' self._storage.get_node.return_value = RET self.assertEqual(p.get_node(NAME), RET) self.assertEqual(p.get_node(NAME), RET) self.assertEqual(p.get_node(NAME2), RET) self.assertEqual(p.get_node(NAME2), RET) expected = [mock.call(NAME), mock.call(NAME2)] # called once each self.assertListEqual(self._storage.get_node.call_args_list, expected)
def test_no_classes_caching(self): p = MemcacheProxy(self._storage, cache_classes=False) NAME = 'foo' NAME2 = 'bar' RET = 'baz' self._storage.get_class.return_value = RET self.assertEqual(p.get_class(NAME, None), RET) self.assertEqual(p.get_class(NAME, None), RET) self.assertEqual(p.get_class(NAME2, None), RET) self.assertEqual(p.get_class(NAME2, None), RET) expected = [ mock.call(NAME, None), mock.call(NAME, None), mock.call(NAME2, None), mock.call(NAME2, None) ] self.assertListEqual(self._storage.get_class.call_args_list, expected)
def get_storage(storage_type, nodes_uri, classes_uri, **kwargs): storage_class = StorageBackendLoader(storage_type).load() return MemcacheProxy(storage_class(nodes_uri, classes_uri, **kwargs))
def test_nodelist_caching(self): p = MemcacheProxy(self._storage, cache_nodelist=True) p.enumerate_nodes() p.enumerate_nodes() expected = [mock.call()] # once only self.assertListEqual(self._storage.enumerate_nodes.call_args_list, expected)