From 5557c50c59b6f7a713c16c2e996b69bb3ea39b18 Mon Sep 17 00:00:00 2001 From: helei Date: Tue, 17 Sep 2019 03:54:36 -0400 Subject: [PATCH] Add unit test for quota api Change-Id: I5f4bbeced540df4fa002b273728833d98958ebc2 --- karbor/tests/unit/api/v1/test_quotas.py | 39 +++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/karbor/tests/unit/api/v1/test_quotas.py b/karbor/tests/unit/api/v1/test_quotas.py index d7405750..ed990ddf 100644 --- a/karbor/tests/unit/api/v1/test_quotas.py +++ b/karbor/tests/unit/api/v1/test_quotas.py @@ -67,6 +67,45 @@ class QuotaApiTest(base.TestCase): self.assertRaises(exc.HTTPBadRequest, self.controller.update, req, "73f74f90a1754bd7ad658afb3272323f", body=body) + @mock.patch( + 'karbor.db.sqlalchemy.api.quota_update') + def test_quota_update_with_zero_value(self, mock_quota_update): + body = {"quota": {"plans": 0}} + req = fakes.HTTPRequest.blank( + '/v1/quotas/73f74f90a1754bd7ad658afb3272323f', + use_admin_context=True) + self.controller.update( + req, '73f74f90a1754bd7ad658afb3272323f', body=body) + self.assertTrue(mock_quota_update.called) + + @mock.patch( + 'karbor.db.sqlalchemy.api.quota_update') + def test_quota_update_with_invalid_key(self, mock_quota_update): + body = {"quota": {"fakekey": 20}} + req = fakes.HTTPRequest.blank( + '/v1/quotas/73f74f90a1754bd7ad658afb3272323f', + use_admin_context=True) + self.controller.update( + req, '73f74f90a1754bd7ad658afb3272323f', body=body) + self.assertEqual(0, + len(mock_quota_update.mock_calls)) + + @mock.patch( + 'karbor.db.sqlalchemy.api.quota_create') + @mock.patch( + 'karbor.db.sqlalchemy.api.quota_update') + def test_quota_update_with_project_quota_not_found(self, + mock_quota_update, + mock_quota_create): + body = {"quota": {"plans": 20}} + req = fakes.HTTPRequest.blank( + '/v1/quotas/73f74f90a1754bd7ad658afb3272323f', + use_admin_context=True) + mock_quota_update.side_effect = exception.ProjectQuotaNotFound + self.controller.update( + req, '73f74f90a1754bd7ad658afb3272323f', body=body) + self.assertTrue(mock_quota_create.called) + def test_quota_update_with_not_admin_context(self): body = {"quota": {"plans": 20}} req = fakes.HTTPRequest.blank(