Esempio n. 1
0
 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),
     ])
Esempio n. 2
0
    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)
Esempio n. 3
0
 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)
Esempio n. 4
0
 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)