From ad3b7d4c65ccd694f56436c624dce1bbc84fed43 Mon Sep 17 00:00:00 2001 From: zhongjun2 Date: Mon, 25 Jun 2018 14:23:18 +0800 Subject: [PATCH] Added test for Limit formatting routes when adding resources Added test to allows identifiers with a '.' in delete metadata url. A few tests were added to the extensions test to prove that .xml and .json are stripped. Depends-On: https://review.openstack.org/#/c/571403/ Change-Id: I47b1a48fc07deea086470a71b93d88c8f9232932 Partial-Bug: #1774353 --- manila_tempest_tests/tests/api/test_metadata.py | 2 +- .../tests/api/test_metadata_negative.py | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/manila_tempest_tests/tests/api/test_metadata.py b/manila_tempest_tests/tests/api/test_metadata.py index a2a92cfb..ff9953b4 100644 --- a/manila_tempest_tests/tests/api/test_metadata.py +++ b/manila_tempest_tests/tests/api/test_metadata.py @@ -42,7 +42,7 @@ class SharesMetadataTest(base.BaseSharesTest): @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND) def test_set_get_delete_metadata(self): - md = {u"key3": u"value3", u"key4": u"value4", } + md = {u"key3": u"value3", u"key4": u"value4", u"key.5.1": u"value.5"} # create share share = self.create_share(cleanup_in_class=False) diff --git a/manila_tempest_tests/tests/api/test_metadata_negative.py b/manila_tempest_tests/tests/api/test_metadata_negative.py index a4ad2608..4e374246 100644 --- a/manila_tempest_tests/tests/api/test_metadata_negative.py +++ b/manila_tempest_tests/tests/api/test_metadata_negative.py @@ -42,6 +42,7 @@ class SharesMetadataAPIOnlyNegativeTest(base.BaseSharesTest): "wrong_share_id", md) +@ddt.ddt class SharesMetadataNegativeTest(base.BaseSharesTest): @classmethod @@ -98,3 +99,19 @@ class SharesMetadataNegativeTest(base.BaseSharesTest): self.assertRaises(lib_exc.NotFound, self.shares_client.delete_metadata, self.share["id"], "wrong_key") + + @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND) + @ddt.data(("foo.xml", False), ("foo.json", False), + ("foo.xml", True), ("foo.json", True)) + @ddt.unpack + def test_try_delete_metadata_with_unsupport_format_key( + self, key, is_v2_client): + md = {key: u"value.test"} + + client = self.shares_v2_client if is_v2_client else self.shares_client + # set metadata + client.set_metadata(self.share["id"], md) + + self.assertRaises(lib_exc.NotFound, + client.delete_metadata, + self.share["id"], key)