python-ironicclient/ironicclient/tests/unit/osc/v1/test_baremetal_volume_conne...

730 lines
28 KiB
Python

# Copyright 2017 FUJITSU LIMITED
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import copy
import mock
from osc_lib.tests import utils as osctestutils
from ironicclient import exc
from ironicclient.osc.v1 import baremetal_volume_connector as bm_vol_connector
from ironicclient.tests.unit.osc.v1 import fakes as baremetal_fakes
class TestBaremetalVolumeConnector(baremetal_fakes.TestBaremetal):
def setUp(self):
super(TestBaremetalVolumeConnector, self).setUp()
self.baremetal_mock = self.app.client_manager.baremetal
self.baremetal_mock.reset_mock()
class TestCreateBaremetalVolumeConnector(TestBaremetalVolumeConnector):
def setUp(self):
super(TestCreateBaremetalVolumeConnector, self).setUp()
self.baremetal_mock.volume_connector.create.return_value = (
baremetal_fakes.FakeBaremetalResource(
None,
copy.deepcopy(baremetal_fakes.VOLUME_CONNECTOR),
loaded=True,
))
# Get the command object to test
self.cmd = (
bm_vol_connector.CreateBaremetalVolumeConnector(self.app, None))
def test_baremetal_volume_connector_create(self):
arglist = [
'--node', baremetal_fakes.baremetal_uuid,
'--type', baremetal_fakes.baremetal_volume_connector_type,
'--connector-id',
baremetal_fakes.baremetal_volume_connector_connector_id,
'--uuid', baremetal_fakes.baremetal_volume_connector_uuid,
]
verifylist = [
('node_uuid', baremetal_fakes.baremetal_uuid),
('type', baremetal_fakes.baremetal_volume_connector_type),
('connector_id',
baremetal_fakes.baremetal_volume_connector_connector_id),
('uuid', baremetal_fakes.baremetal_volume_connector_uuid),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
args = {
'node_uuid': baremetal_fakes.baremetal_uuid,
'type': baremetal_fakes.baremetal_volume_connector_type,
'connector_id':
baremetal_fakes.baremetal_volume_connector_connector_id,
'uuid': baremetal_fakes.baremetal_volume_connector_uuid,
}
self.baremetal_mock.volume_connector.create.assert_called_once_with(
**args)
def test_baremetal_volume_connector_create_extras(self):
arglist = [
'--node', baremetal_fakes.baremetal_uuid,
'--type', baremetal_fakes.baremetal_volume_connector_type,
'--connector-id',
baremetal_fakes.baremetal_volume_connector_connector_id,
'--extra', 'key1=value1',
'--extra', 'key2=value2',
]
verifylist = [
('node_uuid', baremetal_fakes.baremetal_uuid),
('type', baremetal_fakes.baremetal_volume_connector_type),
('connector_id',
baremetal_fakes.baremetal_volume_connector_connector_id),
('extra', ['key1=value1', 'key2=value2'])
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
args = {
'node_uuid': baremetal_fakes.baremetal_uuid,
'type': baremetal_fakes.baremetal_volume_connector_type,
'connector_id':
baremetal_fakes.baremetal_volume_connector_connector_id,
'extra': baremetal_fakes.baremetal_volume_connector_extra,
}
self.baremetal_mock.volume_connector.create.assert_called_once_with(
**args)
def test_baremetal_volume_connector_create_no_options(self):
arglist = []
verifylist = []
self.assertRaises(osctestutils.ParserException,
self.check_parser,
self.cmd, arglist, verifylist)
class TestShowBaremetalVolumeConnector(TestBaremetalVolumeConnector):
def setUp(self):
super(TestShowBaremetalVolumeConnector, self).setUp()
self.baremetal_mock.volume_connector.get.return_value = (
baremetal_fakes.FakeBaremetalResource(
None,
copy.deepcopy(baremetal_fakes.VOLUME_CONNECTOR),
loaded=True))
self.cmd = (
bm_vol_connector.ShowBaremetalVolumeConnector(self.app, None))
def test_baremetal_volume_connector_show(self):
arglist = ['vvv-cccccc-vvvv']
verifylist = [('volume_connector',
baremetal_fakes.baremetal_volume_connector_uuid)]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
args = ['vvv-cccccc-vvvv']
self.baremetal_mock.volume_connector.get.assert_called_once_with(
*args, fields=None)
collist = ('connector_id', 'extra', 'node_uuid', 'type', 'uuid')
self.assertEqual(collist, columns)
datalist = (
baremetal_fakes.baremetal_volume_connector_connector_id,
baremetal_fakes.baremetal_volume_connector_extra,
baremetal_fakes.baremetal_uuid,
baremetal_fakes.baremetal_volume_connector_type,
baremetal_fakes.baremetal_volume_connector_uuid,
)
self.assertEqual(datalist, tuple(data))
def test_baremetal_volume_coneedtor_show_no_options(self):
arglist = []
verifylist = []
self.assertRaises(osctestutils.ParserException,
self.check_parser,
self.cmd, arglist, verifylist)
def test_baremetal_volume_connector_show_fields(self):
arglist = ['vvv-cccccc-vvvv', '--fields', 'uuid', 'connector_id']
verifylist = [('fields', [['uuid', 'connector_id']]),
('volume_connector',
baremetal_fakes.baremetal_volume_connector_uuid)]
fake_vc = copy.deepcopy(baremetal_fakes.VOLUME_CONNECTOR)
fake_vc.pop('type')
fake_vc.pop('extra')
fake_vc.pop('node_uuid')
self.baremetal_mock.volume_connector.get.return_value = (
baremetal_fakes.FakeBaremetalResource(
None,
fake_vc,
loaded=True))
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
args = ['vvv-cccccc-vvvv']
fields = ['uuid', 'connector_id']
self.baremetal_mock.volume_connector.get.assert_called_once_with(
*args, fields=fields)
collist = ('connector_id', 'uuid')
self.assertEqual(collist, columns)
datalist = (
baremetal_fakes.baremetal_volume_connector_connector_id,
baremetal_fakes.baremetal_volume_connector_uuid,
)
self.assertEqual(datalist, tuple(data))
def test_baremetal_volume_connector_show_fields_multiple(self):
arglist = ['vvv-cccccc-vvvv', '--fields', 'uuid', 'connector_id',
'--fields', 'type']
verifylist = [('fields', [['uuid', 'connector_id'], ['type']]),
('volume_connector',
baremetal_fakes.baremetal_volume_connector_uuid)]
fake_vc = copy.deepcopy(baremetal_fakes.VOLUME_CONNECTOR)
fake_vc.pop('extra')
fake_vc.pop('node_uuid')
self.baremetal_mock.volume_connector.get.return_value = (
baremetal_fakes.FakeBaremetalResource(
None,
fake_vc,
loaded=True))
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
args = ['vvv-cccccc-vvvv']
fields = ['uuid', 'connector_id', 'type']
self.baremetal_mock.volume_connector.get.assert_called_once_with(
*args, fields=fields)
collist = ('connector_id', 'type', 'uuid')
self.assertEqual(collist, columns)
datalist = (
baremetal_fakes.baremetal_volume_connector_connector_id,
baremetal_fakes.baremetal_volume_connector_type,
baremetal_fakes.baremetal_volume_connector_uuid,
)
self.assertEqual(datalist, tuple(data))
class TestBaremetalVolumeConnectorList(TestBaremetalVolumeConnector):
def setUp(self):
super(TestBaremetalVolumeConnectorList, self).setUp()
self.baremetal_mock.volume_connector.list.return_value = [
baremetal_fakes.FakeBaremetalResource(
None,
copy.deepcopy(baremetal_fakes.VOLUME_CONNECTOR),
loaded=True)
]
self.cmd = (
bm_vol_connector.ListBaremetalVolumeConnector(self.app, None))
def test_baremetal_volume_connector_list(self):
arglist = []
verifylist = []
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
kwargs = {
'marker': None,
'limit': None}
self.baremetal_mock.volume_connector.list.assert_called_once_with(
**kwargs)
collist = (
"UUID",
"Node UUID",
"Type",
"Connector ID")
self.assertEqual(collist, columns)
datalist = ((baremetal_fakes.baremetal_volume_connector_uuid,
baremetal_fakes.baremetal_uuid,
baremetal_fakes.baremetal_volume_connector_type,
baremetal_fakes.baremetal_volume_connector_connector_id),)
self.assertEqual(datalist, tuple(data))
def test_baremetal_volume_connector_list_node(self):
arglist = ['--node', baremetal_fakes.baremetal_uuid]
verifylist = [('node', baremetal_fakes.baremetal_uuid)]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
kwargs = {
'node': baremetal_fakes.baremetal_uuid,
'marker': None,
'limit': None}
self.baremetal_mock.volume_connector.list.assert_called_once_with(
**kwargs)
collist = (
"UUID",
"Node UUID",
"Type",
"Connector ID")
self.assertEqual(collist, columns)
datalist = ((baremetal_fakes.baremetal_volume_connector_uuid,
baremetal_fakes.baremetal_uuid,
baremetal_fakes.baremetal_volume_connector_type,
baremetal_fakes.baremetal_volume_connector_connector_id),)
self.assertEqual(datalist, tuple(data))
def test_baremetal_volume_connector_list_long(self):
arglist = ['--long']
verifylist = [('detail', True)]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
kwargs = {
'detail': True,
'marker': None,
'limit': None,
}
self.baremetal_mock.volume_connector.list.assert_called_with(**kwargs)
collist = ('UUID', 'Node UUID', 'Type', 'Connector ID', 'Extra',
'Created At', 'Updated At')
self.assertEqual(collist, columns)
datalist = ((baremetal_fakes.baremetal_volume_connector_uuid,
baremetal_fakes.baremetal_uuid,
baremetal_fakes.baremetal_volume_connector_type,
baremetal_fakes.baremetal_volume_connector_connector_id,
baremetal_fakes.baremetal_volume_connector_extra,
'',
''),)
self.assertEqual(datalist, tuple(data))
def test_baremetal_volume_connector_list_fields(self):
arglist = ['--fields', 'uuid', 'connector_id']
verifylist = [('fields', [['uuid', 'connector_id']])]
fake_vc = copy.deepcopy(baremetal_fakes.VOLUME_CONNECTOR)
fake_vc.pop('type')
fake_vc.pop('extra')
fake_vc.pop('node_uuid')
self.baremetal_mock.volume_connector.list.return_value = [
baremetal_fakes.FakeBaremetalResource(
None,
fake_vc,
loaded=True)
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
kwargs = {
'detail': False,
'marker': None,
'limit': None,
'fields': ('uuid', 'connector_id')
}
self.baremetal_mock.volume_connector.list.assert_called_with(**kwargs)
collist = ('UUID', 'Connector ID')
self.assertEqual(collist, columns)
datalist = ((baremetal_fakes.baremetal_volume_connector_uuid,
baremetal_fakes.baremetal_volume_connector_connector_id),)
self.assertEqual(datalist, tuple(data))
def test_baremetal_volume_connector_list_fields_multiple(self):
arglist = ['--fields', 'uuid', 'connector_id', '--fields', 'extra']
verifylist = [('fields', [['uuid', 'connector_id'], ['extra']])]
fake_vc = copy.deepcopy(baremetal_fakes.VOLUME_CONNECTOR)
fake_vc.pop('type')
fake_vc.pop('node_uuid')
self.baremetal_mock.volume_connector.list.return_value = [
baremetal_fakes.FakeBaremetalResource(
None,
fake_vc,
loaded=True)
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
kwargs = {
'detail': False,
'marker': None,
'limit': None,
'fields': ('uuid', 'connector_id', 'extra')
}
self.baremetal_mock.volume_connector.list.assert_called_with(**kwargs)
collist = ('UUID', 'Connector ID', 'Extra')
self.assertEqual(collist, columns)
datalist = ((baremetal_fakes.baremetal_volume_connector_uuid,
baremetal_fakes.baremetal_volume_connector_connector_id,
baremetal_fakes.baremetal_volume_connector_extra),)
self.assertEqual(datalist, tuple(data))
def test_baremetal_volume_connector_list_invalid_fields(self):
arglist = ['--fields', 'uuid', 'invalid']
verifylist = [('fields', [['uuid', 'invalid']])]
self.assertRaises(osctestutils.ParserException,
self.check_parser,
self.cmd, arglist, verifylist)
def test_baremetal_volume_connector_list_marker(self):
arglist = ['--marker', baremetal_fakes.baremetal_volume_connector_uuid]
verifylist = [
('marker', baremetal_fakes.baremetal_volume_connector_uuid)]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
kwargs = {
'marker': baremetal_fakes.baremetal_volume_connector_uuid,
'limit': None}
self.baremetal_mock.volume_connector.list.assert_called_once_with(
**kwargs)
def test_baremetal_volume_connector_list_limit(self):
arglist = ['--limit', '10']
verifylist = [('limit', 10)]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
kwargs = {
'marker': None,
'limit': 10}
self.baremetal_mock.volume_connector.list.assert_called_once_with(
**kwargs)
def test_baremetal_volume_connector_list_sort(self):
arglist = ['--sort', 'type']
verifylist = [('sort', 'type')]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
kwargs = {
'marker': None,
'limit': None}
self.baremetal_mock.volume_connector.list.assert_called_once_with(
**kwargs)
def test_baremetal_volume_connector_list_sort_desc(self):
arglist = ['--sort', 'type:desc']
verifylist = [('sort', 'type:desc')]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
kwargs = {
'marker': None,
'limit': None}
self.baremetal_mock.volume_connector.list.assert_called_once_with(
**kwargs)
def test_baremetal_volume_connector_list_exclusive_options(self):
arglist = ['--fields', 'uuid', '--long']
self.assertRaises(osctestutils.ParserException,
self.check_parser,
self.cmd, arglist, [])
def test_baremetal_volume_connector_list_negative_limit(self):
arglist = ['--limit', '-1']
verifylist = [('limit', -1)]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(exc.CommandError,
self.cmd.take_action,
parsed_args)
class TestBaremetalVolumeConnectorDelete(TestBaremetalVolumeConnector):
def setUp(self):
super(TestBaremetalVolumeConnectorDelete, self).setUp()
self.cmd = (
bm_vol_connector.DeleteBaremetalVolumeConnector(self.app, None))
def test_baremetal_volume_connector_delete(self):
arglist = [baremetal_fakes.baremetal_volume_connector_uuid]
verifylist = [('volume_connectors',
[baremetal_fakes.baremetal_volume_connector_uuid])]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.baremetal_mock.volume_connector.delete.assert_called_with(
baremetal_fakes.baremetal_volume_connector_uuid)
def test_baremetal_volume_connector_delete_multiple(self):
fake_volume_connector_uuid2 = 'vvv-cccccc-cccc'
arglist = [baremetal_fakes.baremetal_volume_connector_uuid,
fake_volume_connector_uuid2]
verifylist = [('volume_connectors',
[baremetal_fakes.baremetal_volume_connector_uuid,
fake_volume_connector_uuid2])]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.baremetal_mock.volume_connector.delete.has_calls(
[mock.call(baremetal_fakes.baremetal_volume_connector_uuid),
mock.call(fake_volume_connector_uuid2)])
self.assertEqual(
2, self.baremetal_mock.volume_connector.delete.call_count)
def test_baremetal_volume_connector_delete_no_options(self):
arglist = []
verifylist = []
self.assertRaises(osctestutils.ParserException,
self.check_parser,
self.cmd, arglist, verifylist)
def test_baremetal_volume_connector_delete_error(self):
arglist = [baremetal_fakes.baremetal_volume_connector_uuid]
verifylist = [('volume_connectors',
[baremetal_fakes.baremetal_volume_connector_uuid])]
self.baremetal_mock.volume_connector.delete.side_effect = (
exc.NotFound())
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(exc.ClientException,
self.cmd.take_action,
parsed_args)
self.baremetal_mock.volume_connector.delete.assert_called_with(
baremetal_fakes.baremetal_volume_connector_uuid)
def test_baremetal_volume_connector_delete_multiple_error(self):
fake_volume_connector_uuid2 = 'vvv-cccccc-cccc'
arglist = [baremetal_fakes.baremetal_volume_connector_uuid,
fake_volume_connector_uuid2]
verifylist = [('volume_connectors',
[baremetal_fakes.baremetal_volume_connector_uuid,
fake_volume_connector_uuid2])]
self.baremetal_mock.volume_connector.delete.side_effect = [
None, exc.NotFound()]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(exc.ClientException,
self.cmd.take_action,
parsed_args)
self.baremetal_mock.volume_connector.delete.has_calls(
[mock.call(baremetal_fakes.baremetal_volume_connector_uuid),
mock.call(fake_volume_connector_uuid2)])
self.assertEqual(
2, self.baremetal_mock.volume_connector.delete.call_count)
class TestBaremetalVolumeConnectorSet(TestBaremetalVolumeConnector):
def setUp(self):
super(TestBaremetalVolumeConnectorSet, self).setUp()
self.cmd = (
bm_vol_connector.SetBaremetalVolumeConnector(self.app, None))
def test_baremetal_volume_connector_set_node_uuid(self):
new_node_uuid = 'xxx-xxxxxx-zzzz'
arglist = [
baremetal_fakes.baremetal_volume_connector_uuid,
'--node', new_node_uuid]
verifylist = [
('volume_connector',
baremetal_fakes.baremetal_volume_connector_uuid),
('node_uuid', new_node_uuid)]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.baremetal_mock.volume_connector.update.assert_called_once_with(
baremetal_fakes.baremetal_volume_connector_uuid,
[{'path': '/node_uuid', 'value': new_node_uuid, 'op': 'add'}])
def test_baremetal_volume_connector_set_type(self):
new_type = 'wwnn'
arglist = [
baremetal_fakes.baremetal_volume_connector_uuid,
'--type', new_type]
verifylist = [
('volume_connector',
baremetal_fakes.baremetal_volume_connector_uuid),
('type', new_type)]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.baremetal_mock.volume_connector.update.assert_called_once_with(
baremetal_fakes.baremetal_volume_connector_uuid,
[{'path': '/type', 'value': new_type, 'op': 'add'}])
def test_baremetal_volume_connector_set_connector_id(self):
new_conn_id = '11:22:33:44:55:66:77:88'
arglist = [
baremetal_fakes.baremetal_volume_connector_uuid,
'--connector-id', new_conn_id]
verifylist = [
('volume_connector',
baremetal_fakes.baremetal_volume_connector_uuid),
('connector_id', new_conn_id)]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.baremetal_mock.volume_connector.update.assert_called_once_with(
baremetal_fakes.baremetal_volume_connector_uuid,
[{'path': '/connector_id', 'value': new_conn_id, 'op': 'add'}])
def test_baremetal_volume_connector_set_type_and_connector_id(self):
new_type = 'wwnn'
new_conn_id = '11:22:33:44:55:66:77:88'
arglist = [
baremetal_fakes.baremetal_volume_connector_uuid,
'--type', new_type,
'--connector-id', new_conn_id]
verifylist = [
('volume_connector',
baremetal_fakes.baremetal_volume_connector_uuid),
('type', new_type),
('connector_id', new_conn_id)]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.baremetal_mock.volume_connector.update.assert_called_once_with(
baremetal_fakes.baremetal_volume_connector_uuid,
[{'path': '/type', 'value': new_type, 'op': 'add'},
{'path': '/connector_id', 'value': new_conn_id, 'op': 'add'}])
def test_baremetal_volume_connector_set_extra(self):
arglist = [
baremetal_fakes.baremetal_volume_connector_uuid,
'--extra', 'foo=bar']
verifylist = [
('volume_connector',
baremetal_fakes.baremetal_volume_connector_uuid),
('extra', ['foo=bar'])]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.baremetal_mock.volume_connector.update.assert_called_once_with(
baremetal_fakes.baremetal_volume_connector_uuid,
[{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}])
def test_baremetal_volume_connector_set_multiple_extras(self):
arglist = [
baremetal_fakes.baremetal_volume_connector_uuid,
'--extra', 'key1=val1', '--extra', 'key2=val2']
verifylist = [
('volume_connector',
baremetal_fakes.baremetal_volume_connector_uuid),
('extra', ['key1=val1', 'key2=val2'])]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.baremetal_mock.volume_connector.update.assert_called_once_with(
baremetal_fakes.baremetal_volume_connector_uuid,
[{'path': '/extra/key1', 'value': 'val1', 'op': 'add'},
{'path': '/extra/key2', 'value': 'val2', 'op': 'add'}])
def test_baremetal_volume_connector_set_no_options(self):
arglist = []
verifylist = []
self.assertRaises(osctestutils.ParserException,
self.check_parser,
self.cmd, arglist, verifylist)
def test_baremetal_volume_connector_set_no_property(self):
arglist = [baremetal_fakes.baremetal_volume_connector_uuid]
verifylist = [('volume_connector',
baremetal_fakes.baremetal_volume_connector_uuid)]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.baremetal_mock.volume_connector.update.assert_not_called()
class TestBaremetalVolumeConnectorUnset(TestBaremetalVolumeConnector):
def setUp(self):
super(TestBaremetalVolumeConnectorUnset, self).setUp()
self.cmd = (
bm_vol_connector.UnsetBaremetalVolumeConnector(self.app, None))
def test_baremetal_volume_connector_unset_extra(self):
arglist = [baremetal_fakes.baremetal_volume_connector_uuid,
'--extra', 'key1']
verifylist = [('volume_connector',
baremetal_fakes.baremetal_volume_connector_uuid),
('extra', ['key1'])]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.baremetal_mock.volume_connector.update.assert_called_once_with(
baremetal_fakes.baremetal_volume_connector_uuid,
[{'path': '/extra/key1', 'op': 'remove'}])
def test_baremetal_volume_connector_unset_multiple_extras(self):
arglist = [baremetal_fakes.baremetal_volume_connector_uuid,
'--extra', 'key1', '--extra', 'key2']
verifylist = [('volume_connector',
baremetal_fakes.baremetal_volume_connector_uuid),
('extra', ['key1', 'key2'])]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.baremetal_mock.volume_connector.update.assert_called_once_with(
baremetal_fakes.baremetal_volume_connector_uuid,
[{'path': '/extra/key1', 'op': 'remove'},
{'path': '/extra/key2', 'op': 'remove'}])
def test_baremetal_volume_connector_unset_no_options(self):
arglist = []
verifylist = []
self.assertRaises(osctestutils.ParserException,
self.check_parser,
self.cmd, arglist, verifylist)
def test_baremetal_volume_connector_unset_no_property(self):
arglist = [baremetal_fakes.baremetal_volume_connector_uuid]
verifylist = [('volume_connector',
baremetal_fakes.baremetal_volume_connector_uuid)]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.baremetal_mock.volume_connector.update.assert_not_called()