Add trigger update client
To keep consistency with api doc, add trigger update client, and fix plan update client. Change-Id: Ie2e6e01bde0d3c8a947685874dcb2d82a6a49e12
This commit is contained in:
@@ -66,7 +66,7 @@ class TriggersTest(base.TestCaseShell):
|
||||
headers={})
|
||||
|
||||
@mock.patch('karborclient.common.http.HTTPClient.json_request')
|
||||
def test_show_plan(self, mock_request):
|
||||
def test_show_trigger(self, mock_request):
|
||||
mock_request.return_value = mock_request_return
|
||||
cs.triggers.get('1')
|
||||
mock_request.assert_called_with(
|
||||
@@ -82,3 +82,18 @@ class TriggersTest(base.TestCaseShell):
|
||||
'GET',
|
||||
'/triggers/1',
|
||||
headers={'X-Configuration-Session': 'fake_session_id'})
|
||||
|
||||
@mock.patch('karborclient.common.http.HTTPClient.json_request')
|
||||
def test_update_trigger(self, mock_request):
|
||||
mock_request.return_value = mock_request_return
|
||||
trigger_id = '123'
|
||||
data = {"name": "My Trigger",
|
||||
"properties": {"pattern": "0 10 * * *", "format": "crontab"}}
|
||||
body = {"trigger_info": data}
|
||||
cs.triggers.update(trigger_id, data)
|
||||
mock_request.assert_called_with(
|
||||
'PUT',
|
||||
'/triggers/123',
|
||||
data=body,
|
||||
headers={}
|
||||
)
|
||||
|
||||
@@ -164,7 +164,7 @@ def do_plan_delete(cs, args):
|
||||
help="Id of plan to update.")
|
||||
@utils.arg("--name", metavar="<name>",
|
||||
help="A name to which the plan will be renamed.")
|
||||
@utils.arg("--resources", metavar="<id=type,id=type>",
|
||||
@utils.arg("--resources", metavar="<id=type=name,id=type=name>",
|
||||
help="Resources to which the plan will be updated.")
|
||||
@utils.arg("--status", metavar="<suspended|started>",
|
||||
help="status to which the plan will be updated.")
|
||||
@@ -732,6 +732,22 @@ def _extract_properties(args):
|
||||
return properties
|
||||
|
||||
|
||||
@utils.arg("trigger_id", metavar="<TRIGGER ID>",
|
||||
help="Id of trigger to update.")
|
||||
@utils.arg("--name", metavar="<name>",
|
||||
help="A new name to which the trigger will be renamed.")
|
||||
@utils.arg("--properties", metavar="<key=value:key=value>",
|
||||
help="Properties of trigger which will be updated.")
|
||||
def do_trigger_update(cs, args):
|
||||
"""Update a trigger."""
|
||||
trigger_info = {}
|
||||
trigger_properties = _extract_properties(args)
|
||||
trigger_info['name'] = args.name
|
||||
trigger_info['properties'] = trigger_properties
|
||||
trigger = cs.triggers.update(args.trigger_id, trigger_info)
|
||||
utils.print_dict(trigger.to_dict())
|
||||
|
||||
|
||||
@utils.arg('trigger',
|
||||
metavar='<trigger>',
|
||||
help='ID of trigger.')
|
||||
|
||||
@@ -46,6 +46,14 @@ class TriggerManager(base.ManagerWithFind):
|
||||
trigger_id=trigger_id)
|
||||
return self._get(url, response_key="trigger_info", headers=headers)
|
||||
|
||||
def update(self, trigger_id, data):
|
||||
|
||||
body = {"trigger_info": data}
|
||||
|
||||
return self._update('/triggers/{trigger_id}'
|
||||
.format(trigger_id=trigger_id),
|
||||
body, "trigger_info")
|
||||
|
||||
def list(self, detailed=False, search_opts=None, marker=None, limit=None,
|
||||
sort_key=None, sort_dir=None, sort=None):
|
||||
"""Lists all triggers."""
|
||||
|
||||
Reference in New Issue
Block a user