be specific about metadata too long error
Tempest was catching a generic fail on the metadata too
long call, but a very specific error is supposed to be returned,
a 413. In real runs there was a bug in nova which crashed on the
request (fixed in https://bugs.launchpad.net/nova/+bug/1079387).
Fix tempest to only accept a 413 as valid on this request.
Make this an assertRaise test instead of a negative test
Change-Id: Id09394abc863ecd773f56dbc8a965d87ae7dde97
diff --git a/tempest/tests/compute/servers/test_server_metadata.py b/tempest/tests/compute/servers/test_server_metadata.py
index f59b609..4022dad 100644
--- a/tempest/tests/compute/servers/test_server_metadata.py
+++ b/tempest/tests/compute/servers/test_server_metadata.py
@@ -18,6 +18,7 @@
from nose.plugins.attrib import attr
from tempest.common.utils.data_utils import rand_name
+from tempest import exceptions
from tempest.tests.compute.base import BaseComputeTest
@@ -69,7 +70,6 @@
resp, resp_metadata = self.client.list_server_metadata(self.server_id)
self.assertEqual(resp_metadata, req_metadata)
- @attr(type='negative')
def test_server_create_metadata_key_too_long(self):
"""
Attempt to start a server with a meta-data key that is > 255 characters
@@ -79,14 +79,10 @@
key = "k" * sz
meta = {key: 'data1'}
name = rand_name('server')
- try:
- resp, server = self.client.create_server(name, self.image_ref,
- self.flavor_ref,
- meta=meta)
- except:
- pass
- else:
- self.fail('Metadata should have been too long')
+ self.assertRaises(exceptions.OverLimit,
+ self.client.create_server, name, self.image_ref,
+ self.flavor_ref, meta=meta)
+
# no teardown - all creates should fail
def test_update_server_metadata(self):