def test_make_parse_nodekey(self): """Test make and parse_nodekey.""" key = make_nodekey(VOLUME_UUID, NODE_UUID) self.assertEqual(key, b'%s:%s' % (VOLUME_KEY, NODE_KEY)) volume_id, node_id = parse_nodekey(key) self.assertEqual(volume_id, VOLUME_UUID) self.assertEqual(node_id, NODE_UUID)
def test_parse_nodekey_unicode(self): """parse_nodekey() accepts unicode strings.""" volume_id, node_id = parse_nodekey('%s:%s' % (VOLUME_KEY, NODE_KEY)) self.assertEqual(volume_id, VOLUME_UUID) self.assertEqual(node_id, NODE_UUID)
def test_parse_nodekey_with_volume_id(self): """parse_nodekey() handles an encoded volume ID and node ID.""" volume_id, node_id = parse_nodekey('%s:%s' % (VOLUME_KEY, NODE_KEY)) self.assertEqual(volume_id, VOLUME_UUID) self.assertEqual(node_id, NODE_UUID)
def test_parse_nodekey(self): """parse_nodekey() handles a plain encoded node ID.""" volume_id, node_id = parse_nodekey(NODE_KEY) self.assertEqual(volume_id, None) self.assertEqual(node_id, NODE_UUID)
def test_parse_nodekey_empty_volume_id(self): """parse_nodekey() accepts an empty volume ID component.""" volume_id, node_id = parse_nodekey(':%s' % NODE_KEY) self.assertEqual(volume_id, None) self.assertEqual(node_id, NODE_UUID)