Ejemplo n.º 1
0
 def _setup(self):
     inst = ZkSharedCache("zk", "path", "handler")
     inst._path = "/path"
     inst._zk = create_mock(["is_connected"])
     inst._kazoo = create_mock(["create", "set"])
     inst._incoming_entries = create_mock(["append"])
     return inst
Ejemplo n.º 2
0
 def test_no_cache(self, init):
     inst = ZkSharedCache("zk", "path", "handler")
     inst._path = "/path"
     inst._kazoo = create_mock(["get_children"])
     inst._kazoo.get_children.side_effect = NoNodeError
     # Call
     ntools.eq_(inst._list_entries(), set())
Ejemplo n.º 3
0
 def _check_children_exception(self, excp, expected, init):
     inst = ZkSharedCache("zk", "path", "handler")
     inst._path = "/path"
     inst._kazoo = create_mock(["get_children"])
     inst._kazoo.get_children.side_effect = excp
     # Call
     ntools.assert_raises(expected, inst._list_entries)
Ejemplo n.º 4
0
 def _check_exception(self, excp, expected, init):
     inst = ZkSharedCache("zk", "path", "handler")
     inst._path = "/path"
     inst._kazoo = create_mock(["get"])
     inst._kazoo.get.side_effect = excp
     # Call
     ntools.assert_raises(expected, inst._get, "name")
Ejemplo n.º 5
0
 def _setup(self, time_, entries):
     inst = ZkSharedCache("zk", "path", "handler")
     inst._zk = create_mock(["is_connected"])
     time_.return_value = 1000
     inst._entries = entries
     inst._kazoo = create_mock(["delete"])
     inst._path = "/path"
     return inst
Ejemplo n.º 6
0
 def test_sucesss(self, init):
     inst = ZkSharedCache("zk", "path", "handler")
     inst._path = "/path"
     inst._kazoo = create_mock(["get_children"])
     inst._kazoo.get_children.return_value = [
         "node0", "node1", "node2", "node3"
     ]
     # Call
     ntools.eq_(inst._list_entries(), {"node0", "node1", "node2", "node3"})
Ejemplo n.º 7
0
 def test_no_entry(self, init):
     inst = ZkSharedCache("zk", "path", "handler")
     inst._path = "/path"
     inst._kazoo = create_mock(["get"])
     inst._kazoo.get.side_effect = NoNodeError
     inst._entries = create_mock(["pop"])
     # Call
     ntools.assert_raises(ZkNoNodeError, inst._get, "name")
     # Tests
     inst._kazoo.get.assert_called_once_with("/path/name")
     inst._entries.pop.assert_called_once_with("name", None)
Ejemplo n.º 8
0
 def test_success(self, init, time_):
     inst = ZkSharedCache("zk", "path", "handler")
     inst._path = "/path"
     inst._kazoo = create_mock(["get"])
     inst._kazoo.get.return_value = ("data", "meta")
     inst._entries = create_mock(["setdefault"])
     # Call
     ntools.eq_(inst._get("name"), "data")
     # Tests
     inst._kazoo.get.assert_called_once_with("/path/name")
     inst._entries.setdefault.assert_called_once_with(
         "name", time_.return_value)
Ejemplo n.º 9
0
 def test(self, init):
     inst = ZkSharedCache("zk", "path", "handler")
     entry_names = ["entry0", "entry1", "entry2", "entry3"]
     inst._get = create_mock()
     inst._get.side_effect = [
         "data0", ZkNoNodeError, "data2", ZkNoConnection
     ]
     inst._path = "/path"
     inst._handler = create_mock()
     # Call
     ntools.eq_(inst._handle_entries(entry_names), 2)
     # Tests
     assert_these_calls(inst._get, ([call(i) for i in entry_names]))
     inst._handler.assert_called_once_with(["data0", "data2"])
Ejemplo n.º 10
0
 def test_full(self, init):
     inst = ZkSharedCache("zk", "path", "handler")
     inst._zk = create_mock(["conn_epoch", "is_connected"])
     inst._incoming_entries = create_mock(["__bool__", "popleft"])
     inst._incoming_entries.__bool__.side_effect = True, True, False
     inst._incoming_entries.popleft.side_effect = ("inc0", 1), ("inc1", 0)
     inst._entries = {"inc0": 0, "old0": 0}
     inst._list_entries = create_mock()
     inst._list_entries.return_value = "inc0", "inc1", "new0"
     inst._handle_entries = create_mock()
     inst._path = "/path"
     # Call
     inst.process()
     # Tests
     ntools.eq_(inst._entries, {"inc0": 0, "inc1": 0})
     inst._handle_entries.assert_called_once_with({"new0"})