Add tests for volume quota set
Add some tests for volume quota set and get rid of TODO about using the value instead of the key to get the attribute. Change-Id: I57aa57951aeea65965966e63af922cda532d759d
This commit is contained in:
parent
0cc1e5aa2b
commit
b1ce0356f2
@ -103,8 +103,7 @@ class SetQuota(command.Command):
|
||||
|
||||
volume_kwargs = {}
|
||||
for k, v in VOLUME_QUOTAS.items():
|
||||
# TODO(jiaxi): Should use k or v needs discuss
|
||||
value = getattr(parsed_args, v, None)
|
||||
value = getattr(parsed_args, k, None)
|
||||
if value is not None:
|
||||
if parsed_args.volume_type:
|
||||
k = k + '_%s' % parsed_args.volume_type
|
||||
|
@ -12,6 +12,8 @@
|
||||
|
||||
import copy
|
||||
|
||||
import mock
|
||||
|
||||
from openstackclient.common import quota
|
||||
from openstackclient.tests.compute.v2 import fakes as compute_fakes
|
||||
from openstackclient.tests import fakes
|
||||
@ -38,6 +40,11 @@ class TestQuota(compute_fakes.TestComputev2):
|
||||
super(TestQuota, self).setUp()
|
||||
self.quotas_mock = self.app.client_manager.compute.quotas
|
||||
self.quotas_mock.reset_mock()
|
||||
volume_mock = mock.Mock()
|
||||
volume_mock.quotas = mock.Mock()
|
||||
self.app.client_manager.volume = volume_mock
|
||||
self.volume_quotas_mock = volume_mock.quotas
|
||||
self.volume_quotas_mock.reset_mock()
|
||||
|
||||
|
||||
class TestQuotaSet(TestQuota):
|
||||
@ -57,6 +64,18 @@ class TestQuotaSet(TestQuota):
|
||||
loaded=True,
|
||||
)
|
||||
|
||||
self.volume_quotas_mock.find.return_value = FakeQuotaResource(
|
||||
None,
|
||||
copy.deepcopy(compute_fakes.QUOTA),
|
||||
loaded=True,
|
||||
)
|
||||
|
||||
self.volume_quotas_mock.update.return_value = FakeQuotaResource(
|
||||
None,
|
||||
copy.deepcopy(compute_fakes.QUOTA),
|
||||
loaded=True,
|
||||
)
|
||||
|
||||
self.cmd = quota.SetQuota(self.app, None)
|
||||
|
||||
def test_quota_set(self):
|
||||
@ -87,3 +106,29 @@ class TestQuotaSet(TestQuota):
|
||||
}
|
||||
|
||||
self.quotas_mock.update.assert_called_with('project_test', **kwargs)
|
||||
|
||||
def test_quota_set_volume(self):
|
||||
arglist = [
|
||||
'--gigabytes', str(compute_fakes.floating_ip_num),
|
||||
'--snapshots', str(compute_fakes.fix_ip_num),
|
||||
'--volumes', str(compute_fakes.injected_file_num),
|
||||
compute_fakes.project_name,
|
||||
]
|
||||
verifylist = [
|
||||
('gigabytes', compute_fakes.floating_ip_num),
|
||||
('snapshots', compute_fakes.fix_ip_num),
|
||||
('volumes', compute_fakes.injected_file_num),
|
||||
]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
self.cmd.take_action(parsed_args)
|
||||
|
||||
kwargs = {
|
||||
'gigabytes': compute_fakes.floating_ip_num,
|
||||
'snapshots': compute_fakes.fix_ip_num,
|
||||
'volumes': compute_fakes.injected_file_num,
|
||||
}
|
||||
|
||||
self.volume_quotas_mock.update.assert_called_with('project_test',
|
||||
**kwargs)
|
||||
|
Loading…
Reference in New Issue
Block a user