)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"faf5a1d023e2f001b1c1a655512c78b04c12c896","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sonali Goyal \u003csonaligoyal654321@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-10-02 16:41:45 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Mistyped input in test_dbass invalidated some unit tests.Changed test_usr to user.name"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: If71750503a6c0d8f3d9132d067c87df6f96a9144"},{"line_number":10,"context_line":"Closes-Bug:#1474100"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a1a9d01_eee1b9d1","line":7,"updated":"2015-10-02 12:13:12.000000000","message":"Title is too long. minimize to \u003c\u003d 50 characters","commit_id":"9621ebab9a9fdf17191eb2f2972d5ccfc68ece47"}],"trove/tests/unittests/guestagent/test_dbaas.py":[{"author":{"_account_id":17360,"name":"Ishita Mandhan","email":"imandha@us.ibm.com","username":"imandhan"},"change_message_id":"5a22c3e92caf4052cbf46ba4eae600f94b9fcf12","unresolved":false,"context_lines":[{"line_number":368,"context_line":"        with patch.object(dbaas.LocalSqlClient, \u0027execute\u0027,"},{"line_number":369,"context_line":"                          Mock(return_value\u003ddb_result)):"},{"line_number":370,"context_line":"            with patch.object(self.mySqlAdmin, \u0027_get_user\u0027, return_value\u003duser):"},{"line_number":371,"context_line":"                with patch.object(self.mySqlAdmin, \u0027grant_access\u0027):"},{"line_number":372,"context_line":"                    self.mySqlAdmin.update_attributes(\u0027test_user\u0027, \u0027%\u0027,"},{"line_number":373,"context_line":"                                                      user_attrs)"},{"line_number":374,"context_line":"                    self.assertEqual(0,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_5e3ba29c","line":371,"updated":"2015-10-09 19:59:26.000000000","message":"Wouldn\u0027t it make sense to use user.name instead of \u0027test_user\u0027 here?","commit_id":"64279e3c8ab48d22d502bcb7dc50e0b3f08260a4"},{"author":{"_account_id":17360,"name":"Ishita Mandhan","email":"imandha@us.ibm.com","username":"imandhan"},"change_message_id":"5a22c3e92caf4052cbf46ba4eae600f94b9fcf12","unresolved":false,"context_lines":[{"line_number":389,"context_line":"        user.host \u003d \"%\""},{"line_number":390,"context_line":"        user_attrs \u003d {\"name\": \"new_name\"}"},{"line_number":391,"context_line":"        with patch.object(self.mySqlAdmin, \u0027_get_user\u0027, return_value\u003duser):"},{"line_number":392,"context_line":"            with patch.object(self.mySqlAdmin, \u0027grant_access\u0027):"},{"line_number":393,"context_line":"                self.mySqlAdmin.update_attributes(\u0027test_user\u0027, \u0027%\u0027, user_attrs)"},{"line_number":394,"context_line":"                self.mySqlAdmin.grant_access.assert_called_with("},{"line_number":395,"context_line":"                    \u0027new_name\u0027, \u0027%\u0027, set([]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_fe414e0c","line":392,"updated":"2015-10-09 19:59:26.000000000","message":"Same here","commit_id":"64279e3c8ab48d22d502bcb7dc50e0b3f08260a4"},{"author":{"_account_id":17360,"name":"Ishita Mandhan","email":"imandha@us.ibm.com","username":"imandhan"},"change_message_id":"5a22c3e92caf4052cbf46ba4eae600f94b9fcf12","unresolved":false,"context_lines":[{"line_number":408,"context_line":"        user.host \u003d \"%\""},{"line_number":409,"context_line":"        user_attrs \u003d {\"host\": \"new_host\"}"},{"line_number":410,"context_line":"        with patch.object(self.mySqlAdmin, \u0027_get_user\u0027, return_value\u003duser):"},{"line_number":411,"context_line":"            with patch.object(self.mySqlAdmin, \u0027grant_access\u0027):"},{"line_number":412,"context_line":"                self.mySqlAdmin.update_attributes(\u0027test_user\u0027, \u0027%\u0027, user_attrs)"},{"line_number":413,"context_line":"                self.mySqlAdmin.grant_access.assert_called_with("},{"line_number":414,"context_line":"                    \u0027test_user\u0027, \u0027new_host\u0027, set([]))"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_be4c3643","line":411,"updated":"2015-10-09 19:59:26.000000000","message":"And here","commit_id":"64279e3c8ab48d22d502bcb7dc50e0b3f08260a4"},{"author":{"_account_id":17360,"name":"Ishita Mandhan","email":"imandha@us.ibm.com","username":"imandhan"},"change_message_id":"5a22c3e92caf4052cbf46ba4eae600f94b9fcf12","unresolved":false,"context_lines":[{"line_number":697,"context_line":"        user.host \u003d \"%\""},{"line_number":698,"context_line":"        user.password \u003d \u0027some_password\u0027"},{"line_number":699,"context_line":"        databases \u003d [\u0027db1\u0027]"},{"line_number":700,"context_line":"        with patch.object(self.mySqlAdmin, \u0027_get_user\u0027, return_value\u003duser):"},{"line_number":701,"context_line":"            self.mySqlAdmin.grant_access(\u0027test_user\u0027, \u0027%\u0027, databases)"},{"line_number":702,"context_line":"        args, _ \u003d dbaas.LocalSqlClient.execute.call_args_list[0]"},{"line_number":703,"context_line":"        expected \u003d (\"GRANT ALL PRIVILEGES ON `db1`.* TO `test_user`@`%` \""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_1c34b6f9","line":700,"updated":"2015-10-09 19:59:26.000000000","message":"Here as well","commit_id":"64279e3c8ab48d22d502bcb7dc50e0b3f08260a4"},{"author":{"_account_id":17360,"name":"Ishita Mandhan","email":"imandha@us.ibm.com","username":"imandhan"},"change_message_id":"5a22c3e92caf4052cbf46ba4eae600f94b9fcf12","unresolved":false,"context_lines":[{"line_number":714,"context_line":"        user.host \u003d \"%\""},{"line_number":715,"context_line":"        user.password \u003d \u0027some_password\u0027"},{"line_number":716,"context_line":"        databases \u003d [\u0027mysql\u0027]"},{"line_number":717,"context_line":"        with patch.object(self.mySqlAdmin, \u0027_get_user\u0027, return_value\u003duser):"},{"line_number":718,"context_line":"            self.mySqlAdmin.grant_access(\u0027test_user\u0027, \u0027%\u0027, databases)"},{"line_number":719,"context_line":"        # since mysql is not a database to be provided access to,"},{"line_number":720,"context_line":"        # testing that executed was not called in grant access."}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_5c054e11","line":717,"updated":"2015-10-09 19:59:26.000000000","message":"and here","commit_id":"64279e3c8ab48d22d502bcb7dc50e0b3f08260a4"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"fe8edc24fc7be2a67fb56a42b7ca80392ef652d0","unresolved":false,"context_lines":[{"line_number":304,"context_line":"        # trove.guestagent.common.configuration import ConfigurationManager"},{"line_number":305,"context_line":"        dbaas.orig_configuration_manager \u003d dbaas.MySqlApp.configuration_manager"},{"line_number":306,"context_line":"        dbaas.MySqlApp.configuration_manager \u003d Mock()"},{"line_number":307,"context_line":"        user.name \u003d \"test_user\""},{"line_number":308,"context_line":"        user.host \u003d \"%\""},{"line_number":309,"context_line":"        self.mySqlAdmin \u003d MySqlAdmin()"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_2b9972c4","line":307,"updated":"2015-10-16 03:28:30.000000000","message":"I noticed a number of places where the expected result wasn\u0027t being generated by this.  Why not change the name, and run the unittests again, and all the missing ones should pop up.\n\n  user.name \u003d \"test_user_1\"\n  user.host \u003d \"localhost\"\n\nThen you could change them back if you\u0027d like. ;)","commit_id":"9204b89f8911a9f8d1878390f5d70148bf5cf330"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"fe8edc24fc7be2a67fb56a42b7ca80392ef652d0","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                            \"The client object was not called\")"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"    def test_change_passwords(self):"},{"line_number":348,"context_line":"        user \u003d [{\"name\": \"test_user\", \"host\": \"%\", \"password\": \"password\"}]"},{"line_number":349,"context_line":"        self.mySqlAdmin.change_passwords(user)"},{"line_number":350,"context_line":"        args, _ \u003d dbaas.LocalSqlClient.execute.call_args_list[0]"},{"line_number":351,"context_line":"        expected \u003d (\"UPDATE mysql.user SET Password\u003d\""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_2be09228","line":348,"range":{"start_line":348,"start_character":26,"end_line":348,"end_character":48},"updated":"2015-10-16 03:28:30.000000000","message":"Missed here","commit_id":"9204b89f8911a9f8d1878390f5d70148bf5cf330"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"fe8edc24fc7be2a67fb56a42b7ca80392ef652d0","unresolved":false,"context_lines":[{"line_number":349,"context_line":"        self.mySqlAdmin.change_passwords(user)"},{"line_number":350,"context_line":"        args, _ \u003d dbaas.LocalSqlClient.execute.call_args_list[0]"},{"line_number":351,"context_line":"        expected \u003d (\"UPDATE mysql.user SET Password\u003d\""},{"line_number":352,"context_line":"                    \"PASSWORD(\u0027password\u0027) WHERE User \u003d \u0027test_user\u0027 \""},{"line_number":353,"context_line":"                    \"AND Host \u003d \u0027%\u0027;\")"},{"line_number":354,"context_line":"        self.assertEqual(expected, args[0].text,"},{"line_number":355,"context_line":"                         \"Change password queries are not the same\")"},{"line_number":356,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_abd2625a","line":353,"range":{"start_line":352,"start_character":56,"end_line":353,"end_character":34},"updated":"2015-10-16 03:28:30.000000000","message":"and here","commit_id":"9204b89f8911a9f8d1878390f5d70148bf5cf330"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"fe8edc24fc7be2a67fb56a42b7ca80392ef652d0","unresolved":false,"context_lines":[{"line_number":701,"context_line":"        user.password \u003d \u0027some_password\u0027"},{"line_number":702,"context_line":"        databases \u003d [\u0027mysql\u0027]"},{"line_number":703,"context_line":"        with patch.object(self.mySqlAdmin, \u0027_get_user\u0027, return_value\u003duser):"},{"line_number":704,"context_line":"            self.mySqlAdmin.grant_access(\u0027test_user\u0027, \u0027%\u0027, databases)"},{"line_number":705,"context_line":"        # since mysql is not a database to be provided access to,"},{"line_number":706,"context_line":"        # testing that executed was not called in grant access."},{"line_number":707,"context_line":"        dbaas.LocalSqlClient.execute.assert_not_called()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_ab010207","line":704,"range":{"start_line":704,"start_character":41,"end_line":704,"end_character":57},"updated":"2015-10-16 03:28:30.000000000","message":"You missed these","commit_id":"9204b89f8911a9f8d1878390f5d70148bf5cf330"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"fe8edc24fc7be2a67fb56a42b7ca80392ef652d0","unresolved":false,"context_lines":[{"line_number":723,"context_line":"        with patch.object(self.mySqlAdmin, \u0027_get_user\u0027, return_value\u003duser):"},{"line_number":724,"context_line":"            self.mySqlAdmin.revoke_access(user.name, user.host, databases)"},{"line_number":725,"context_line":"        args, _ \u003d dbaas.LocalSqlClient.execute.call_args_list[0]"},{"line_number":726,"context_line":"        expected \u003d (\"REVOKE ALL ON `[\u0027db1\u0027]`.* FROM `test_user`@`%`;\")"},{"line_number":727,"context_line":"        self.assertEqual(expected, args[0].text,"},{"line_number":728,"context_line":"                         \"Revoke access queries are not the same\")"},{"line_number":729,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a2ca52d_eb329af1","line":726,"range":{"start_line":726,"start_character":53,"end_line":726,"end_character":66},"updated":"2015-10-16 03:28:30.000000000","message":"and here:\n\n  expected \u003d (\"REVOKE ALL ON `[\u0027db1\u0027]`.* FROM `%s`@`%s`;\" %\n              (user.name, user.host))","commit_id":"9204b89f8911a9f8d1878390f5d70148bf5cf330"},{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"89e5cd1e8d32cff3baf8aa5a00e954972b62d7d7","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"conductor_api.API.get_client \u003d Mock()"},{"line_number":106,"context_line":"conductor_api.API.heartbeat \u003d Mock()"},{"line_number":107,"context_line":"user \u003d MagicMock()"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"class FakeAppStatus(BaseDbStatus):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a740942_8def2f1d","line":107,"updated":"2015-12-08 16:49:03.000000000","message":"This should be an instance variable in FakeAppStatus.","commit_id":"73ed9c163449d6f3d0aeb5e18a19a92fdb08a52c"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"bc80b048df5ba56675386ea6de14179f3bd0b075","unresolved":false,"context_lines":[{"line_number":305,"context_line":"        dbaas.orig_configuration_manager \u003d dbaas.MySqlApp.configuration_manager"},{"line_number":306,"context_line":"        dbaas.MySqlApp.configuration_manager \u003d Mock()"},{"line_number":307,"context_line":"        user.name \u003d \"test_user\""},{"line_number":308,"context_line":"        user.host \u003d \"%\""},{"line_number":309,"context_line":"        self.mySqlAdmin \u003d MySqlAdmin()"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    def tearDown(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a29b11f_970f3f36","line":308,"updated":"2015-10-22 22:17:15.000000000","message":"we should get in user.databases and user.password, too here","commit_id":"73ed9c163449d6f3d0aeb5e18a19a92fdb08a52c"},{"author":{"_account_id":17360,"name":"Ishita Mandhan","email":"imandha@us.ibm.com","username":"imandhan"},"change_message_id":"6833d616fd1a594b3254eaede6793c4a2953b269","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                            \"The client object was not called\")"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"    def test_change_passwords(self):"},{"line_number":348,"context_line":"        user \u003d [{\"name\": \"test_user\", \"host\": \"%\", \"password\": \"password\"}]"},{"line_number":349,"context_line":"        self.mySqlAdmin.change_passwords(user)"},{"line_number":350,"context_line":"        args, _ \u003d dbaas.LocalSqlClient.execute.call_args_list[0]"},{"line_number":351,"context_line":"        expected \u003d (\"UPDATE mysql.user SET Password\u003d\""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a29b11f_57a8f51f","line":348,"updated":"2015-10-21 23:36:36.000000000","message":"you forgot to fix this :)","commit_id":"73ed9c163449d6f3d0aeb5e18a19a92fdb08a52c"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"bc80b048df5ba56675386ea6de14179f3bd0b075","unresolved":false,"context_lines":[{"line_number":346,"context_line":""},{"line_number":347,"context_line":"    def test_change_passwords(self):"},{"line_number":348,"context_line":"        user \u003d [{\"name\": \"test_user\", \"host\": \"%\", \"password\": \"password\"}]"},{"line_number":349,"context_line":"        self.mySqlAdmin.change_passwords(user)"},{"line_number":350,"context_line":"        args, _ \u003d dbaas.LocalSqlClient.execute.call_args_list[0]"},{"line_number":351,"context_line":"        expected \u003d (\"UPDATE mysql.user SET Password\u003d\""},{"line_number":352,"context_line":"                    \"PASSWORD(\u0027password\u0027) WHERE User \u003d \u0027test_user\u0027 \""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a29b11f_57576725","line":349,"updated":"2015-10-22 22:17:15.000000000","message":"I agree it should be fixed too\n\nand the call could be self.mySqlAdmin.change_passwords([user])","commit_id":"73ed9c163449d6f3d0aeb5e18a19a92fdb08a52c"},{"author":{"_account_id":17360,"name":"Ishita Mandhan","email":"imandha@us.ibm.com","username":"imandhan"},"change_message_id":"6833d616fd1a594b3254eaede6793c4a2953b269","unresolved":false,"context_lines":[{"line_number":350,"context_line":"        args, _ \u003d dbaas.LocalSqlClient.execute.call_args_list[0]"},{"line_number":351,"context_line":"        expected \u003d (\"UPDATE mysql.user SET Password\u003d\""},{"line_number":352,"context_line":"                    \"PASSWORD(\u0027password\u0027) WHERE User \u003d \u0027test_user\u0027 \""},{"line_number":353,"context_line":"                    \"AND Host \u003d \u0027%\u0027;\")"},{"line_number":354,"context_line":"        self.assertEqual(expected, args[0].text,"},{"line_number":355,"context_line":"                         \"Change password queries are not the same\")"},{"line_number":356,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a29b11f_77a5f144","line":353,"updated":"2015-10-21 23:36:36.000000000","message":"and here too","commit_id":"73ed9c163449d6f3d0aeb5e18a19a92fdb08a52c"}]}
