class TestEtcd(unittest.TestCase): def setUp(self): logger = logging.getLogger() stream = logging.StreamHandler(sys.stdout) stream.setLevel(logging.DEBUG) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') stream.setFormatter(formatter) logger.addHandler(stream) self.etcd = Etcd(logger) def test_a_setkey(self): ret = self.etcd.set_key('message', 'Hello World') self.assertTrue(ret) def test_b_getkey(self): self.etcd.set_key('message', 'Hello World') text = self.etcd.get_key('message') self.assertEqual(text, 'Hello World') def test_c_deletekey(self): #Set the key first before deleting it self.etcd.set_key('message', 'Hello World') text = self.etcd.delete_key('message') regex = re.compile(r'{"action":"delete","node":{"key":"/message",' '"modifiedIndex":\d+,"createdIndex":\d+},"prevNode":{"key":"/message"' ',"value":"Hello World","modifiedIndex":\d+,"createdIndex":\d+}}') self.assertRegexpMatches(text, regex) def test_d_directorylist(self): #List a directory in Etcd dir_list = self.etcd.list_directory('formations/cholcomb') self.assertIsInstance(dir_list, list)