[TrivialFix] Add negative test in quota detail

Commit [1] does not cover last comments.

Need to add negative test to test new API that should be
available only starting with 2.25 microversion.

And, combine some duplicated code in
manila_tempest_tests/tests/api/test_quotas.py.

[1] I499b099a3ba7704a2108cd15f80ff507e24b7cd0

Change-Id: I8963ad3092e3a78df94c19ea405d48178abef36e
diff --git a/manila_tempest_tests/tests/api/test_quotas.py b/manila_tempest_tests/tests/api/test_quotas.py
index a7540ed..83c776f 100644
--- a/manila_tempest_tests/tests/api/test_quotas.py
+++ b/manila_tempest_tests/tests/api/test_quotas.py
@@ -14,6 +14,7 @@
 #    under the License.
 
 import ddt
+import itertools
 from tempest import config
 from testtools import testcase as tc
 
@@ -65,27 +66,23 @@
         self.assertGreater(int(quotas["snapshots"]), -2)
         self.assertGreater(int(quotas["share_networks"]), -2)
 
+    @ddt.data(
+        *itertools.product(set(("2.25", CONF.share.max_api_microversion)),
+                           (True, False))
+    )
+    @ddt.unpack
     @tc.attr(base.TAG_POSITIVE, base.TAG_API)
     @base.skip_if_microversion_not_supported("2.25")
-    def test_show_quotas_detail(self):
-        quotas = self.shares_v2_client.detail_quotas(self.tenant_id)
+    def test_show_quotas_detail(self, microversion, with_user):
+        quota_args = {"tenant_id": self.tenant_id, "version": microversion, }
+        if with_user:
+            quota_args.update({"user_id": self.user_id})
+        quotas = self.shares_v2_client.detail_quotas(**quota_args)
         quota_keys = list(quotas.keys())
         for outer in ('gigabytes', 'snapshot_gigabytes', 'shares',
                       'snapshots', 'share_networks'):
             self.assertIn(outer, quota_keys)
+            outer_keys = list(quotas[outer].keys())
             for inner in ('in_use', 'limit', 'reserved'):
-                self.assertIn(inner, list(quotas[outer].keys()))
-                self.assertGreater(int(quotas[outer][inner]), -2)
-
-    @tc.attr(base.TAG_POSITIVE, base.TAG_API)
-    @base.skip_if_microversion_not_supported("2.25")
-    def test_show_quotas_detail_for_user(self):
-        quotas = self.shares_v2_client.detail_quotas(self.tenant_id,
-                                                     self.user_id)
-        quota_keys = list(quotas.keys())
-        for outer in ('gigabytes', 'snapshot_gigabytes', 'shares',
-                      'snapshots', 'share_networks'):
-            self.assertIn(outer, quota_keys)
-            for inner in ('in_use', 'limit', 'reserved'):
-                self.assertIn(inner, list(quotas[outer].keys()))
+                self.assertIn(inner, outer_keys)
                 self.assertGreater(int(quotas[outer][inner]), -2)
diff --git a/manila_tempest_tests/tests/api/test_quotas_negative.py b/manila_tempest_tests/tests/api/test_quotas_negative.py
index ca9882e..2e850fb 100644
--- a/manila_tempest_tests/tests/api/test_quotas_negative.py
+++ b/manila_tempest_tests/tests/api/test_quotas_negative.py
@@ -13,6 +13,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+import ddt
 from tempest import config
 from tempest.lib import exceptions as lib_exc
 from testtools import testcase as tc
@@ -22,6 +23,7 @@
 CONF = config.CONF
 
 
+@ddt.ddt
 class SharesQuotasNegativeTest(base.BaseSharesTest):
 
     @classmethod
@@ -48,3 +50,11 @@
                           self.shares_v2_client.update_quotas,
                           self.shares_v2_client.tenant_id,
                           shares=9)
+
+    @ddt.data("2.6", "2.7", "2.24")
+    @tc.attr(base.TAG_NEGATIVE, base.TAG_API)
+    def test_get_quotas_detail_with_wrong_version(self, microversion):
+        self.assertRaises(lib_exc.NotFound,
+                          self.shares_v2_client.detail_quotas,
+                          self.shares_v2_client.tenant_id,
+                          version=microversion)