summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2011-11-11 19:21:28 +0000
committerGerrit Code Review <review@openstack.org>2011-11-11 19:21:28 +0000
commitb9086d3ad2da90f31001c082d371c8b972ca767b (patch)
treed111ebffbf09f942b6e7030363d3c97c20992254 /nova/tests
parent314539cce77846a7fe9ff7dc52d6291fcc34814e (diff)
parent255a363f78ffd193a4915169d44b85dfeb2c9579 (diff)
Merge "Converting metadata calls to use instance objects"
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_compute.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/nova/tests/test_compute.py b/nova/tests/test_compute.py
index 2bf726697..d74c96757 100644
--- a/nova/tests/test_compute.py
+++ b/nova/tests/test_compute.py
@@ -1632,6 +1632,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',