[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)