Merge "Fix the bug of making device_profile_group_id parameter is optional"

This commit is contained in:
Zuul
2021-08-26 10:55:54 +00:00
committed by Gerrit Code Review
3 changed files with 59 additions and 2 deletions

View File

@@ -103,8 +103,9 @@ class CreateAcceleratorRequest(command.ShowOne):
metavar='<device_profile_name>',
help=_("The name of device_profile for accelerator_request."))
parser.add_argument(
'device_profile_group_id',
'--group-id',
metavar='<device_profile_group_id>',
dest='group_id',
help=_("The group id of device_profile \
for the accelerator_request."))
parser.add_argument(
@@ -122,7 +123,7 @@ class CreateAcceleratorRequest(command.ShowOne):
attrs = {
'device_profile_name': parsed_args.device_profile_name,
'device_profile_group_id': parsed_args.device_profile_group_id,
'device_profile_group_id': parsed_args.group_id,
'image_uuid': parsed_args.img_uuid,
}

View File

@@ -56,3 +56,6 @@ class FakeResource(object):
k != 'manager')
info = ", ".join("%s=%s" % (k, getattr(self, k)) for k in reprkeys)
return "<%s %s>" % (self.__class__.__name__, info)
def to_dict(self):
return dict(self.__dict__)

View File

@@ -128,3 +128,56 @@ class TestAcceleratorRequestDelete(TestAcceleratorRequest):
self.assertIn("No accelerator_request with UUID " +
acc_fakes.accelerator_request_uuid + " exists",
str(result))
class TestAcceleratorRequestCreate(TestAcceleratorRequest):
def setUp(self):
super(TestAcceleratorRequestCreate, self).setUp()
fake_arq = acc_fakes.FakeAcceleratorResource(
None,
copy.deepcopy(acc_fakes.ACCELERATOR_REQUEST),
loaded=True)
self.mock_acc_client.create_accelerator_request.return_value = fake_arq
self.mock_acc_client.get_accelerator_request.return_value = fake_arq
self.cmd = osc_accelerator_request.CreateAcceleratorRequest(
self.app, None
)
def test_accelerator_request_create(self):
arglist = ["dp_name"]
verifylist = []
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
kwargs = {'device_profile_name': 'dp_name',
'device_profile_group_id': None,
'image_uuid': None}
self.mock_acc_client.create_accelerator_request.assert_called_with(
**kwargs)
collist = (
'uuid',
'state',
'device_profile_name',
'hostname',
'device_rp_uuid',
'instance_uuid',
'attach_handle_type',
'attach_handle_info',
)
self.assertEqual(collist, columns)
datalist = [
acc_fakes.accelerator_request_uuid,
acc_fakes.accelerator_request_state,
acc_fakes.accelerator_request_device_profile_name,
acc_fakes.accelerator_request_hostname,
acc_fakes.accelerator_request_device_rp_uuid,
acc_fakes.accelerator_request_instance_uuid,
acc_fakes.accelerator_request_attach_handle_type,
acc_fakes.accelerator_request_attach_handle_info,
]
self.assertEqual(datalist, list(data))