From 255a363f78ffd193a4915169d44b85dfeb2c9579 Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Thu, 10 Nov 2011 15:58:17 -0500 Subject: Converting metadata calls to use instance objects Related to blueprint internal-uuids Change-Id: Ic21bffbdb538fb8c1bdd1d729982e2da0a56bdf8 --- nova/tests/test_compute.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'nova/tests') diff --git a/nova/tests/test_compute.py b/nova/tests/test_compute.py index 2b124b6fc..360a2e2b6 100644 --- a/nova/tests/test_compute.py +++ b/nova/tests/test_compute.py @@ -1584,6 +1584,32 @@ class ComputeAPITestCase(BaseTestCase): db.instance_destroy(c, instance_id3) db.instance_destroy(c, instance_id4) + def test_instance_metadata(self): + """Test searching instances by state""" + _context = context.get_admin_context() + instance_id = self._create_instance({'metadata': {'key1': 'value1'}}) + instance = self.compute_api.get(_context, instance_id) + + metadata = self.compute_api.get_instance_metadata(_context, instance) + self.assertEqual(metadata, {'key1': 'value1'}) + + self.compute_api.update_instance_metadata(_context, instance, + {'key2': 'value2'}) + metadata = self.compute_api.get_instance_metadata(_context, instance) + self.assertEqual(metadata, {'key1': 'value1', 'key2': 'value2'}) + + new_metadata = {'key2': 'bah', 'key3': 'value3'} + self.compute_api.update_instance_metadata(_context, instance, + new_metadata, delete=True) + metadata = self.compute_api.get_instance_metadata(_context, instance) + self.assertEqual(metadata, new_metadata) + + self.compute_api.delete_instance_metadata(_context, instance, 'key2') + metadata = self.compute_api.get_instance_metadata(_context, instance) + self.assertEqual(metadata, {'key3': 'value3'}) + + db.instance_destroy(_context, instance_id) + @staticmethod def _parse_db_block_device_mapping(bdm_ref): attr_list = ('delete_on_termination', 'device_name', 'no_device', -- cgit