)]}'
{"nova/tests/test_crypto.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7fa7ba03dcca07c63dc828d0c8764bf0217bab39","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        self.stubs.Set(utils, \u0027execute\u0027, mock_utils_exec)"},{"line_number":147,"context_line":"        self.stubs.Set(os, \u0027chdir\u0027, mock_os_chdir)"},{"line_number":148,"context_line":"        self.mox.ReplayAll()"},{"line_number":149,"context_line":"        self.assertRaises(exception.RevokeCertFailure, crypto.revoke_cert, project_id,"},{"line_number":150,"context_line":"                                                                          file_name)"},{"line_number":151,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_786593ad","line":148,"updated":"2014-06-13 03:37:20.000000000","message":"Please use mock, not mox, for all new unit tests. The above should be:\n\n @mock.patch.object(utils, \u0027execute\u0027,\n                    side_effect\u003dprocessutils.ProcessExecutionError)\n @mock.patch.object(os, \u0027chdir\u0027, return_value\u003dTrue)\n def test_revoke_cert_process_execution_error(self, cd_mock, exec_mock):\n     self.assertRaises(exception.RevokeCertFailure, crypto.revoke_cert,\n                       2, \u0027test_file\u0027)","commit_id":"0b356d47373689a55f74fa58dd147c5f4e1e3426"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"295bf4161f35b5084eaf31d0115763e21ab976cd","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        self.stubs.Set(utils, \u0027execute\u0027, mock_utils_exec)"},{"line_number":147,"context_line":"        self.stubs.Set(os, \u0027chdir\u0027, mock_os_chdir)"},{"line_number":148,"context_line":"        self.mox.ReplayAll()"},{"line_number":149,"context_line":"        self.assertRaises(exception.RevokeCertFailure, crypto.revoke_cert, project_id,"},{"line_number":150,"context_line":"                                                                          file_name)"},{"line_number":151,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_d649818f","line":148,"in_reply_to":"1ae5cdf2_786593ad","updated":"2014-06-17 23:18:55.000000000","message":"Awesome, thanks Jay! \n\nA new patch set coming soon.","commit_id":"0b356d47373689a55f74fa58dd147c5f4e1e3426"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7fa7ba03dcca07c63dc828d0c8764bf0217bab39","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        self.stubs.Set(os, \u0027chdir\u0027, mock_os_chdir)"},{"line_number":160,"context_line":"        self.mox.ReplayAll()"},{"line_number":161,"context_line":"        self.assertRaises(exception.ProjectNotFound, crypto.revoke_cert, project_id,"},{"line_number":162,"context_line":"                                                                          file_name)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"class CertExceptionTests(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_f810c301","line":162,"updated":"2014-06-13 03:37:20.000000000","message":"ditto :)","commit_id":"0b356d47373689a55f74fa58dd147c5f4e1e3426"}]}
