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
diff --git a/manila_tempest_tests/tests/api/test_metadata.py b/manila_tempest_tests/tests/api/test_metadata.py
index a2a92cf..ff9953b 100644
--- a/manila_tempest_tests/tests/api/test_metadata.py
+++ b/manila_tempest_tests/tests/api/test_metadata.py
@@ -42,7 +42,7 @@
     @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 a4ad260..4e37424 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 @@
                           "wrong_share_id", md)
 
 
+@ddt.ddt
 class SharesMetadataNegativeTest(base.BaseSharesTest):
 
     @classmethod
@@ -98,3 +99,19 @@
         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)