diff options
| author | Sergey Skripnick <sskripnick@mirantis.com> | 2013-05-30 16:42:34 +0300 |
|---|---|---|
| committer | Sergey Skripnick <sskripnick@mirantis.com> | 2013-06-18 10:00:01 +0300 |
| commit | 21bd2b22e2a025b4419d79e9054faad1f504585e (patch) | |
| tree | 47eff4e34c7f9cda8097ff278fa46e670feae262 | |
| parent | bf0f41d141ebdf7ead1e3a4f34cca2a16ff75056 (diff) | |
| download | nova-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.py | 48 |
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.""" |
