Adds client support for action results
Partially implements: blueprint actions-return-result Change-Id: Ia61b1fb5a4c61451c6ceba80c9ecab7452ee7986
This commit is contained in:
parent
1c71742030
commit
401e089367
@ -196,11 +196,11 @@ class UnitTestsForClassesAndFunctions(testtools.TestCase):
|
||||
self.assertRaises(TypeError, manager.deploy)
|
||||
|
||||
def test_action_manager_call(self):
|
||||
manager = actions.ActionManager(api)
|
||||
api_mock = mock.MagicMock(
|
||||
json_request=lambda *args, **kwargs: (None, {'task_id': '1234'}))
|
||||
manager = actions.ActionManager(api_mock)
|
||||
result = manager.call('testEnvId', 'testActionId', ['arg1', 'arg2'])
|
||||
self.assertEqual(('POST',
|
||||
'/v1/environments/testEnvId/actions/testActionId'),
|
||||
result)
|
||||
self.assertEqual('1234', result)
|
||||
|
||||
def test_package_filter_pagination_next_marker(self):
|
||||
"""``PackageManager.filter`` handles `next_marker` parameter related
|
||||
@ -218,10 +218,16 @@ class UnitTestsForClassesAndFunctions(testtools.TestCase):
|
||||
return mock.MagicMock(), responses.pop(0)
|
||||
|
||||
api = mock.MagicMock()
|
||||
|
||||
api.configure_mock(**{'json_request.side_effect': json_request})
|
||||
|
||||
manager = packages.PackageManager(api)
|
||||
list(manager.filter())
|
||||
|
||||
self.assertEqual(api.json_request.call_count, 2)
|
||||
|
||||
def test_action_manager_get_result(self):
|
||||
api_mock = mock.MagicMock(
|
||||
json_request=lambda *args, **kwargs: (None, {'a': 'b'}))
|
||||
manager = actions.ActionManager(api_mock)
|
||||
result = manager.get_result('testEnvId', '1234')
|
||||
self.assertEqual({'a': 'b'}, result)
|
||||
|
@ -26,5 +26,11 @@ class ActionManager(object):
|
||||
arguments = {}
|
||||
url = '/v1/environments/{environment_id}/actions/{action_id}'.format(
|
||||
environment_id=environment_id, action_id=action_id)
|
||||
resp, arguments = self.api.json_request('POST', url, body=arguments)
|
||||
return resp
|
||||
resp, body = self.api.json_request('POST', url, body=arguments)
|
||||
return body['task_id']
|
||||
|
||||
def get_result(self, environment_id, task_id):
|
||||
url = '/v1/environments/{environment_id}/actions/{task_id}'.format(
|
||||
environment_id=environment_id, task_id=task_id)
|
||||
resp, body = self.api.json_request('GET', url)
|
||||
return body or None
|
||||
|
Loading…
Reference in New Issue
Block a user