def test_delete_empty_parents_not_found(self): m_client = Mock() m_client.delete = Mock() m_client.delete.side_effect = [None, etcd.EtcdKeyNotFound(), None] delete_empty_parents(m_client, "/foo/bar/baz/biff", "/foo") self.assertEqual(m_client.delete.mock_calls, [ call("foo/bar/baz/biff", dir=True, timeout=5), call("foo/bar/baz", dir=True, timeout=5), call("foo/bar", dir=True, timeout=5), ])
def test_load_initial_dump(self): m_response = Mock(spec=etcd.EtcdResult) m_response.etcd_index = 10000 self.m_client.read.side_effect = [etcd.EtcdKeyNotFound(), m_response] with patch("time.sleep") as m_sleep: self.assertEqual(self.watcher.load_initial_dump(), m_response) m_sleep.assert_called_once_with(1) self.m_client.read.assert_has_calls([ call("/calico", recursive=True), call("/calico", recursive=True), ]) self.assertEqual(self.watcher.next_etcd_index, 10001)
def test_wait_for_ready(self, m_sleep): m_resp_1 = Mock() m_resp_1.value = "false" m_resp_2 = Mock() m_resp_2.value = "true" responses = [ etcd.EtcdException(), etcd.EtcdKeyNotFound(), m_resp_1, m_resp_2, ] self.m_client.read.side_effect = iter(responses) self.watcher.wait_for_ready(1) self.assertEqual(m_sleep.mock_calls, [call(1)] * 3)
def test_load_initial_dump_stopped(self): self.watcher.stop() self.m_client.read.side_effect = etcd.EtcdKeyNotFound() self.assertRaises(etcd.EtcdKeyNotFound, self.watcher.load_initial_dump)