Merge "Add support of baymodel resource management with "name""
This commit is contained in:
@@ -95,6 +95,21 @@ fake_responses = {
|
||||
UPDATED_BAYMODEL,
|
||||
),
|
||||
},
|
||||
'/v1/baymodels/%s' % BAYMODEL1['name']:
|
||||
{
|
||||
'GET': (
|
||||
{},
|
||||
BAYMODEL1
|
||||
),
|
||||
'DELETE': (
|
||||
{},
|
||||
None,
|
||||
),
|
||||
'PATCH': (
|
||||
{},
|
||||
UPDATED_BAYMODEL,
|
||||
),
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -113,7 +128,7 @@ class BayModelManagerTest(testtools.TestCase):
|
||||
self.assertEqual(expect, self.api.calls)
|
||||
self.assertThat(baymodels, matchers.HasLength(2))
|
||||
|
||||
def test_baymodel_show(self):
|
||||
def test_baymodel_show_by_id(self):
|
||||
baymodel = self.mgr.get(BAYMODEL1['id'])
|
||||
expect = [
|
||||
('GET', '/v1/baymodels/%s' % BAYMODEL1['id'], {}, None)
|
||||
@@ -127,6 +142,20 @@ class BayModelManagerTest(testtools.TestCase):
|
||||
self.assertEqual(BAYMODEL1['ssh_authorized_key'],
|
||||
baymodel.ssh_authorized_key)
|
||||
|
||||
def test_baymodel_show_by_name(self):
|
||||
baymodel = self.mgr.get(BAYMODEL1['name'])
|
||||
expect = [
|
||||
('GET', '/v1/baymodels/%s' % BAYMODEL1['name'], {}, None)
|
||||
]
|
||||
self.assertEqual(expect, self.api.calls)
|
||||
self.assertEqual(BAYMODEL1['name'], baymodel.name)
|
||||
self.assertEqual(BAYMODEL1['image_id'], baymodel.image_id)
|
||||
self.assertEqual(BAYMODEL1['docker_volume_size'],
|
||||
baymodel.docker_volume_size)
|
||||
self.assertEqual(BAYMODEL1['fixed_network'], baymodel.fixed_network)
|
||||
self.assertEqual(BAYMODEL1['ssh_authorized_key'],
|
||||
baymodel.ssh_authorized_key)
|
||||
|
||||
def test_baymodel_create(self):
|
||||
baymodel = self.mgr.create(**CREATE_BAYMODEL)
|
||||
expect = [
|
||||
@@ -137,7 +166,7 @@ class BayModelManagerTest(testtools.TestCase):
|
||||
self.assertEqual(BAYMODEL1['docker_volume_size'],
|
||||
baymodel.docker_volume_size)
|
||||
|
||||
def test_baymodel_delete(self):
|
||||
def test_baymodel_delete_by_id(self):
|
||||
baymodel = self.mgr.delete(BAYMODEL1['id'])
|
||||
expect = [
|
||||
('DELETE', '/v1/baymodels/%s' % BAYMODEL1['id'], {}, None),
|
||||
@@ -145,6 +174,14 @@ class BayModelManagerTest(testtools.TestCase):
|
||||
self.assertEqual(expect, self.api.calls)
|
||||
self.assertIsNone(baymodel)
|
||||
|
||||
def test_baymodel_delete_by_name(self):
|
||||
baymodel = self.mgr.delete(BAYMODEL1['name'])
|
||||
expect = [
|
||||
('DELETE', '/v1/baymodels/%s' % BAYMODEL1['name'], {}, None),
|
||||
]
|
||||
self.assertEqual(expect, self.api.calls)
|
||||
self.assertIsNone(baymodel)
|
||||
|
||||
def test_baymodel_update(self):
|
||||
patch = {'op': 'replace',
|
||||
'value': NEW_NAME,
|
||||
|
||||
@@ -107,7 +107,7 @@ class ShellTest(base.TestCase):
|
||||
client_mock = mock.MagicMock()
|
||||
args = mock.MagicMock()
|
||||
baymodel_id = 'id'
|
||||
args.id = [baymodel_id]
|
||||
args.baymodels = [baymodel_id]
|
||||
|
||||
shell.do_baymodel_delete(client_mock, args)
|
||||
client_mock.baymodels.delete.assert_called_once_with(baymodel_id)
|
||||
@@ -116,7 +116,7 @@ class ShellTest(base.TestCase):
|
||||
client_mock = mock.MagicMock()
|
||||
args = mock.MagicMock()
|
||||
baymodel_id = 'id'
|
||||
args.id = baymodel_id
|
||||
args.baymodel = baymodel_id
|
||||
|
||||
shell.do_baymodel_show(client_mock, args)
|
||||
client_mock.baymodels.get.assert_called_once_with(baymodel_id)
|
||||
|
||||
@@ -186,26 +186,26 @@ def do_baymodel_create(cs, args):
|
||||
_show_baymodel(baymodel)
|
||||
|
||||
|
||||
@utils.arg('id',
|
||||
metavar='<baymodel_id>',
|
||||
@utils.arg('baymodels',
|
||||
metavar='<baymodels>',
|
||||
nargs='+',
|
||||
help='ID of the (baymodel)s to delete.')
|
||||
help='ID or name of the (baymodel)s to delete.')
|
||||
def do_baymodel_delete(cs, args):
|
||||
"""Delete specified baymodel."""
|
||||
for id in args.id:
|
||||
for baymodel in args.baymodels:
|
||||
try:
|
||||
cs.baymodels.delete(id)
|
||||
cs.baymodels.delete(baymodel)
|
||||
except Exception as e:
|
||||
print("Delete for baymodel %(baymodel)s failed: %(e)s" %
|
||||
{'baymodel': id, 'e': e})
|
||||
{'baymodel': baymodel, 'e': e})
|
||||
|
||||
|
||||
@utils.arg('id',
|
||||
metavar='<baymodel_id>',
|
||||
@utils.arg('baymodel',
|
||||
metavar='<baymodel>',
|
||||
help='ID of the baymodel to show.')
|
||||
def do_baymodel_show(cs, args):
|
||||
"""Show details about the given baymodel."""
|
||||
baymodel = cs.baymodels.get(args.id)
|
||||
baymodel = cs.baymodels.get(args.baymodel)
|
||||
_show_baymodel(baymodel)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user