Merge "Add support of pod resource management with "name""

This commit is contained in:
Jenkins 2015-03-09 01:58:41 +00:00 committed by Gerrit Code Review
commit b63610d2b1
3 changed files with 46 additions and 14 deletions

View File

@ -71,6 +71,21 @@ fake_responses = {
UPDATED_POD,
),
},
'/v1/pods/%s' % POD1['name']:
{
'GET': (
{},
POD1
),
'DELETE': (
{},
None,
),
'PATCH': (
{},
UPDATED_POD,
),
},
}
@ -89,7 +104,7 @@ class PodManagerTest(testtools.TestCase):
self.assertEqual(expect, self.api.calls)
self.assertThat(pods, matchers.HasLength(2))
def test_pod_show(self):
def test_pod_show_by_id(self):
pod = self.mgr.get(POD1['id'])
expect = [
('GET', '/v1/pods/%s' % POD1['id'], {}, None)
@ -98,6 +113,15 @@ class PodManagerTest(testtools.TestCase):
self.assertEqual(POD1['name'], pod.name)
self.assertEqual(POD1['desc'], pod.desc)
def test_pod_show_by_name(self):
pod = self.mgr.get(POD1['name'])
expect = [
('GET', '/v1/pods/%s' % POD1['name'], {}, None)
]
self.assertEqual(expect, self.api.calls)
self.assertEqual(POD1['name'], pod.name)
self.assertEqual(POD1['desc'], pod.desc)
def test_pod_create(self):
pod = self.mgr.create(**CREATE_POD)
expect = [
@ -106,7 +130,7 @@ class PodManagerTest(testtools.TestCase):
self.assertEqual(expect, self.api.calls)
self.assertTrue(pod)
def test_pod_delete(self):
def test_pod_delete_by_id(self):
pod = self.mgr.delete(POD1['id'])
expect = [
('DELETE', '/v1/pods/%s' % POD1['id'], {}, None),
@ -114,6 +138,14 @@ class PodManagerTest(testtools.TestCase):
self.assertEqual(expect, self.api.calls)
self.assertIsNone(pod)
def test_pod_delete_by_name(self):
pod = self.mgr.delete(POD1['name'])
expect = [
('DELETE', '/v1/pods/%s' % POD1['name'], {}, None),
]
self.assertEqual(expect, self.api.calls)
self.assertIsNone(pod)
def test_pod_update(self):
patch = {'op': 'replace',
'value': NEW_DESCR,

View File

@ -169,7 +169,7 @@ class ShellTest(base.TestCase):
client_mock = mock.MagicMock()
args = mock.MagicMock()
pod_id = 'id'
args.id = [pod_id]
args.pods = [pod_id]
shell.do_pod_delete(client_mock, args)
client_mock.pods.delete.assert_called_once_with(pod_id)
@ -178,7 +178,7 @@ class ShellTest(base.TestCase):
client_mock = mock.MagicMock()
args = mock.MagicMock()
pod_id = 'id'
args.id = pod_id
args.pod = pod_id
shell.do_pod_show(client_mock, args)
client_mock.pods.get.assert_called_once_with(pod_id)

View File

@ -270,27 +270,27 @@ def do_pod_create(cs, args):
pass
@utils.arg('id',
metavar='<pod_id>',
@utils.arg('pods',
metavar='<pods>',
nargs='+',
help='ID of the (pod)s to delete.')
help='ID or name of the (pod)s to delete.')
def do_pod_delete(cs, args):
"""Delete specified pod."""
for id in args.id:
for pod in args.pods:
try:
cs.pods.delete(id)
cs.pods.delete(pod)
except Exception as e:
print("Delete for pod %(pod)s failed: %(e)s" %
{'pod': id, 'e': e})
{'pod': pod, 'e': e})
pass
@utils.arg('id',
metavar='<pod_id>',
help='ID of the pod to show.')
@utils.arg('pod',
metavar='<pod>',
help='ID or name of the pod to show.')
def do_pod_show(cs, args):
"""Show details about the given pod."""
pod = cs.pods.get(args.id)
pod = cs.pods.get(args.pod)
_show_pod(pod)