summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergey Skripnick <sskripnick@mirantis.com>2013-05-30 16:42:34 +0300
committerSergey Skripnick <sskripnick@mirantis.com>2013-06-18 10:00:01 +0300
commit21bd2b22e2a025b4419d79e9054faad1f504585e (patch)
tree47eff4e34c7f9cda8097ff278fa46e670feae262
parentbf0f41d141ebdf7ead1e3a4f34cca2a16ff75056 (diff)
downloadnova-21bd2b22e2a025b4419d79e9054faad1f504585e.tar.gz
nova-21bd2b22e2a025b4419d79e9054faad1f504585e.tar.xz
nova-21bd2b22e2a025b4419d79e9054faad1f504585e.zip
Add missing tests for nova.db.api.instance_system_metadata_*
blueprint db-api-tests Change-Id: I2a7b24d3b7b0fa7af004a8106dfef29178a9aaa3
-rw-r--r--nova/tests/db/test_db_api.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/nova/tests/db/test_db_api.py b/nova/tests/db/test_db_api.py
index 0a5b75bf4..90625554b 100644
--- a/nova/tests/db/test_db_api.py
+++ b/nova/tests/db/test_db_api.py
@@ -1313,6 +1313,54 @@ class ModelsObjectComparatorMixin(object):
self.assertIn(primitive, primitives1)
+class InstanceSystemMetadataTestCase(test.TestCase):
+
+ """Tests for db.api.instance_system_metadata_* methods."""
+
+ def setUp(self):
+ super(InstanceSystemMetadataTestCase, self).setUp()
+ values = {'host': 'h1', 'project_id': 'p1',
+ 'system_metadata': {'key': 'value'}}
+ self.ctxt = context.get_admin_context()
+ self.instance = db.instance_create(self.ctxt, values)
+
+ def test_instance_system_metadata_get(self):
+ metadata = db.instance_system_metadata_get(self.ctxt,
+ self.instance['uuid'])
+ self.assertEqual(metadata, {'key': 'value'})
+
+ def test_instance_system_metadata_update_new_pair(self):
+ db.instance_system_metadata_update(
+ self.ctxt, self.instance['uuid'],
+ {'new_key': 'new_value'}, False)
+ metadata = db.instance_system_metadata_get(self.ctxt,
+ self.instance['uuid'])
+ self.assertEqual(metadata, {'key': 'value', 'new_key': 'new_value'})
+
+ def test_instance_system_metadata_update_existent_pair(self):
+ db.instance_system_metadata_update(
+ self.ctxt, self.instance['uuid'],
+ {'key': 'new_value'}, True)
+ metadata = db.instance_system_metadata_get(self.ctxt,
+ self.instance['uuid'])
+ self.assertEqual(metadata, {'key': 'new_value'})
+
+ def test_instance_system_metadata_update_delete_true(self):
+ db.instance_system_metadata_update(
+ self.ctxt, self.instance['uuid'],
+ {'new_key': 'new_value'}, True)
+ metadata = db.instance_system_metadata_get(self.ctxt,
+ self.instance['uuid'])
+ self.assertEqual(metadata, {'new_key': 'new_value'})
+
+ @test.testtools.skip("bug 1189462")
+ def test_instance_system_metadata_update_nonexistent(self):
+ self.assertRaises(exception.InstanceNotFound,
+ db.instance_system_metadata_update,
+ self.ctxt, 'nonexistent-uuid',
+ {'key': 'value'}, True)
+
+
class ReservationTestCase(test.TestCase, ModelsObjectComparatorMixin):
"""Tests for db.api.reservation_* methods."""