Merge "Add CEPHFS filesystem metadata verifications"
diff --git a/manila_tempest_tests/tests/api/test_metadata.py b/manila_tempest_tests/tests/api/test_metadata.py
index 862de50..be5b1cf 100644
--- a/manila_tempest_tests/tests/api/test_metadata.py
+++ b/manila_tempest_tests/tests/api/test_metadata.py
@@ -13,11 +13,14 @@
# License for the specific language governing permissions and limitations
# under the License.
+from tempest import config
from tempest.lib import decorators
from testtools import testcase as tc
from manila_tempest_tests.tests.api import base
+CONF = config.CONF
+
class SharesMetadataTest(base.BaseSharesMixedTest):
@@ -263,3 +266,35 @@
body_get = self.shares_v2_client.get_metadata(
self.share["id"])['metadata']
self.assertEqual(max_value, body_get["key"])
+
+
+class SharesMetadataCEPHFSTest(base.BaseSharesMixedTest):
+
+ protocol = "cephfs"
+
+ @classmethod
+ def resource_setup(cls):
+ super(SharesMetadataCEPHFSTest, cls).resource_setup()
+ # create share type
+ cls.share_type = cls.create_share_type()
+ cls.share_type_id = cls.share_type['id']
+ # create share
+ cls.share = cls.create_share(share_type_id=cls.share_type_id)
+
+ @classmethod
+ def skip_checks(cls):
+ super(SharesMetadataCEPHFSTest, cls).skip_checks()
+ if not (cls.protocol in CONF.share.enable_protocols):
+ msg = (
+ "CEPHFS filesystem metadata tests are disabled "
+ "for the %s protocol." % cls.protocol)
+ raise cls.skipException(msg)
+
+ @decorators.idempotent_id('58edc9c8-8b85-49aa-80aa-209fc8f40a13')
+ @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
+ def test_cephfs_share_contains_mount_option(self):
+ body_get = self.shares_v2_client.get_metadata(
+ self.share["id"])['metadata']
+
+ self.assertIn("__mount_options", body_get)
+ self.assertIn("fs", body_get["__mount_options"])
diff --git a/manila_tempest_tests/tests/api/test_scheduler_hints.py b/manila_tempest_tests/tests/api/test_scheduler_hints.py
index 5012f17..e5e51a5 100644
--- a/manila_tempest_tests/tests/api/test_scheduler_hints.py
+++ b/manila_tempest_tests/tests/api/test_scheduler_hints.py
@@ -72,14 +72,17 @@
# get metadata of share
metadata_a = self.shares_v2_client.get_metadata(
self.share_a["id"])['metadata']
- md_a = {"__affinity_same_host": "%s" % share_b["id"]}
+ expected_md_a = {"__affinity_same_host": "%s" % share_b["id"]}
metadata_b = self.shares_v2_client.get_metadata(
share_b["id"])['metadata']
- md_b = {"__affinity_same_host": "%s" % self.share_a["id"]}
+ expected_md_b = {"__affinity_same_host": "%s" % self.share_a["id"]}
# verify metadata
- self.assertEqual(md_a, metadata_a)
- self.assertEqual(md_b, metadata_b)
+ for key, value in expected_md_a.items():
+ self.assertEqual(value, metadata_a.get(key))
+
+ for key, value in expected_md_b.items():
+ self.assertEqual(value, metadata_b.get(key))
@decorators.idempotent_id('6569e0c3-43c9-4ee2-84ff-ea7fa8da8110')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)