)]}'
{"neutron/tests/unit/agent/linux/test_async_process.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"b575189b0cda47cca4a9e4f8fdbc506ad1e52390","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        kill.assert_has_calls(mock.call(respawning\u003dTrue))"},{"line_number":75,"context_line":"        sleep.assert_has_calls(mock.call(self.proc.respawn_interval))"},{"line_number":76,"context_line":"        self.assertEqual(spawn.call_count, 1)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def _test__watch_process(self, callback, kill_event):"},{"line_number":79,"context_line":"        self.proc._kill_event \u003d kill_event"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_0dc8c153","line":76,"updated":"2014-05-19 15:53:43.000000000","message":"spawn.assert_called_once_with()","commit_id":"6fedcc91f67fe8bc1efa3e1c782030983807a769"}],"neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"d45fd103a62170ac847ca67bb9b0a1f3d67573b1","unresolved":false,"context_lines":[{"line_number":396,"context_line":"            with mock.patch.object(utils, \u0027execute\u0027) as exec_fn:"},{"line_number":397,"context_line":"                exec_fn.return_value \u003d False"},{"line_number":398,"context_line":"                self.assertEqual(self.lbm.ensure_vlan(\"eth0\", \"1\"), \"eth0.1\")"},{"line_number":399,"context_line":"                self.assertEqual(len(exec_fn.mock_calls), 2)"},{"line_number":400,"context_line":"                exec_fn.return_value \u003d True"},{"line_number":401,"context_line":"                self.assertIsNone(self.lbm.ensure_vlan(\"eth0\", \"1\"))"},{"line_number":402,"context_line":"                self.assertEqual(exec_fn.call_count, 3)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_0d3d212b","line":399,"updated":"2014-05-19 15:59:46.000000000","message":"why did you not use call_count as well here?","commit_id":"6fedcc91f67fe8bc1efa3e1c782030983807a769"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"b575189b0cda47cca4a9e4f8fdbc506ad1e52390","unresolved":false,"context_lines":[{"line_number":396,"context_line":"            with mock.patch.object(utils, \u0027execute\u0027) as exec_fn:"},{"line_number":397,"context_line":"                exec_fn.return_value \u003d False"},{"line_number":398,"context_line":"                self.assertEqual(self.lbm.ensure_vlan(\"eth0\", \"1\"), \"eth0.1\")"},{"line_number":399,"context_line":"                self.assertEqual(len(exec_fn.mock_calls), 2)"},{"line_number":400,"context_line":"                exec_fn.return_value \u003d True"},{"line_number":401,"context_line":"                self.assertIsNone(self.lbm.ensure_vlan(\"eth0\", \"1\"))"},{"line_number":402,"context_line":"                self.assertEqual(exec_fn.call_count, 3)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_8de3f1d7","line":399,"updated":"2014-05-19 15:53:43.000000000","message":"why not using call_count like on L402?","commit_id":"6fedcc91f67fe8bc1efa3e1c782030983807a769"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"dda3aedf860a0b5739c1c70b0f14298d12822165","unresolved":false,"context_lines":[{"line_number":396,"context_line":"            with mock.patch.object(utils, \u0027execute\u0027) as exec_fn:"},{"line_number":397,"context_line":"                exec_fn.return_value \u003d False"},{"line_number":398,"context_line":"                self.assertEqual(self.lbm.ensure_vlan(\"eth0\", \"1\"), \"eth0.1\")"},{"line_number":399,"context_line":"                self.assertEqual(len(exec_fn.mock_calls), 2)"},{"line_number":400,"context_line":"                exec_fn.return_value \u003d True"},{"line_number":401,"context_line":"                self.assertIsNone(self.lbm.ensure_vlan(\"eth0\", \"1\"))"},{"line_number":402,"context_line":"                self.assertEqual(exec_fn.call_count, 3)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_531a6ac6","line":399,"in_reply_to":"7adec928_0d3d212b","updated":"2014-05-19 17:48:18.000000000","message":"Whoops. I was doing them this way first and then realized checking call_count was much easier. Just forgot to replace this one.","commit_id":"6fedcc91f67fe8bc1efa3e1c782030983807a769"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"d45fd103a62170ac847ca67bb9b0a1f3d67573b1","unresolved":false,"context_lines":[{"line_number":399,"context_line":"                self.assertEqual(len(exec_fn.mock_calls), 2)"},{"line_number":400,"context_line":"                exec_fn.return_value \u003d True"},{"line_number":401,"context_line":"                self.assertIsNone(self.lbm.ensure_vlan(\"eth0\", \"1\"))"},{"line_number":402,"context_line":"                self.assertEqual(exec_fn.call_count, 3)"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"    def test_ensure_vxlan(self):"},{"line_number":405,"context_line":"        seg_id \u003d \"12345678\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_0d24410b","line":402,"updated":"2014-05-19 15:59:46.000000000","message":"This unit test is probably not very well designed however.\nIt should check the correct parameters are passed to executed imho.\n\nAs it is out of scope, consider at least putting a FIXME","commit_id":"6fedcc91f67fe8bc1efa3e1c782030983807a769"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"dda3aedf860a0b5739c1c70b0f14298d12822165","unresolved":false,"context_lines":[{"line_number":399,"context_line":"                self.assertEqual(len(exec_fn.mock_calls), 2)"},{"line_number":400,"context_line":"                exec_fn.return_value \u003d True"},{"line_number":401,"context_line":"                self.assertIsNone(self.lbm.ensure_vlan(\"eth0\", \"1\"))"},{"line_number":402,"context_line":"                self.assertEqual(exec_fn.call_count, 3)"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"    def test_ensure_vxlan(self):"},{"line_number":405,"context_line":"        seg_id \u003d \"12345678\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_53718a0a","line":402,"in_reply_to":"7adec928_0d24410b","updated":"2014-05-19 17:48:18.000000000","message":"Done","commit_id":"6fedcc91f67fe8bc1efa3e1c782030983807a769"}],"neutron/tests/unit/midonet/test_midonet_lib.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"eb4780fc16f347e20c7c4e80130a08a43c9d4b79","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        self.mock_api.delete_port_group.assert_called_once_with(pg1_id)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_create_dhcp(self):"},{"line_number":80,"context_line":"        bridge \u003d mock.Mock()"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        gateway_ip \u003d \"192.168.1.1\""},{"line_number":83,"context_line":"        cidr \u003d \"192.168.1.0/24\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_94c22351","line":80,"updated":"2014-05-19 11:58:53.000000000","message":"Why this line was removed?","commit_id":"6fedcc91f67fe8bc1efa3e1c782030983807a769"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"dda3aedf860a0b5739c1c70b0f14298d12822165","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        self.mock_api.delete_port_group.assert_called_once_with(pg1_id)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_create_dhcp(self):"},{"line_number":80,"context_line":"        bridge \u003d mock.Mock()"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        gateway_ip \u003d \"192.168.1.1\""},{"line_number":83,"context_line":"        cidr \u003d \"192.168.1.0/24\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_7ed3ad5f","line":80,"in_reply_to":"7adec928_94c22351","updated":"2014-05-19 17:48:18.000000000","message":"Accidentally removed it when moving notes around.","commit_id":"6fedcc91f67fe8bc1efa3e1c782030983807a769"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"d45fd103a62170ac847ca67bb9b0a1f3d67573b1","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        self.client.create_dhcp(bridge, gateway_ip, cidr, host_rts\u003dhost_rts,"},{"line_number":93,"context_line":"                                dns_servers\u003ddns_servers)"},{"line_number":94,"context_line":"        # NOTE(kevinbenton): This test doesn\u0027t appear to be posssible with the"},{"line_number":95,"context_line":"        # current version of the library as nothin is called on the bridge"},{"line_number":96,"context_line":"        # object passed into create_dhcp"},{"line_number":97,"context_line":"        self.skipTest(\"add_bridge_dhcp is currently not called on bridge\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_2d4d7dc4","line":94,"updated":"2014-05-19 15:59:46.000000000","message":"I spy one \u0027s\u0027 too much...","commit_id":"6fedcc91f67fe8bc1efa3e1c782030983807a769"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"d45fd103a62170ac847ca67bb9b0a1f3d67573b1","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        self.client.create_dhcp(bridge, gateway_ip, cidr, host_rts\u003dhost_rts,"},{"line_number":93,"context_line":"                                dns_servers\u003ddns_servers)"},{"line_number":94,"context_line":"        # NOTE(kevinbenton): This test doesn\u0027t appear to be posssible with the"},{"line_number":95,"context_line":"        # current version of the library as nothin is called on the bridge"},{"line_number":96,"context_line":"        # object passed into create_dhcp"},{"line_number":97,"context_line":"        self.skipTest(\"add_bridge_dhcp is currently not called on bridge\")"},{"line_number":98,"context_line":"        bridge.assert_has_calls([dhcp_call])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_4ddf29d6","line":95,"updated":"2014-05-19 15:59:46.000000000","message":"maybe that s used to be a g and ran away from this line","commit_id":"6fedcc91f67fe8bc1efa3e1c782030983807a769"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"dda3aedf860a0b5739c1c70b0f14298d12822165","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        self.client.create_dhcp(bridge, gateway_ip, cidr, host_rts\u003dhost_rts,"},{"line_number":93,"context_line":"                                dns_servers\u003ddns_servers)"},{"line_number":94,"context_line":"        # NOTE(kevinbenton): This test doesn\u0027t appear to be posssible with the"},{"line_number":95,"context_line":"        # current version of the library as nothin is called on the bridge"},{"line_number":96,"context_line":"        # object passed into create_dhcp"},{"line_number":97,"context_line":"        self.skipTest(\"add_bridge_dhcp is currently not called on bridge\")"},{"line_number":98,"context_line":"        bridge.assert_has_calls([dhcp_call])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_33fb1e48","line":95,"in_reply_to":"7adec928_4ddf29d6","updated":"2014-05-19 17:48:18.000000000","message":"Looks like I picked up a touch of southern drawl while in Atlanta. ;-)","commit_id":"6fedcc91f67fe8bc1efa3e1c782030983807a769"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"d45fd103a62170ac847ca67bb9b0a1f3d67573b1","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        # NOTE(kevinbenton): This test doesn\u0027t appear to be posssible with the"},{"line_number":95,"context_line":"        # current version of the library as nothin is called on the bridge"},{"line_number":96,"context_line":"        # object passed into create_dhcp"},{"line_number":97,"context_line":"        self.skipTest(\"add_bridge_dhcp is currently not called on bridge\")"},{"line_number":98,"context_line":"        bridge.assert_has_calls([dhcp_call])"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def test_delete_dhcp(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_ed04754b","line":97,"updated":"2014-05-19 15:59:46.000000000","message":"maybe then skip at first line or use skiptest decorator","commit_id":"6fedcc91f67fe8bc1efa3e1c782030983807a769"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"dda3aedf860a0b5739c1c70b0f14298d12822165","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        # NOTE(kevinbenton): This test doesn\u0027t appear to be posssible with the"},{"line_number":95,"context_line":"        # current version of the library as nothin is called on the bridge"},{"line_number":96,"context_line":"        # object passed into create_dhcp"},{"line_number":97,"context_line":"        self.skipTest(\"add_bridge_dhcp is currently not called on bridge\")"},{"line_number":98,"context_line":"        bridge.assert_has_calls([dhcp_call])"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def test_delete_dhcp(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_fe989dc1","line":97,"in_reply_to":"7adec928_ed04754b","updated":"2014-05-19 17:48:18.000000000","message":"Done","commit_id":"6fedcc91f67fe8bc1efa3e1c782030983807a769"},{"author":{"_account_id":2035,"name":"Maru Newby","email":"marun@redhat.com","username":"maru"},"change_message_id":"b0e38f30fa034a821827ed59a26326f3f0d7e76b","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        self.client.delete_port_group_by_name(tenant_id, \"pg1\")"},{"line_number":77,"context_line":"        self.mock_api.delete_port_group.assert_called_once_with(pg1_id)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    # FIXME(kevinbenton): This test doesn\u0027t appear to be possible with the"},{"line_number":80,"context_line":"    # current version of the library as nothing is called on the bridge"},{"line_number":81,"context_line":"    # object passed into create_dhcp"},{"line_number":82,"context_line":"    @testtools.skip(\"add_bridge_dhcp is currently not called on bridge\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_0e886ce6","line":79,"updated":"2014-05-21 22:31:27.000000000","message":"I think it makes sense to remove this test before merge unless the midonet maintainers commit to get it running again.  Otherwise there is no guarantee it will run in the future.","commit_id":"50216c52dc199e88a877e17dbf951f6416646acc"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"7258ec5aac8fc377ee25e34f4dfff49d40127f7e","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        dhcp_call \u003d mock.call.add_bridge_dhcp(bridge, gateway_ip, cidr,"},{"line_number":90,"context_line":"                                              host_rts\u003dhost_rts,"},{"line_number":91,"context_line":"                                              dns_nservers\u003ddns_servers)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        self.client.create_dhcp(bridge, gateway_ip, cidr, host_rts\u003dhost_rts,"},{"line_number":94,"context_line":"                                dns_servers\u003ddns_servers)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_217c4b72","line":91,"updated":"2014-05-22 11:39:13.000000000","message":"Good catch!","commit_id":"0ff8536c0d9b95172c42b1a01d292df58ed2e573"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"e8fa638d3e5e6d6eb3a7da5b22c88267bcca9659","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        self.client.create_dhcp(bridge, gateway_ip, cidr, host_rts\u003dhost_rts,"},{"line_number":94,"context_line":"                                dns_servers\u003ddns_servers)"},{"line_number":95,"context_line":"        self.mock_api.assert_has_calls([dhcp_call])"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def test_delete_dhcp(self):"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_07674eb8","line":95,"updated":"2014-05-22 20:44:19.000000000","message":"thanks for the fix!","commit_id":"0ff8536c0d9b95172c42b1a01d292df58ed2e573"}],"neutron/tests/unit/test_l3_agent.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"d45fd103a62170ac847ca67bb9b0a1f3d67573b1","unresolved":false,"context_lines":[{"line_number":604,"context_line":"                           if r not in orig_nat_rules]"},{"line_number":605,"context_line":"        self.assertEqual(len(nat_rules_delta), 2)"},{"line_number":606,"context_line":"        self._verify_snat_rules(nat_rules_delta, router)"},{"line_number":607,"context_line":"        self.send_arp.assert_called_once()"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"    def test_process_router_interface_added(self):"},{"line_number":610,"context_line":"        agent \u003d l3_agent.L3NATAgent(HOSTNAME, self.conf)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_0d87e1b5","side":"PARENT","line":607,"updated":"2014-05-19 15:59:46.000000000","message":"ah this is mine, I think","commit_id":"61e52f91c7259aab40bb3bf3474d361da00abc58"}]}
