)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"2a267430ccaa3d0040baa04f12c22c2d9c0bb237","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Fixes backward compatibility issue."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Implements blueprint: vertica-cluster-user-features"},{"line_number":15,"context_line":"Change-Id: I3e23c87c0e48a7f910e54207116fc75b5ce0ad0c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da20952f_12bf5461","line":15,"updated":"2015-09-02 22:03:24.000000000","message":"Depends-On: I633273d438c22f98bef2fd1535730bcdb5e5cff0","commit_id":"606c60bd94161f2065a49719c5d62da64e6ceeac"},{"author":{"_account_id":16132,"name":"Sharika Pongubala","email":"sharika.pongubala@hp.com","username":"sharika"},"change_message_id":"41a514175bde54f5eaa26363152695a3a19ee96b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Fixes backward compatibility issue."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Implements blueprint: vertica-cluster-user-features"},{"line_number":15,"context_line":"Change-Id: I3e23c87c0e48a7f910e54207116fc75b5ce0ad0c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da20952f_558b7668","line":15,"in_reply_to":"da20952f_12bf5461","updated":"2015-09-02 22:07:54.000000000","message":"Ok thanks :)","commit_id":"606c60bd94161f2065a49719c5d62da64e6ceeac"}],"troveclient/tests/test_v1_shell.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"6d9dc06796d29ce4417a069cae537be47e6b4363","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                return_value\u003dfakes.get_version_map())"},{"line_number":59,"context_line":"    @mock.patch(\u0027troveclient.v1.shell._find_instance_or_cluster\u0027,"},{"line_number":60,"context_line":"                return_value\u003d(\u00271234\u0027, \u0027instance\u0027))"},{"line_number":61,"context_line":"    def run_command(self, cmd, mock_stdout, mock_get_version_map,"},{"line_number":62,"context_line":"                    mock_find_instance_or_cluster):"},{"line_number":63,"context_line":"        if isinstance(cmd, list):"},{"line_number":64,"context_line":"            self.shell.main(cmd)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_2001e76a","line":61,"updated":"2015-09-02 18:41:46.000000000","message":"python decorators are applied in the order of bottom to top. Therefore these mock decorators appear to be in the wrong order.\n\nSee https://docs.python.org/3/library/unittest.mock.html\n\nSearch for this text:\n\n\n\nNote\n\nWhen you nest patch decorators the mocks are passed in to the decorated function in the same order they applied (the normal python order that decorators are applied). This means from the bottom up, so in the example above the mock for module.ClassName1 is passed in first.\n\nWith patch() it matters that you patch objects in the namespace where they are looked up. This is normally straightforward, but for a quick guide read where to patch.","commit_id":"31b2b6ae88dc8e5709de2964cb0dd69a8e5addbf"},{"author":{"_account_id":16132,"name":"Sharika Pongubala","email":"sharika.pongubala@hp.com","username":"sharika"},"change_message_id":"3409398581572ec9a2cf5dc52240a504e2272b2b","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                return_value\u003dfakes.get_version_map())"},{"line_number":59,"context_line":"    @mock.patch(\u0027troveclient.v1.shell._find_instance_or_cluster\u0027,"},{"line_number":60,"context_line":"                return_value\u003d(\u00271234\u0027, \u0027instance\u0027))"},{"line_number":61,"context_line":"    def run_command(self, cmd, mock_stdout, mock_get_version_map,"},{"line_number":62,"context_line":"                    mock_find_instance_or_cluster):"},{"line_number":63,"context_line":"        if isinstance(cmd, list):"},{"line_number":64,"context_line":"            self.shell.main(cmd)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_c313555b","line":61,"in_reply_to":"da20952f_2001e76a","updated":"2015-09-02 18:53:47.000000000","message":"Done","commit_id":"31b2b6ae88dc8e5709de2964cb0dd69a8e5addbf"},{"author":{"_account_id":16132,"name":"Sharika Pongubala","email":"sharika.pongubala@hp.com","username":"sharika"},"change_message_id":"0cc76236f6bf51ddfe01380932e45da4fe2ce36f","unresolved":false,"context_lines":[{"line_number":511,"context_line":"    @mock.patch(\u0027troveclient.v1.shell._find_instance\u0027,"},{"line_number":512,"context_line":"                side_effect\u003dexceptions.CommandError)"},{"line_number":513,"context_line":"    @mock.patch(\u0027troveclient.v1.shell._find_cluster\u0027,"},{"line_number":514,"context_line":"                return_value\u003d\u0027cls-1234\u0027)"},{"line_number":515,"context_line":"    def test_find_instance_or_cluster_find_cluster(self, mock_find_cluster,"},{"line_number":516,"context_line":"                                                   mock_find_instance,"},{"line_number":517,"context_line":"                                                   mock_get_version_map,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_4374259b","line":514,"updated":"2015-09-02 18:54:51.000000000","message":"Changed the patches here too so that they map to the right ones.","commit_id":"606c60bd94161f2065a49719c5d62da64e6ceeac"}],"troveclient/v1/shell.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"b686013d6dc72a46482751da230db30be4a0708c","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    utils.print_dict(obj._info)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"def _find_instance_or_cluster(cs, instance_or_cluster):"},{"line_number":103,"context_line":"    \"\"\"Returns an instance or cluster, found by id, along with the type of"},{"line_number":104,"context_line":"    resource, instance or cluster, that was found."},{"line_number":105,"context_line":"    Raises CommandError if none is found."}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_d5b8e677","line":102,"updated":"2015-09-02 22:22:18.000000000","message":"I can\u0027t find any tests that actually exercise this code; all the tests seem to mock it out.","commit_id":"268575e180928ce648014b7c26f37a3220ee394f"},{"author":{"_account_id":16132,"name":"Sharika Pongubala","email":"sharika.pongubala@hp.com","username":"sharika"},"change_message_id":"1e5dc0373a3b356340f0d48536242744034bacbe","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    utils.print_dict(obj._info)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"def _find_instance_or_cluster(cs, instance_or_cluster):"},{"line_number":103,"context_line":"    \"\"\"Returns an instance or cluster, found by id, along with the type of"},{"line_number":104,"context_line":"    resource, instance or cluster, that was found."},{"line_number":105,"context_line":"    Raises CommandError if none is found."}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_f5172a52","line":102,"in_reply_to":"da20952f_d5b8e677","updated":"2015-09-02 22:26:11.000000000","message":"the function test_find_instance_or_cluster_find_cluster in test_v1_shell.py and test_find_instance_or_cluster test both cases of that function. They only mock find_instance and find_cluster functions which were already implemented.","commit_id":"268575e180928ce648014b7c26f37a3220ee394f"}]}
