)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":35584,"name":"Vasudeo Nimbekar","display_name":"Vasudeo Nimbekar","email":"vasudeo.nimbekar.opendev@gmail.com","username":"devnimbekar"},"change_message_id":"caedf59ff019ddd7dc2a65520348829d0a407d1d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":19,"id":"ba47dcce_05aa6f00","updated":"2022-12-20 06:02:25.000000000","message":"Examples:\nRequest:\n/v2/tasks/73d683eb-09d1-4511-8f22-58d8c017a68e?fields\u003dname\nResponse:\n{\n    \"id\": \"73d683eb-09d1-4511-8f22-58d8c017a68e\",\n    \"name\": \"t0\"\n}\n\nRequest:\n/v2/executions/a614ef07-2fe8-4ee2-992c-0df118af3ab0?fields\u003dworkflow_name\nResponse:\n{\n    \"id\": \"a614ef07-2fe8-4ee2-992c-0df118af3ab0\",\n    \"workflow_name\": \"simple_wf1\"\n}\n\nRequest:\n/v2/workflows/13cdeb41-31f4-4295-a36c-f72f84795747?fields\u003dname\nResponse:\n{\n    \"id\": \"13cdeb41-31f4-4295-a36c-f72f84795747\",\n    \"name\": \"simple_wf1\"\n}\n","commit_id":"ed867682a22566e6f8d7c90d94c3fc5d3381a430"},{"author":{"_account_id":35584,"name":"Vasudeo Nimbekar","display_name":"Vasudeo Nimbekar","email":"vasudeo.nimbekar.opendev@gmail.com","username":"devnimbekar"},"change_message_id":"19bee93b143766a0cb7be0d828cf789a9aeaae6f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"61478485_317c7002","in_reply_to":"ba47dcce_05aa6f00","updated":"2022-12-20 06:05:41.000000000","message":"Done","commit_id":"ed867682a22566e6f8d7c90d94c3fc5d3381a430"}],"mistral/api/controllers/v2/action.py":[{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"35a76b9da817703bc93e06870f3493eac34c613a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        :param identifier: ID or name of the Action to get."},{"line_number":54,"context_line":"        :param fields: Optional. A specified list of fields of the resource to"},{"line_number":55,"context_line":"                       be returned. \u0027id\u0027 will be included automatically in"},{"line_number":56,"context_line":"                       fields if it\u0027s provided."},{"line_number":57,"context_line":"        \"\"\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        acl.enforce(\u0027actions:get\u0027, context.ctx())"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_4946297f","line":56,"range":{"start_line":56,"start_character":30,"end_line":56,"end_character":46},"updated":"2019-01-09 09:41:29.000000000","message":"Soft: I guess it should be \"if it\u0027s not provided\" everywhere. Can be addressed separately though.","commit_id":"f6b740708b8abd4d9fc4b24dc920c7d05def40ca"},{"author":{"_account_id":22003,"name":"Xavier Hardy","email":"hardyxavier@gmail.com","username":"xavierhardy"},"change_message_id":"9586fa97497c9c8fce599639251f9e0209b5eca9","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        :param identifier: ID or name of the Action to get."},{"line_number":54,"context_line":"        :param fields: Optional. A specified list of fields of the resource to"},{"line_number":55,"context_line":"                       be returned. \u0027id\u0027 will be included automatically in"},{"line_number":56,"context_line":"                       fields if it\u0027s provided."},{"line_number":57,"context_line":"        \"\"\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        acl.enforce(\u0027actions:get\u0027, context.ctx())"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_d7bf07ce","line":56,"range":{"start_line":56,"start_character":30,"end_line":56,"end_character":46},"in_reply_to":"dfd5e7cf_4946297f","updated":"2019-01-09 21:55:31.000000000","message":"You\u0027re right, thanks","commit_id":"f6b740708b8abd4d9fc4b24dc920c7d05def40ca"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"8234994f8e6e227bafac1e7953745fe726adbfba","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    @rest_utils.wrap_wsme_controller_exception"},{"line_number":49,"context_line":"    @wsme_pecan.wsexpose(resources.Action, wtypes.text, types.uniquelist)"},{"line_number":50,"context_line":"    def get(self, identifier, fields\u003d\u0027\u0027):"},{"line_number":51,"context_line":"        \"\"\"Return the named action."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        :param identifier: ID or name of the Action to get."}],"source_content_type":"text/x-python","patch_set":9,"id":"ffb9cba7_a0a475ba","line":50,"range":{"start_line":50,"start_character":37,"end_line":50,"end_character":39},"updated":"2019-04-25 05:13:46.000000000","message":"should this rather be an array? Or an empty tuple?","commit_id":"8c9f41d56c9ef6b79758e49d0f6e3c088b80e364"}],"mistral/api/controllers/v2/task.py":[{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"8234994f8e6e227bafac1e7953745fe726adbfba","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"def _get_task_resource_with_result(task_ex, fields\u003d\u0027\u0027):"},{"line_number":51,"context_line":"    task \u003d resources.Task.from_db_model(task_ex, fields\u003dfields)"},{"line_number":52,"context_line":"    if \u0027result\u0027 in fields or not fields:"},{"line_number":53,"context_line":"        task.result \u003d json.dumps(data_flow.get_task_execution_result(task_ex))"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    return task"}],"source_content_type":"text/x-python","patch_set":9,"id":"ffb9cba7_a092354a","line":52,"range":{"start_line":52,"start_character":7,"end_line":52,"end_character":39},"updated":"2019-04-25 05:13:46.000000000","message":"switching the two sides of the OR would look better","commit_id":"8c9f41d56c9ef6b79758e49d0f6e3c088b80e364"}],"mistral/db/sqlalchemy/model_base.py":[{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"8234994f8e6e227bafac1e7953745fe726adbfba","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        \"\"\"Returns an iterator for loaded columns."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        :param fields: names of fields to return"},{"line_number":94,"context_line":"        :type fields: tuple, list or set"},{"line_number":95,"context_line":"        :return: A generator function that generates"},{"line_number":96,"context_line":"            tuples (column name, column value)."},{"line_number":97,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"ffb9cba7_00a301a0","line":94,"range":{"start_line":94,"start_character":22,"end_line":94,"end_character":40},"updated":"2019-04-25 05:13:46.000000000","message":"so the default is string :)","commit_id":"8c9f41d56c9ef6b79758e49d0f6e3c088b80e364"}],"mistral/tests/unit/api/v2/test_action_executions.py":[{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"8234994f8e6e227bafac1e7953745fe726adbfba","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        self.assertDictEqual(ACTION_EX, resp.json)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    @mock.patch(\u0027mistral.db.v2.api.get_action_execution\u0027)"},{"line_number":233,"context_line":"    def test_get_with_fields_filter(self, mocked_get):"},{"line_number":234,"context_line":"        mocked_get.return_value \u003d (ACTION_EX[\u0027id\u0027], ACTION_EX[\u0027name\u0027],)"},{"line_number":235,"context_line":"        resp \u003d self.app.get(\u0027/v2/action_executions/123?fields\u003dname\u0027)"},{"line_number":236,"context_line":"        expected \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"ffb9cba7_40357945","line":233,"range":{"start_line":233,"start_character":4,"end_line":233,"end_character":35},"updated":"2019-04-25 05:13:46.000000000","message":"These tests are practically copy-paste for all controllers. It may be better extracted into a test utility function which would get the mock and the test uri. Using actual example objects seems to be not required either as arbitrary values can be used for \u0027id\u0027 and \u0027name\u0027.\n(I know we like copy-pasting tests in Mistral, but come on :)","commit_id":"8c9f41d56c9ef6b79758e49d0f6e3c088b80e364"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"8234994f8e6e227bafac1e7953745fe726adbfba","unresolved":false,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    @mock.patch(\u0027mistral.db.v2.api.get_action_execution\u0027)"},{"line_number":233,"context_line":"    def test_get_with_fields_filter(self, mocked_get):"},{"line_number":234,"context_line":"        mocked_get.return_value \u003d (ACTION_EX[\u0027id\u0027], ACTION_EX[\u0027name\u0027],)"},{"line_number":235,"context_line":"        resp \u003d self.app.get(\u0027/v2/action_executions/123?fields\u003dname\u0027)"},{"line_number":236,"context_line":"        expected \u003d {"},{"line_number":237,"context_line":"            \u0027id\u0027: ACTION_EX[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"ffb9cba7_60b51dcd","line":234,"range":{"start_line":234,"start_character":34,"end_line":234,"end_character":51},"updated":"2019-04-25 05:13:46.000000000","message":"The mock unconditionally returning this value can hide the fact that the controller did not include the id field in the request.","commit_id":"8c9f41d56c9ef6b79758e49d0f6e3c088b80e364"}],"mistral/tests/unit/api/v2/test_actions.py":[{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"8234994f8e6e227bafac1e7953745fe726adbfba","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    @mock.patch(\u0027mistral.db.v2.api.get_action_definition\u0027)"},{"line_number":139,"context_line":"    def test_get_with_fields_filter(self, mocked_get):"},{"line_number":140,"context_line":"        mocked_get.return_value \u003d (ACTION[\u0027id\u0027], ACTION[\u0027name\u0027],)"},{"line_number":141,"context_line":"        resp \u003d self.app.get(\u0027/v2/actions/my_action?fields\u003dname\u0027)"},{"line_number":142,"context_line":"        expected \u003d {"},{"line_number":143,"context_line":"            \u0027id\u0027: ACTION[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"ffb9cba7_c0c5e93d","line":140,"range":{"start_line":140,"start_character":35,"end_line":140,"end_character":47},"updated":"2019-04-25 05:13:46.000000000","message":"See comment at test_action_executions.py","commit_id":"8c9f41d56c9ef6b79758e49d0f6e3c088b80e364"}],"mistral/tests/unit/api/v2/test_cron_triggers.py":[{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"8234994f8e6e227bafac1e7953745fe726adbfba","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    @mock.patch(\u0027mistral.db.v2.api.get_cron_trigger\u0027)"},{"line_number":83,"context_line":"    def test_get_with_fields_filter(self, mocked_get):"},{"line_number":84,"context_line":"        mocked_get.return_value \u003d (TRIGGER[\u0027id\u0027], TRIGGER[\u0027name\u0027],)"},{"line_number":85,"context_line":"        resp \u003d self.app.get(\u0027/v2/cron_triggers/my_cron_trigger?fields\u003dname\u0027)"},{"line_number":86,"context_line":"        expected \u003d {"},{"line_number":87,"context_line":"            \u0027id\u0027: TRIGGER[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"ffb9cba7_80ddb115","line":84,"range":{"start_line":84,"start_character":35,"end_line":84,"end_character":48},"updated":"2019-04-25 05:13:46.000000000","message":"See comment at test_action_executions.py","commit_id":"8c9f41d56c9ef6b79758e49d0f6e3c088b80e364"}],"mistral/tests/unit/api/v2/test_environment.py":[{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"8234994f8e6e227bafac1e7953745fe726adbfba","unresolved":false,"context_lines":[{"line_number":192,"context_line":"    @mock.patch(\u0027mistral.db.v2.api.get_environment\u0027)"},{"line_number":193,"context_line":"    def test_get_with_fields_filter(self, mocked_get):"},{"line_number":194,"context_line":"        mocked_get.return_value \u003d ("},{"line_number":195,"context_line":"            ENVIRONMENT[\u0027id\u0027], ENVIRONMENT[\u0027name\u0027],"},{"line_number":196,"context_line":"        )"},{"line_number":197,"context_line":"        resp \u003d self.app.get(\u0027/v2/environments/123?fields\u003dname\u0027)"},{"line_number":198,"context_line":"        expected \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"ffb9cba7_a0e0f5cd","line":195,"range":{"start_line":195,"start_character":12,"end_line":195,"end_character":29},"updated":"2019-04-25 05:13:46.000000000","message":"See comment at test_action_executions.py","commit_id":"8c9f41d56c9ef6b79758e49d0f6e3c088b80e364"}],"mistral/tests/unit/api/v2/test_event_trigger.py":[{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"8234994f8e6e227bafac1e7953745fe726adbfba","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @mock.patch(\u0027mistral.db.v2.api.get_event_trigger\u0027)"},{"line_number":81,"context_line":"    def test_get_with_fields_filter(self, mocked_get):"},{"line_number":82,"context_line":"        mocked_get.return_value \u003d (TRIGGER[\u0027id\u0027], TRIGGER[\u0027name\u0027],)"},{"line_number":83,"context_line":"        resp \u003d self.app.get("},{"line_number":84,"context_line":"            \u0027/v2/event_triggers/09cc56a9-d15e-4494-a6e2-c4ec8bdaacae\u0027"},{"line_number":85,"context_line":"            \u0027?fields\u003dname\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"ffb9cba7_40e7b9e5","line":82,"range":{"start_line":82,"start_character":36,"end_line":82,"end_character":48},"updated":"2019-04-25 05:13:46.000000000","message":"See comment at test_action_executions.py","commit_id":"8c9f41d56c9ef6b79758e49d0f6e3c088b80e364"}],"mistral/tests/unit/api/v2/test_executions.py":[{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"8234994f8e6e227bafac1e7953745fe726adbfba","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    @mock.patch(\u0027mistral.db.v2.api.get_workflow_execution\u0027)"},{"line_number":166,"context_line":"    def test_get_with_fields_filter(self, mocked_get):"},{"line_number":167,"context_line":"        mocked_get.return_value \u003d ("},{"line_number":168,"context_line":"            WF_EX_JSON_WITH_DESC[\u0027id\u0027], WF_EX_JSON_WITH_DESC[\u0027description\u0027],"},{"line_number":169,"context_line":"        )"},{"line_number":170,"context_line":"        resp \u003d self.app.get(\u0027/v2/executions/123?fields\u003ddescription\u0027)"},{"line_number":171,"context_line":"        expected \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"ffb9cba7_00d1c1fb","line":168,"range":{"start_line":168,"start_character":12,"end_line":168,"end_character":38},"updated":"2019-04-25 05:13:46.000000000","message":"See comment at test_action_executions.py","commit_id":"8c9f41d56c9ef6b79758e49d0f6e3c088b80e364"}],"mistral/tests/unit/api/v2/test_tasks.py":[{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"8234994f8e6e227bafac1e7953745fe726adbfba","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @mock.patch(\u0027mistral.db.v2.api.get_task_execution\u0027)"},{"line_number":171,"context_line":"    def test_get_with_fields_filter(self, mocked_get):"},{"line_number":172,"context_line":"        mocked_get.return_value \u003d (TASK[\u0027id\u0027], TASK[\u0027name\u0027],)"},{"line_number":173,"context_line":"        resp \u003d self.app.get(\u0027/v2/tasks/123?fields\u003dname\u0027)"},{"line_number":174,"context_line":"        expected \u003d {"},{"line_number":175,"context_line":"            \u0027id\u0027: TASK[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"ffb9cba7_c0dac915","line":172,"range":{"start_line":172,"start_character":35,"end_line":172,"end_character":45},"updated":"2019-04-25 05:13:46.000000000","message":"See comment at test_action_executions.py","commit_id":"8c9f41d56c9ef6b79758e49d0f6e3c088b80e364"}],"mistral/tests/unit/api/v2/test_workbooks.py":[{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"8234994f8e6e227bafac1e7953745fe726adbfba","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    @mock.patch(\u0027mistral.db.v2.api.get_workbook\u0027)"},{"line_number":173,"context_line":"    def test_get_with_fields_filter(self, mocked_get):"},{"line_number":174,"context_line":"        mocked_get.return_value \u003d (WORKBOOK[\u0027id\u0027], WORKBOOK[\u0027name\u0027],)"},{"line_number":175,"context_line":"        resp \u003d self.app.get(\u0027/v2/workbooks/123?fields\u003dname\u0027)"},{"line_number":176,"context_line":"        expected \u003d {"},{"line_number":177,"context_line":"            \u0027id\u0027: WORKBOOK[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"ffb9cba7_e0d58de6","line":174,"range":{"start_line":174,"start_character":37,"end_line":174,"end_character":48},"updated":"2019-04-25 05:13:46.000000000","message":"See comment at test_action_executions.py","commit_id":"8c9f41d56c9ef6b79758e49d0f6e3c088b80e364"}],"mistral/tests/unit/api/v2/test_workflows.py":[{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"8234994f8e6e227bafac1e7953745fe726adbfba","unresolved":false,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    @mock.patch(\u0027mistral.db.v2.api.get_workflow_definition\u0027)"},{"line_number":257,"context_line":"    def test_get_with_fields_filter(self, mocked_get):"},{"line_number":258,"context_line":"        mocked_get.return_value \u003d (WF[\u0027id\u0027], WF[\u0027name\u0027],)"},{"line_number":259,"context_line":"        resp \u003d self.app.get(\u0027/v2/workflows/123?fields\u003dname\u0027)"},{"line_number":260,"context_line":"        expected \u003d {"},{"line_number":261,"context_line":"            \u0027id\u0027: WF[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"ffb9cba7_40001968","line":258,"range":{"start_line":258,"start_character":35,"end_line":258,"end_character":43},"updated":"2019-04-25 05:13:46.000000000","message":"See comment at test_action_executions.py","commit_id":"8c9f41d56c9ef6b79758e49d0f6e3c088b80e364"}]}
