)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"7ab07f0a3a6720ba1cb69c86ac19e6d04e80e24a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Victor Sergeyev \u003cvsergeyev@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-05-14 12:10:04 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Refactored tests for key_pair_*() functions."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I92358bcda157c95290b31e3b7997e3432a65b404"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAOn%2F%2FVis%3D","line":7,"updated":"2013-05-14 09:26:57.000000000","message":"It is better to show in commit message that tests are for db, so for example:\n\nRefactored tests for db.key_pair_*() functions.","commit_id":"5b0a3a9d3cade3e23f0a7ec3b547ba7726222a54"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"7ab07f0a3a6720ba1cb69c86ac19e6d04e80e24a","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2013-05-14 12:10:04 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Refactored tests for key_pair_*() functions."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I92358bcda157c95290b31e3b7997e3432a65b404"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAOn%2F%2FVio%3D","line":8,"updated":"2013-05-14 09:26:57.000000000","message":"You should specify blueprint. To do this add at the end (but before change-id) blueprint db-api-tests\n\nAnd also add some description about what you have done exactly.","commit_id":"5b0a3a9d3cade3e23f0a7ec3b547ba7726222a54"}],"nova/tests/test_db_api.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"7ab07f0a3a6720ba1cb69c86ac19e6d04e80e24a","unresolved":false,"context_lines":[{"line_number":3561,"context_line":"        key_pair \u003d self._create_key_pair(param)"},{"line_number":3562,"context_line":""},{"line_number":3563,"context_line":"        self.assertTrue(key_pair[\u0027id\u0027] is not None)"},{"line_number":3564,"context_line":"        for elem in param:"},{"line_number":3565,"context_line":"            self.assertEqual(key_pair[elem], param[elem])"},{"line_number":3566,"context_line":""},{"line_number":3567,"context_line":"    def test_key_pair_create_create_with_duplicate_name(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FViE%3D","line":3564,"updated":"2013-05-14 09:26:57.000000000","message":"use _assertEqualObjects instead of \u0027for\u0027","commit_id":"5b0a3a9d3cade3e23f0a7ec3b547ba7726222a54"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"7ab07f0a3a6720ba1cb69c86ac19e6d04e80e24a","unresolved":false,"context_lines":[{"line_number":3564,"context_line":"        for elem in param:"},{"line_number":3565,"context_line":"            self.assertEqual(key_pair[elem], param[elem])"},{"line_number":3566,"context_line":""},{"line_number":3567,"context_line":"    def test_key_pair_create_create_with_duplicate_name(self):"},{"line_number":3568,"context_line":"        params \u003d {\u0027name\u0027: \u0027test_name\u0027, \u0027user_id\u0027: \u0027test_user_id\u0027}"},{"line_number":3569,"context_line":"        self._create_key_pair(params)"},{"line_number":3570,"context_line":"        self.assertRaises(exception.KeyPairExists, self._create_key_pair,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FVh8%3D","line":3567,"updated":"2013-05-14 09:26:57.000000000","message":"probably you should remove one create..","commit_id":"5b0a3a9d3cade3e23f0a7ec3b547ba7726222a54"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"7ab07f0a3a6720ba1cb69c86ac19e6d04e80e24a","unresolved":false,"context_lines":[{"line_number":3590,"context_line":"    def test_key_pair_get_deleted(self):"},{"line_number":3591,"context_line":"        param \u003d {\u0027name\u0027: \u0027test_1\u0027, \u0027user_id\u0027: \u0027test_user_id_1\u0027}"},{"line_number":3592,"context_line":"        key_pair \u003d self._create_key_pair(param)"},{"line_number":3593,"context_line":"        self.assertIsNotNone(key_pair[\u0027id\u0027])"},{"line_number":3594,"context_line":""},{"line_number":3595,"context_line":"        db.key_pair_destroy(self.ctxt, param[\u0027user_id\u0027], param[\u0027name\u0027])"},{"line_number":3596,"context_line":"        self.assertRaises(exception.KeypairNotFound, db.key_pair_get,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FVhk%3D","line":3593,"updated":"2013-05-14 09:26:57.000000000","message":"why do you check it here? (It is already tested)","commit_id":"5b0a3a9d3cade3e23f0a7ec3b547ba7726222a54"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"7ab07f0a3a6720ba1cb69c86ac19e6d04e80e24a","unresolved":false,"context_lines":[{"line_number":3598,"context_line":""},{"line_number":3599,"context_line":"        ctxt \u003d self.ctxt.elevated(read_deleted\u003d\u0027yes\u0027)"},{"line_number":3600,"context_line":"        key_pair \u003d db.key_pair_get(ctxt, param[\u0027user_id\u0027], param[\u0027name\u0027])"},{"line_number":3601,"context_line":"        self.assertEqual(key_pair[\u0027name\u0027], param[\u0027name\u0027])"},{"line_number":3602,"context_line":"        self.assertEqual(key_pair[\u0027deleted\u0027], key_pair[\u0027id\u0027])"},{"line_number":3603,"context_line":""},{"line_number":3604,"context_line":"    def test_key_pair_get_all_by_user(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FVhg%3D","line":3601,"updated":"2013-05-14 09:26:57.000000000","message":"why not _assertEqualObjects?","commit_id":"5b0a3a9d3cade3e23f0a7ec3b547ba7726222a54"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"7ab07f0a3a6720ba1cb69c86ac19e6d04e80e24a","unresolved":false,"context_lines":[{"line_number":3636,"context_line":"    def test_key_pair_destroy(self):"},{"line_number":3637,"context_line":"        param \u003d {\u0027name\u0027: \u0027test_1\u0027, \u0027user_id\u0027: \u0027test_user_id_1\u0027}"},{"line_number":3638,"context_line":"        key_pair \u003d self._create_key_pair(param)"},{"line_number":3639,"context_line":"        self.assertIsNotNone(key_pair[\u0027id\u0027])"},{"line_number":3640,"context_line":""},{"line_number":3641,"context_line":"        db.key_pair_destroy(self.ctxt, param[\u0027user_id\u0027], param[\u0027name\u0027])"},{"line_number":3642,"context_line":"        self.assertRaises(exception.KeypairNotFound, db.key_pair_get,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FVhM%3D","line":3639,"updated":"2013-05-14 09:26:57.000000000","message":"why do you check it here?","commit_id":"5b0a3a9d3cade3e23f0a7ec3b547ba7726222a54"}]}
