diff options
| author | Stephen Finucane <sfinucan@redhat.com> | 2022-09-22 18:09:08 +0100 |
|---|---|---|
| committer | Stephen Finucane <sfinucan@redhat.com> | 2022-09-30 10:54:11 +0100 |
| commit | 45bec041b206678de36f2f463ac6872b785e592e (patch) | |
| tree | 09747744bb4cdd5ffc29151234196e28075a84ae /openstackclient/tests/unit/common | |
| parent | bfdf900d0a2fae16fe1ff2d8604215dd2de01d4a (diff) | |
| download | python-openstackclient-45bec041b206678de36f2f463ac6872b785e592e.tar.gz | |
quota: Add 'quota delete' command
We had previously indicated that people use 'quota set' for unsetting a
project's quotas, however, there was nothing that actually allowed us to
do this. Correct that oversight.
Change-Id: I04057e766b8ccf94bf219972249b68dc2bb796d4
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Diffstat (limited to 'openstackclient/tests/unit/common')
| -rw-r--r-- | openstackclient/tests/unit/common/test_quota.py | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/openstackclient/tests/unit/common/test_quota.py b/openstackclient/tests/unit/common/test_quota.py index 70fd1436..087443c1 100644 --- a/openstackclient/tests/unit/common/test_quota.py +++ b/openstackclient/tests/unit/common/test_quota.py @@ -62,6 +62,9 @@ class TestQuota(compute_fakes.TestComputev2): self.app.client_manager.volume.quota_classes self.volume_quotas_class_mock.reset_mock() + self.app.client_manager.network.quotas = mock.Mock() + self.network_quotas_mock = self.app.client_manager.network.quotas + self.app.client_manager.auth_ref = mock.Mock() self.app.client_manager.auth_ref.service_catalog = mock.Mock() self.service_catalog_mock = \ @@ -1154,3 +1157,107 @@ class TestQuotaShow(TestQuota): self.assertEqual(len(network_fakes.QUOTA) - 1, len(result)) # Go back to default mock self.network.get_quota = orig_get_quota + + +class TestQuotaDelete(TestQuota): + """Test cases for quota delete command""" + + def setUp(self): + super().setUp() + + self.cmd = quota.DeleteQuota(self.app, None) + + def test_delete(self): + """Delete all quotas""" + arglist = [ + self.projects[0].id, + ] + verifylist = [ + ('service', 'all'), + ('project', self.projects[0].id), + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + + self.assertIsNone(result) + self.projects_mock.get.assert_called_once_with(self.projects[0].id) + self.compute_quotas_mock.delete.assert_called_once_with( + self.projects[0], + ) + self.volume_quotas_mock.delete.assert_called_once_with( + self.projects[0], + ) + self.network_quotas_mock.delete.assert_called_once_with( + self.projects[0], + ) + + def test_delete__compute(self): + """Delete compute quotas only""" + arglist = [ + '--compute', + self.projects[0].id, + ] + verifylist = [ + ('service', 'compute'), + ('project', self.projects[0].id), + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + + self.assertIsNone(result) + self.projects_mock.get.assert_called_once_with(self.projects[0].id) + self.compute_quotas_mock.delete.assert_called_once_with( + self.projects[0], + ) + self.volume_quotas_mock.delete.assert_not_called() + self.network_quotas_mock.delete.assert_not_called() + + def test_delete__volume(self): + """Delete volume quotas only""" + arglist = [ + '--volume', + self.projects[0].id, + ] + verifylist = [ + ('service', 'volume'), + ('project', self.projects[0].id), + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + + self.assertIsNone(result) + self.projects_mock.get.assert_called_once_with(self.projects[0].id) + self.compute_quotas_mock.delete.assert_not_called() + self.volume_quotas_mock.delete.assert_called_once_with( + self.projects[0], + ) + self.network_quotas_mock.delete.assert_not_called() + + def test_delete__network(self): + """Delete network quotas only""" + arglist = [ + '--network', + self.projects[0].id, + ] + verifylist = [ + ('service', 'network'), + ('project', self.projects[0].id), + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + + self.assertIsNone(result) + self.projects_mock.get.assert_called_once_with(self.projects[0].id) + self.compute_quotas_mock.delete.assert_not_called() + self.volume_quotas_mock.delete.assert_not_called() + self.network_quotas_mock.delete.assert_called_once_with( + self.projects[0], + ) |
