Fixes LP Bug#903969 - Image metadata boundary tests
Adds boundary tests for image metadata in Compute API
Changed the indentation to 4 space width.
Added nonexistant tests for image metadata operations
Change-Id: Ife6324f7eb55ef71315a9775993c431849ad2d45
diff --git a/tempest/tests/test_image_metadata.py b/tempest/tests/test_image_metadata.py
index 23f0689..80f5a0a 100644
--- a/tempest/tests/test_image_metadata.py
+++ b/tempest/tests/test_image_metadata.py
@@ -1,6 +1,8 @@
+from nose.plugins.attrib import attr
from tempest import openstack
from tempest.common.utils.data_utils import rand_name
import unittest2 as unittest
+from tempest import exceptions
class ImagesMetadataTest(unittest.TestCase):
@@ -90,3 +92,76 @@
resp, resp_metadata = self.client.list_image_metadata(self.image_id)
expected = {'key2': 'value2'}
self.assertEqual(expected, resp_metadata)
+
+ @attr(type='negative')
+ def test_list_nonexistant_image_metadata(self):
+ """Negative test: List on nonexistant image
+ metadata should not happen"""
+ try:
+ resp, resp_metadata = self.client.list_image_metadata(999)
+ except exceptions.NotFound:
+ pass
+ else:
+ self.fail('List on nonexistant image metadata should'
+ 'not happen')
+
+ @attr(type='negative')
+ def test_update_nonexistant_image_metadata(self):
+ """Negative test:An update should not happen for a nonexistant image"""
+ meta = {'key1': 'alt1', 'key2': 'alt2'}
+ try:
+ resp, metadata = self.client.update_image_metadata(999, meta)
+ except exceptions.NotFound:
+ pass
+ else:
+ self.fail('An update shouldnt happen for nonexistant image')
+
+ @attr(type='negative')
+ def test_get_nonexistant_image_metadata_item(self):
+ """Negative test: Get on nonexistant image should not happen"""
+ try:
+ resp, metadata = self.client.get_image_metadata_item(999,
+ 'key2')
+ except exceptions.NotFound:
+ pass
+ else:
+ self.fail('Get on nonexistant image should not happen')
+
+ @attr(type='negative')
+ def test_set_nonexistant_image_metadata(self):
+ """Negative test: Metadata should not be set to a nonexistant image"""
+ meta = {'key1': 'alt1', 'key2': 'alt2'}
+ try:
+ resp, meta = self.client.set_image_metadata(999, meta)
+ except exceptions.NotFound:
+ pass
+ else:
+ self.fail('Metadata should not be set to a nonexistant image')
+
+ @attr(type='negative')
+ def test_set_nonexistant_image_metadata_item(self):
+ """Negative test: Metadata item should not be set to a
+ nonexistant image"""
+ meta = {'key1': 'alt'}
+ try:
+ resp, body = self.client.set_image_metadata_item(999,
+ 'key1', meta)
+ resp, metadata = self.client.list_image_metadata(999)
+ except exceptions.NotFound:
+ pass
+ else:
+ self.fail('Metadata item should not be set to a nonexistant image')
+
+ @attr(type='negative')
+ def test_delete_nonexistant_image_metadata_item(self):
+ """Negative test: Shouldnt be able to delete metadata
+ item from nonexistant image"""
+ try:
+ resp, body = self.client.delete_image_metadata_item(999,
+ 'key1')
+ resp, metadata = self.client.list_image_metadata(999)
+ except exceptions.NotFound:
+ pass
+ else:
+ self.fail('Should not be able to delete metadata item from a'
+ 'nonexistant image')