)]}'
{"nova/tests/unit/cells/test_cells_rpc_driver.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fe63cbf4bf35f930a2b7557b22c447f9c5286c77","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"            rpcserver \u003d mock.Mock()"},{"line_number":61,"context_line":"            mock_get_server.return_value \u003d rpcserver"},{"line_number":62,"context_line":"            rpc.get_server(target, endpoints\u003dendpoints)"},{"line_number":63,"context_line":"            rpcserver.start()"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        self.driver.start_servers(fake_msg_runner)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_ba5b43f5","line":62,"range":{"start_line":62,"start_character":12,"end_line":62,"end_character":55},"updated":"2017-03-21 15:04:38.000000000","message":"You need to assert that this is called when you call \u0027start_servers\u0027 below - not actually call it yourself","commit_id":"57f1fb12a97af91f5a901f63dd726894b15a621f"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"3e6daf60fc749cc592226810d7f570f154d0dcbc","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"            rpcserver \u003d mock.Mock()"},{"line_number":61,"context_line":"            mock_get_server.return_value \u003d rpcserver"},{"line_number":62,"context_line":"            rpc.get_server(target, endpoints\u003dendpoints)"},{"line_number":63,"context_line":"            rpcserver.start()"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        self.driver.start_servers(fake_msg_runner)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_0a5dd278","line":62,"range":{"start_line":62,"start_character":12,"end_line":62,"end_character":55},"in_reply_to":"1a1ced50_ba5b43f5","updated":"2017-03-22 02:03:19.000000000","message":"Done","commit_id":"57f1fb12a97af91f5a901f63dd726894b15a621f"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"288a82ddd18de753c5ed0a81aafc61d92e2a4dd3","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            mock_get_server.return_value \u003d rpcserver"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.driver.start_servers(fake_msg_runner)"},{"line_number":62,"context_line":"        mock_get_server.assert_called_with(target, endpoints\u003dmock.ANY)"},{"line_number":63,"context_line":"        rpcserver.start.assert_called()"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def test_stop_servers(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a1ced50_eae5d6a3","line":62,"range":{"start_line":62,"start_character":65,"end_line":62,"end_character":66},"updated":"2017-03-22 02:06:00.000000000","message":"Do not know how to assert parameter\u0027s type of key\u003dvalue, just use the mock.ANY. Could anyone tell me how to assert this case.","commit_id":"ae9a4f7be56bc85f2cc7a882c436ac46ffdc47c9"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"311ecb80174d310e7ca3786bebb3adc429157a69","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            mock_get_server.return_value \u003d rpcserver"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.driver.start_servers(fake_msg_runner)"},{"line_number":62,"context_line":"        mock_get_server.assert_called_with(target, endpoints\u003dmock.ANY)"},{"line_number":63,"context_line":"        rpcserver.start.assert_called()"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def test_stop_servers(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffe62b97_0a68631a","line":62,"range":{"start_line":62,"start_character":65,"end_line":62,"end_character":66},"in_reply_to":"1a1ced50_eae5d6a3","updated":"2017-03-29 00:41:56.000000000","message":"Use nova.test.MatchType","commit_id":"ae9a4f7be56bc85f2cc7a882c436ac46ffdc47c9"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"e44d789367f512911ae5d57eda89a2d428c4ec74","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            mock_get_server.return_value \u003d rpcserver"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.driver.start_servers(fake_msg_runner)"},{"line_number":62,"context_line":"        mock_get_server.assert_called_with(target, endpoints\u003dmock.ANY)"},{"line_number":63,"context_line":"        rpcserver.start.assert_called()"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def test_stop_servers(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfeb2761_30ce1ab4","line":62,"range":{"start_line":62,"start_character":65,"end_line":62,"end_character":66},"in_reply_to":"ffe62b97_0a68631a","updated":"2017-04-05 06:27:52.000000000","message":"Done","commit_id":"ae9a4f7be56bc85f2cc7a882c436ac46ffdc47c9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5a735cdba3eaae025378ce804268057b0de73d4e","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        for message_type in messaging.MessageRunner.get_message_types():"},{"line_number":55,"context_line":"            topic \u003d \u0027cells.intercell42.\u0027 + message_type"},{"line_number":56,"context_line":"            target \u003d oslo_messaging.Target(topic\u003dtopic, server\u003dCONF.host)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"            rpcserver \u003d mock.Mock()"},{"line_number":59,"context_line":"            mock_get_server.return_value \u003d rpcserver"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.driver.start_servers(fake_msg_runner)"},{"line_number":62,"context_line":"        mock_get_server.assert_called_with(target, endpoints\u003d[test.MatchType("}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_3f575d05","line":59,"range":{"start_line":57,"start_character":0,"end_line":59,"end_character":52},"updated":"2017-05-19 14:41:39.000000000","message":"This doesn\u0027t need to be at this level","commit_id":"c2e8ee3b4adf74663903a5be4edf11ffaaba9dac"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"5c0d848bf7e11ab66e50a04df68d3e0bfebecb72","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        for message_type in messaging.MessageRunner.get_message_types():"},{"line_number":55,"context_line":"            topic \u003d \u0027cells.intercell42.\u0027 + message_type"},{"line_number":56,"context_line":"            target \u003d oslo_messaging.Target(topic\u003dtopic, server\u003dCONF.host)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"            rpcserver \u003d mock.Mock()"},{"line_number":59,"context_line":"            mock_get_server.return_value \u003d rpcserver"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.driver.start_servers(fake_msg_runner)"},{"line_number":62,"context_line":"        mock_get_server.assert_called_with(target, endpoints\u003d[test.MatchType("}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_3b44f1b6","line":59,"range":{"start_line":57,"start_character":0,"end_line":59,"end_character":52},"in_reply_to":"ff0f0b1f_3f575d05","updated":"2017-05-22 01:44:23.000000000","message":"Done","commit_id":"c2e8ee3b4adf74663903a5be4edf11ffaaba9dac"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5a735cdba3eaae025378ce804268057b0de73d4e","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            mock_get_server.return_value \u003d rpcserver"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.driver.start_servers(fake_msg_runner)"},{"line_number":62,"context_line":"        mock_get_server.assert_called_with(target, endpoints\u003d[test.MatchType("},{"line_number":63,"context_line":"                                           FakeInterCellRPCDispatcher)])"},{"line_number":64,"context_line":"        rpcserver.start.assert_called()"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def test_stop_servers(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_5f79f190","line":63,"range":{"start_line":62,"start_character":0,"end_line":63,"end_character":72},"updated":"2017-05-19 14:41:39.000000000","message":"You need to check for multiple calls - one for every message type in the loop above","commit_id":"c2e8ee3b4adf74663903a5be4edf11ffaaba9dac"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"5c0d848bf7e11ab66e50a04df68d3e0bfebecb72","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            mock_get_server.return_value \u003d rpcserver"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.driver.start_servers(fake_msg_runner)"},{"line_number":62,"context_line":"        mock_get_server.assert_called_with(target, endpoints\u003d[test.MatchType("},{"line_number":63,"context_line":"                                           FakeInterCellRPCDispatcher)])"},{"line_number":64,"context_line":"        rpcserver.start.assert_called()"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def test_stop_servers(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_1b15ad9c","line":63,"range":{"start_line":62,"start_character":0,"end_line":63,"end_character":72},"in_reply_to":"ff0f0b1f_5f79f190","updated":"2017-05-22 01:44:23.000000000","message":"Done","commit_id":"c2e8ee3b4adf74663903a5be4edf11ffaaba9dac"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"550159533f8f5579fc0cad25e0eb178c3e651655","unresolved":false,"context_lines":[{"line_number":217,"context_line":"        def _fake_process():"},{"line_number":218,"context_line":"            call_info[\u0027process_called\u0027] \u003d True"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        msg_runner.message_from_json \u003d _fake_message_from_json"},{"line_number":221,"context_line":"        message.process \u003d _fake_process"},{"line_number":222,"context_line":"        dispatcher.process_message(self.ctxt, message.to_json())"},{"line_number":223,"context_line":"        self.assertEqual(message.to_json(), call_info[\u0027json_message\u0027])"},{"line_number":224,"context_line":"        self.assertTrue(call_info[\u0027process_called\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff0f0b1f_78b26496","line":221,"range":{"start_line":220,"start_character":0,"end_line":221,"end_character":39},"updated":"2017-05-22 10:47:28.000000000","message":"You should probably rely on mocks here as well, rather than monkey patching. However, as neither of the modified objects have a global state, monkey patching will do","commit_id":"e5e67cb9de53a2c2ebdedeed879b139a52036a42"}]}
