)]}'
{"quantum/tests/unit/nec/test_nec_agent.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        self.assertEqual(self.fail_mode, log_patched.exception.called)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    def test_report_state(self):"},{"line_number":200,"context_line":"        self.fail_mode \u003d False"},{"line_number":201,"context_line":"        self._test_report_state()"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_report_state_fail(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4Ek%3D","line":200,"updated":"2013-06-06 22:36:39.000000000","message":"Not sure this should be an instance var.  Why not pass as a param to _test_report_state()?","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":197,"context_line":"        self.assertEqual(self.fail_mode, log_patched.exception.called)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    def test_report_state(self):"},{"line_number":200,"context_line":"        self.fail_mode \u003d False"},{"line_number":201,"context_line":"        self._test_report_state()"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_report_state_fail(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3PU%3D","line":200,"in_reply_to":"AAAAPX%2F%2F4Ek%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done. No strong reason to use an instance var.","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":221,"context_line":"            port \u003d {\u0027id\u0027: \u0027update-port-1\u0027}"},{"line_number":222,"context_line":"            self.agent.callback_nec.port_update(context, port\u003dport)"},{"line_number":223,"context_line":"            self.assertEqual(get_vif_port_by_id.call_count, 1)"},{"line_number":224,"context_line":"            self.assertEqual(refresh_firewall.call_count, 0)"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"            # The OVS port exists but no security group is associated."},{"line_number":227,"context_line":"            get_vif_port_by_id.return_value \u003d vifport"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4EY%3D","line":224,"updated":"2013-06-06 22:36:39.000000000","message":"self.assertFalse()","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":221,"context_line":"            port \u003d {\u0027id\u0027: \u0027update-port-1\u0027}"},{"line_number":222,"context_line":"            self.agent.callback_nec.port_update(context, port\u003dport)"},{"line_number":223,"context_line":"            self.assertEqual(get_vif_port_by_id.call_count, 1)"},{"line_number":224,"context_line":"            self.assertEqual(refresh_firewall.call_count, 0)"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"            # The OVS port exists but no security group is associated."},{"line_number":227,"context_line":"            get_vif_port_by_id.return_value \u003d vifport"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3PQ%3D","line":224,"in_reply_to":"AAAAPX%2F%2F4EY%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":228,"context_line":"            port \u003d {\u0027id\u0027: \u0027update-port-1\u0027}"},{"line_number":229,"context_line":"            self.agent.callback_nec.port_update(context, port\u003dport)"},{"line_number":230,"context_line":"            self.assertEqual(get_vif_port_by_id.call_count, 2)"},{"line_number":231,"context_line":"            self.assertEqual(refresh_firewall.call_count, 0)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"            # The OVS port exists but a security group is associated."},{"line_number":234,"context_line":"            get_vif_port_by_id.return_value \u003d vifport"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4EU%3D","line":231,"updated":"2013-06-06 22:36:39.000000000","message":"self.assertFalse()","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":228,"context_line":"            port \u003d {\u0027id\u0027: \u0027update-port-1\u0027}"},{"line_number":229,"context_line":"            self.agent.callback_nec.port_update(context, port\u003dport)"},{"line_number":230,"context_line":"            self.assertEqual(get_vif_port_by_id.call_count, 2)"},{"line_number":231,"context_line":"            self.assertEqual(refresh_firewall.call_count, 0)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"            # The OVS port exists but a security group is associated."},{"line_number":234,"context_line":"            get_vif_port_by_id.return_value \u003d vifport"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3PM%3D","line":231,"in_reply_to":"AAAAPX%2F%2F4EU%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"class TestNecAgentPluginApi(TestNecAgentBase):"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def _test_plugin_api(self, fail\u003dFalse):"},{"line_number":252,"context_line":"        with contextlib.nested("},{"line_number":253,"context_line":"            mock.patch.object(nec_quantum_agent.NECPluginApi, \u0027make_msg\u0027),"},{"line_number":254,"context_line":"            mock.patch.object(nec_quantum_agent.NECPluginApi, \u0027call\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4EM%3D","line":251,"updated":"2013-06-06 22:36:39.000000000","message":"maybe expected_failure instead of plain fail?","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"class TestNecAgentPluginApi(TestNecAgentBase):"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def _test_plugin_api(self, fail\u003dFalse):"},{"line_number":252,"context_line":"        with contextlib.nested("},{"line_number":253,"context_line":"            mock.patch.object(nec_quantum_agent.NECPluginApi, \u0027make_msg\u0027),"},{"line_number":254,"context_line":"            mock.patch.object(nec_quantum_agent.NECPluginApi, \u0027call\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3L4%3D","line":251,"in_reply_to":"AAAAPX%2F%2F4EM%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":254,"context_line":"            mock.patch.object(nec_quantum_agent.NECPluginApi, \u0027call\u0027),"},{"line_number":255,"context_line":"            mock.patch.object(nec_quantum_agent, \u0027LOG\u0027)"},{"line_number":256,"context_line":"        ) as (make_msg, apicall, log):"},{"line_number":257,"context_line":"            ctx \u003d object()"},{"line_number":258,"context_line":"            agent_id \u003d \u0027nec-q-agent.dummy-host\u0027"},{"line_number":259,"context_line":"            msg \u003d object()"},{"line_number":260,"context_line":"            make_msg.return_value \u003d msg"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4Do%3D","line":257,"updated":"2013-06-06 22:36:39.000000000","message":"This can be dropped if you mock.sentinel.","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":254,"context_line":"            mock.patch.object(nec_quantum_agent.NECPluginApi, \u0027call\u0027),"},{"line_number":255,"context_line":"            mock.patch.object(nec_quantum_agent, \u0027LOG\u0027)"},{"line_number":256,"context_line":"        ) as (make_msg, apicall, log):"},{"line_number":257,"context_line":"            ctx \u003d object()"},{"line_number":258,"context_line":"            agent_id \u003d \u0027nec-q-agent.dummy-host\u0027"},{"line_number":259,"context_line":"            msg \u003d object()"},{"line_number":260,"context_line":"            make_msg.return_value \u003d msg"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3MU%3D","line":257,"in_reply_to":"AAAAPX%2F%2F4Do%3D","updated":"2013-06-07 11:46:10.000000000","message":"Thanks. mock.sentinel is useful.","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":256,"context_line":"        ) as (make_msg, apicall, log):"},{"line_number":257,"context_line":"            ctx \u003d object()"},{"line_number":258,"context_line":"            agent_id \u003d \u0027nec-q-agent.dummy-host\u0027"},{"line_number":259,"context_line":"            msg \u003d object()"},{"line_number":260,"context_line":"            make_msg.return_value \u003d msg"},{"line_number":261,"context_line":"            if fail:"},{"line_number":262,"context_line":"                apicall.side_effect \u003d Exception()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4Dw%3D","line":259,"updated":"2013-06-06 22:36:39.000000000","message":"not needed because the you can always get a ref to the mock return_value.","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":256,"context_line":"        ) as (make_msg, apicall, log):"},{"line_number":257,"context_line":"            ctx \u003d object()"},{"line_number":258,"context_line":"            agent_id \u003d \u0027nec-q-agent.dummy-host\u0027"},{"line_number":259,"context_line":"            msg \u003d object()"},{"line_number":260,"context_line":"            make_msg.return_value \u003d msg"},{"line_number":261,"context_line":"            if fail:"},{"line_number":262,"context_line":"                apicall.side_effect \u003d Exception()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3Mo%3D","line":259,"in_reply_to":"AAAAPX%2F%2F4Dw%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":262,"context_line":"                apicall.side_effect \u003d Exception()"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"            self.agent.plugin_rpc.update_ports("},{"line_number":265,"context_line":"                ctx, agent_id, OVS_DPID_0X,"},{"line_number":266,"context_line":"                # port_added"},{"line_number":267,"context_line":"                [{\u0027id\u0027: \u0027id-1\u0027, \u0027mac\u0027: \u0027mac-1\u0027, \u0027port_no\u0027: \u00271\u0027},"},{"line_number":268,"context_line":"                 {\u0027id\u0027: \u0027id-2\u0027, \u0027mac\u0027: \u0027mac-2\u0027, \u0027port_no\u0027: \u00272\u0027}],"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4EA%3D","line":265,"updated":"2013-06-06 22:36:39.000000000","message":"ctx -\u003e mock.sentinel.ctx","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":262,"context_line":"                apicall.side_effect \u003d Exception()"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"            self.agent.plugin_rpc.update_ports("},{"line_number":265,"context_line":"                ctx, agent_id, OVS_DPID_0X,"},{"line_number":266,"context_line":"                # port_added"},{"line_number":267,"context_line":"                [{\u0027id\u0027: \u0027id-1\u0027, \u0027mac\u0027: \u0027mac-1\u0027, \u0027port_no\u0027: \u00271\u0027},"},{"line_number":268,"context_line":"                 {\u0027id\u0027: \u0027id-2\u0027, \u0027mac\u0027: \u0027mac-2\u0027, \u0027port_no\u0027: \u00272\u0027}],"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3MI%3D","line":265,"in_reply_to":"AAAAPX%2F%2F4EA%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":276,"context_line":"                            {\u0027id\u0027: \u0027id-2\u0027, \u0027mac\u0027: \u0027mac-2\u0027, \u0027port_no\u0027: \u00272\u0027}],"},{"line_number":277,"context_line":"                port_removed\u003d[\u0027id-3\u0027, \u0027id-4\u0027, \u0027id-5\u0027])"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"            apicall.assert_called_once_with(ctx, msg)"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"            self.assertTrue(log.info.called)"},{"line_number":282,"context_line":"            if fail:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4Dg%3D","line":279,"updated":"2013-06-06 22:36:39.000000000","message":"apicall.assert_called_once_with(mock.sentinel.ctx, make_msg.return_value)","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":276,"context_line":"                            {\u0027id\u0027: \u0027id-2\u0027, \u0027mac\u0027: \u0027mac-2\u0027, \u0027port_no\u0027: \u00272\u0027}],"},{"line_number":277,"context_line":"                port_removed\u003d[\u0027id-3\u0027, \u0027id-4\u0027, \u0027id-5\u0027])"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"            apicall.assert_called_once_with(ctx, msg)"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"            self.assertTrue(log.info.called)"},{"line_number":282,"context_line":"            if fail:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3ME%3D","line":279,"in_reply_to":"AAAAPX%2F%2F4Dg%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"c3ae33e916abc7cb07657f0a9520c6f0d488fe5b","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        self._check_report_state([dummy_vif] * 5, 5, fail_mode)"},{"line_number":173,"context_line":"        self._check_report_state([], 0, fail_mode)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        print \u0027record_state\u0027, self.record_calls"},{"line_number":176,"context_line":"        print \u0027num_ports_hist\u0027, self.num_ports_hist"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        # Since loopingcall start is mocked, call_count is same as"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2F26Y%3D","line":175,"updated":"2013-06-08 04:50:21.000000000","message":"do you need this?\nI think it\u0027s better to use function-style print()","commit_id":"5e31928c8b8e2e8158bdc22484b90f8e8ba7c745"}],"quantum/tests/unit/nec/test_nec_plugin.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        super(NecPluginV2OfcTestBase, self).setUp(self._plugin_name)"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        drv_klass_p \u003d drv_klass.stop()"},{"line_number":232,"context_line":"        drv_klass_p \u003d drv_klass.start()"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        self.context \u003d q_context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4DM%3D","line":231,"updated":"2013-06-06 22:36:39.000000000","message":"why stop then start here?","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        super(NecPluginV2OfcTestBase, self).setUp(self._plugin_name)"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        drv_klass_p \u003d drv_klass.stop()"},{"line_number":232,"context_line":"        drv_klass_p \u003d drv_klass.start()"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        self.context \u003d q_context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3JM%3D","line":231,"in_reply_to":"AAAAPX%2F%2F4DM%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done. This class itself is unnecessary..","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":361,"context_line":"            # Set admin_state_up to False"},{"line_number":362,"context_line":"            res \u003d self._update_resource(\u0027network\u0027, net[\u0027id\u0027],"},{"line_number":363,"context_line":"                                        {\u0027admin_state_up\u0027: False})"},{"line_number":364,"context_line":"            self.assertEqual(res[\u0027admin_state_up\u0027], False)"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"            # Set admin_state_up to True"},{"line_number":367,"context_line":"            res \u003d self._update_resource(\u0027network\u0027, net[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4DA%3D","line":364,"updated":"2013-06-06 22:36:39.000000000","message":".assertFalse()","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":361,"context_line":"            # Set admin_state_up to False"},{"line_number":362,"context_line":"            res \u003d self._update_resource(\u0027network\u0027, net[\u0027id\u0027],"},{"line_number":363,"context_line":"                                        {\u0027admin_state_up\u0027: False})"},{"line_number":364,"context_line":"            self.assertEqual(res[\u0027admin_state_up\u0027], False)"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"            # Set admin_state_up to True"},{"line_number":367,"context_line":"            res \u003d self._update_resource(\u0027network\u0027, net[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3JI%3D","line":364,"in_reply_to":"AAAAPX%2F%2F4DA%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":366,"context_line":"            # Set admin_state_up to True"},{"line_number":367,"context_line":"            res \u003d self._update_resource(\u0027network\u0027, net[\u0027id\u0027],"},{"line_number":368,"context_line":"                                        {\u0027admin_state_up\u0027: True})"},{"line_number":369,"context_line":"            self.assertEqual(res[\u0027admin_state_up\u0027], True)"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"        expected \u003d ["},{"line_number":372,"context_line":"            mock.call.exists_ofc_tenant(ctx, self._tenant_id),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4C8%3D","line":369,"updated":"2013-06-06 22:36:39.000000000","message":".assertTrue()","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":366,"context_line":"            # Set admin_state_up to True"},{"line_number":367,"context_line":"            res \u003d self._update_resource(\u0027network\u0027, net[\u0027id\u0027],"},{"line_number":368,"context_line":"                                        {\u0027admin_state_up\u0027: True})"},{"line_number":369,"context_line":"            self.assertEqual(res[\u0027admin_state_up\u0027], True)"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"        expected \u003d ["},{"line_number":372,"context_line":"            mock.call.exists_ofc_tenant(ctx, self._tenant_id),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3JE%3D","line":369,"in_reply_to":"AAAAPX%2F%2F4C8%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                self.assertEqual(p1[\u0027status\u0027], \u0027ACTIVE\u0027)"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"                # Check the port is not created on OFC"},{"line_number":434,"context_line":"                self.assertEqual(self.ofc.create_ofc_port.call_count, 0)"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"                # Register portinfo, then the port is created on OFC"},{"line_number":437,"context_line":"                portinfo \u003d {\u0027id\u0027: p1[\u0027id\u0027], \u0027port_no\u0027: 123}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4Cg%3D","line":434,"updated":"2013-06-06 22:36:39.000000000","message":"self.assertFalse(self.ofc.create_ofc_port.called)","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":431,"context_line":"                self.assertEqual(p1[\u0027status\u0027], \u0027ACTIVE\u0027)"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"                # Check the port is not created on OFC"},{"line_number":434,"context_line":"                self.assertEqual(self.ofc.create_ofc_port.call_count, 0)"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"                # Register portinfo, then the port is created on OFC"},{"line_number":437,"context_line":"                portinfo \u003d {\u0027id\u0027: p1[\u0027id\u0027], \u0027port_no\u0027: 123}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3JA%3D","line":434,"in_reply_to":"AAAAPX%2F%2F4Cg%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":487,"context_line":"                    net \u003d self._show_resource(\u0027network\u0027, net_id)"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"                    # Check the port is not created on OFC"},{"line_number":490,"context_line":"                    self.assertEqual(self.ofc.create_ofc_port.call_count, 0)"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"                    # Register portinfo, then the port is created on OFC"},{"line_number":493,"context_line":"                    portinfo \u003d {\u0027id\u0027: p1[\u0027id\u0027], \u0027port_no\u0027: 123}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4Cw%3D","line":490,"updated":"2013-06-06 22:36:39.000000000","message":"self.assertFalse(self.ofc.create_ofc_port.called)","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":487,"context_line":"                    net \u003d self._show_resource(\u0027network\u0027, net_id)"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"                    # Check the port is not created on OFC"},{"line_number":490,"context_line":"                    self.assertEqual(self.ofc.create_ofc_port.call_count, 0)"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"                    # Register portinfo, then the port is created on OFC"},{"line_number":493,"context_line":"                    portinfo \u003d {\u0027id\u0027: p1[\u0027id\u0027], \u0027port_no\u0027: 123}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3I8%3D","line":490,"in_reply_to":"AAAAPX%2F%2F4Cw%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":492,"context_line":"                    # Register portinfo, then the port is created on OFC"},{"line_number":493,"context_line":"                    portinfo \u003d {\u0027id\u0027: p1[\u0027id\u0027], \u0027port_no\u0027: 123}"},{"line_number":494,"context_line":"                    self._rpcapi_update_ports(added\u003d[portinfo])"},{"line_number":495,"context_line":"                    self.assertEqual(self.ofc.create_ofc_port.call_count, 0)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"                    self._update_resource(resource, res_id,"},{"line_number":498,"context_line":"                                          {\u0027admin_state_up\u0027: True})"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4C0%3D","line":495,"updated":"2013-06-06 22:36:39.000000000","message":"self.assertFalse(self.ofc.delete_ofc_port.called)","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":492,"context_line":"                    # Register portinfo, then the port is created on OFC"},{"line_number":493,"context_line":"                    portinfo \u003d {\u0027id\u0027: p1[\u0027id\u0027], \u0027port_no\u0027: 123}"},{"line_number":494,"context_line":"                    self._rpcapi_update_ports(added\u003d[portinfo])"},{"line_number":495,"context_line":"                    self.assertEqual(self.ofc.create_ofc_port.call_count, 0)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"                    self._update_resource(resource, res_id,"},{"line_number":498,"context_line":"                                          {\u0027admin_state_up\u0027: True})"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3I4%3D","line":495,"in_reply_to":"AAAAPX%2F%2F4C0%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":497,"context_line":"                    self._update_resource(resource, res_id,"},{"line_number":498,"context_line":"                                          {\u0027admin_state_up\u0027: True})"},{"line_number":499,"context_line":"                    self.assertEqual(self.ofc.create_ofc_port.call_count, 1)"},{"line_number":500,"context_line":"                    self.assertEqual(self.ofc.delete_ofc_port.call_count, 0)"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"                    self._update_resource(resource, res_id,"},{"line_number":503,"context_line":"                                          {\u0027admin_state_up\u0027: False})"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4Co%3D","line":500,"updated":"2013-06-06 22:36:39.000000000","message":"self.assertFalse(self.ofc.delete_ofc_port.called)","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":497,"context_line":"                    self._update_resource(resource, res_id,"},{"line_number":498,"context_line":"                                          {\u0027admin_state_up\u0027: True})"},{"line_number":499,"context_line":"                    self.assertEqual(self.ofc.create_ofc_port.call_count, 1)"},{"line_number":500,"context_line":"                    self.assertEqual(self.ofc.delete_ofc_port.call_count, 0)"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"                    self._update_resource(resource, res_id,"},{"line_number":503,"context_line":"                                          {\u0027admin_state_up\u0027: False})"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3I0%3D","line":500,"in_reply_to":"AAAAPX%2F%2F4Co%3D","updated":"2013-06-07 11:46:10.000000000","message":"Done","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"}],"quantum/tests/unit/nec/test_security_group.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"fd8650d87e581fa623b2768f6e716ec7344c5555","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                                             copy())"},{"line_number":50,"context_line":"        ofc_manager_p \u003d mock.patch(OFC_MANAGER)"},{"line_number":51,"context_line":"        ofc_manager_cls \u003d ofc_manager_p.start()"},{"line_number":52,"context_line":"        self.ofc \u003d mock.Mock()"},{"line_number":53,"context_line":"        ofc_manager_cls.return_value \u003d self.ofc"},{"line_number":54,"context_line":"        super(NecSecurityGroupsTestCase, self).setUp(PLUGIN_NAME)"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F4B8%3D","line":52,"updated":"2013-06-06 22:36:39.000000000","message":"the return value of a mock is a mock.  Is there a special need to create a mock Object explicitly here?","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":49,"context_line":"                                             copy())"},{"line_number":50,"context_line":"        ofc_manager_p \u003d mock.patch(OFC_MANAGER)"},{"line_number":51,"context_line":"        ofc_manager_cls \u003d ofc_manager_p.start()"},{"line_number":52,"context_line":"        self.ofc \u003d mock.Mock()"},{"line_number":53,"context_line":"        ofc_manager_cls.return_value \u003d self.ofc"},{"line_number":54,"context_line":"        super(NecSecurityGroupsTestCase, self).setUp(PLUGIN_NAME)"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2F3JY%3D","line":52,"in_reply_to":"AAAAPX%2F%2F4B8%3D","updated":"2013-06-07 11:46:10.000000000","message":"It is unnecessary. I forgot to remove it.","commit_id":"03787c9c123d29b6a9125ee10e8f469b83384cc8"}]}
