)]}'
{"sushy_tools/tests/unit/emulator/test_nova.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a01b24ad7a9768b9938ba08d0624641da17cbea4","unresolved":false,"context_lines":[{"line_number":24,"context_line":"nova_mock \u003d mock.Mock()"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"@mock.patch(\u0027openstack.connect\u0027, nova_mock)"},{"line_number":28,"context_line":"class EmulatorTestCase(base.BaseTestCase):"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_d4ff0c00","line":27,"updated":"2018-06-19 09:45:15.000000000","message":"Why using the global mock object? This makes tests not independent and prevents using autospec. Better\n\n @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)","commit_id":"64f2a1dda5ab27b8cffe44c8498082712b8c1715"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e5be65bfb9a6ad90ff7f093730f1563a4ffa73fe","unresolved":false,"context_lines":[{"line_number":24,"context_line":"nova_mock \u003d mock.Mock()"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"@mock.patch(\u0027openstack.connect\u0027, nova_mock)"},{"line_number":28,"context_line":"class EmulatorTestCase(base.BaseTestCase):"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_da94138f","line":27,"in_reply_to":"5f7c97a3_d4ff0c00","updated":"2018-06-19 10:36:06.000000000","message":"Done","commit_id":"64f2a1dda5ab27b8cffe44c8498082712b8c1715"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a01b24ad7a9768b9938ba08d0624641da17cbea4","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    @mock.patch(\u0027flask.render_template\u0027, autospec\u003dTrue)"},{"line_number":45,"context_line":"    def test_collection_resource(self, render_mock):"},{"line_number":46,"context_line":"        server0 \u003d mock.Mock()"},{"line_number":47,"context_line":"        server0.id \u003d \u0027host0\u0027"},{"line_number":48,"context_line":"        server1 \u003d mock.Mock()"},{"line_number":49,"context_line":"        server1.id \u003d \u0027host1\u0027"},{"line_number":50,"context_line":"        nova_mock.return_value.list_servers.return_value \u003d [server0, server1]"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_5ffc750b","line":47,"updated":"2018-06-19 09:45:15.000000000","message":"nit: server0 \u003d mock.Mock(id\u003d\u0027host0\u0027)","commit_id":"64f2a1dda5ab27b8cffe44c8498082712b8c1715"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e5be65bfb9a6ad90ff7f093730f1563a4ffa73fe","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    @mock.patch(\u0027flask.render_template\u0027, autospec\u003dTrue)"},{"line_number":45,"context_line":"    def test_collection_resource(self, render_mock):"},{"line_number":46,"context_line":"        server0 \u003d mock.Mock()"},{"line_number":47,"context_line":"        server0.id \u003d \u0027host0\u0027"},{"line_number":48,"context_line":"        server1 \u003d mock.Mock()"},{"line_number":49,"context_line":"        server1.id \u003d \u0027host1\u0027"},{"line_number":50,"context_line":"        nova_mock.return_value.list_servers.return_value \u003d [server0, server1]"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_9a51bbdc","line":47,"in_reply_to":"5f7c97a3_5ffc750b","updated":"2018-06-19 10:36:06.000000000","message":"Done","commit_id":"64f2a1dda5ab27b8cffe44c8498082712b8c1715"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"18fb3fa68b0cad9eb3584a726e9b48f22d939849","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        super(EmulatorTestCase, self).setUp()"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @mock.patch(\u0027flask.render_template\u0027, autospec\u003dTrue)"},{"line_number":37,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":38,"context_line":"    def test_root_resource(self, nova_mock, render_mock):"},{"line_number":39,"context_line":"        self.app.get(\u0027/redfish/v1/\u0027)"},{"line_number":40,"context_line":"        render_mock.assert_called_once_with(\u0027root.json\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_3263d443","line":37,"updated":"2018-06-20 10:06:56.000000000","message":"you\u0027re putting in on every method, so you can put it on the class instead","commit_id":"371ee23035b180e1d6b90239475b140baf5eef6c"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"d314c0d18838bd366e340333576673820e9c27a7","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        super(EmulatorTestCase, self).setUp()"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @mock.patch(\u0027flask.render_template\u0027, autospec\u003dTrue)"},{"line_number":37,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":38,"context_line":"    def test_root_resource(self, nova_mock, render_mock):"},{"line_number":39,"context_line":"        self.app.get(\u0027/redfish/v1/\u0027)"},{"line_number":40,"context_line":"        render_mock.assert_called_once_with(\u0027root.json\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_920bc829","line":37,"in_reply_to":"5f7c97a3_3263d443","updated":"2018-06-20 10:18:39.000000000","message":"Right, I have been scared by the situation when these tests are running in parallel (that you mentioned).\n\nSo I\u0027ve not been certain about the concurrency - if we decorate at the class level, then at which moment the objects get patched? At module import perhaps? Is it patched globally or still at the class/method scope?\n\nIs it more magical?","commit_id":"371ee23035b180e1d6b90239475b140baf5eef6c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bf88a70f957cffcb60f31a0a0ecb523ea101fc22","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        super(EmulatorTestCase, self).setUp()"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @mock.patch(\u0027flask.render_template\u0027, autospec\u003dTrue)"},{"line_number":37,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":38,"context_line":"    def test_root_resource(self, nova_mock, render_mock):"},{"line_number":39,"context_line":"        self.app.get(\u0027/redfish/v1/\u0027)"},{"line_number":40,"context_line":"        render_mock.assert_called_once_with(\u0027root.json\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_f5578600","line":37,"in_reply_to":"5f7c97a3_920bc829","updated":"2018-06-20 10:24:36.000000000","message":"\u003e if we decorate at the class level, then at which moment the objects get patched? At module import perhaps? Is it patched globally or still at the class/method scope?\n\nit is still at the method level, just a shortcut","commit_id":"371ee23035b180e1d6b90239475b140baf5eef6c"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"c209cef88f742ae895a604746d3ab910ec3d880d","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        super(EmulatorTestCase, self).setUp()"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @mock.patch(\u0027flask.render_template\u0027, autospec\u003dTrue)"},{"line_number":37,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":38,"context_line":"    def test_root_resource(self, nova_mock, render_mock):"},{"line_number":39,"context_line":"        self.app.get(\u0027/redfish/v1/\u0027)"},{"line_number":40,"context_line":"        render_mock.assert_called_once_with(\u0027root.json\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_0318c881","line":37,"in_reply_to":"5f7c97a3_f5578600","updated":"2018-07-02 13:04:54.000000000","message":"I will do a followup not to lose the +2 dynamics!","commit_id":"371ee23035b180e1d6b90239475b140baf5eef6c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e41813022e2f41b9276c61f253398a042dff0cc","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        # This enables Nova driver"},{"line_number":31,"context_line":"        main.driver \u003d None"},{"line_number":32,"context_line":"        os.environ[\u0027OS_CLOUD\u0027] \u003d \u0027fake-cloud\u0027"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        super(EmulatorTestCase, self).setUp()"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_251a2c17","line":32,"updated":"2018-07-20 16:44:46.000000000","message":"I\u0027d prefer we use something like\n\n @mock.patch.object(os, \u0027environ\u0027, {\u0027OS_CLOUD\u0027: \u0027fake-cloud\u0027})\n\non the class to avoid this modification from affecting other tests","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"1173fe3922e8040fea21908f403ff58dd0f7899a","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        # This enables Nova driver"},{"line_number":31,"context_line":"        main.driver \u003d None"},{"line_number":32,"context_line":"        os.environ[\u0027OS_CLOUD\u0027] \u003d \u0027fake-cloud\u0027"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        super(EmulatorTestCase, self).setUp()"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_ede960ab","line":32,"in_reply_to":"5f7c97a3_251a2c17","updated":"2018-07-23 09:58:32.000000000","message":"Very reasonable! Done","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e41813022e2f41b9276c61f253398a042dff0cc","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    def test_root_resource(self, nova_mock):"},{"line_number":38,"context_line":"        response \u003d self.app.get(\u0027/redfish/v1/\u0027)"},{"line_number":39,"context_line":"        self.assertEqual(response.status_code, 200)"},{"line_number":40,"context_line":"        self.assertEqual(True, bool(response.json))"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":43,"context_line":"    def test_collection_resource(self, nova_mock):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_c51498ec","line":40,"updated":"2018-07-20 16:44:46.000000000","message":"self.assertTrue","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"1173fe3922e8040fea21908f403ff58dd0f7899a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    def test_root_resource(self, nova_mock):"},{"line_number":38,"context_line":"        response \u003d self.app.get(\u0027/redfish/v1/\u0027)"},{"line_number":39,"context_line":"        self.assertEqual(response.status_code, 200)"},{"line_number":40,"context_line":"        self.assertEqual(True, bool(response.json))"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":43,"context_line":"    def test_collection_resource(self, nova_mock):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_8d722c18","line":40,"in_reply_to":"5f7c97a3_c51498ec","updated":"2018-07-23 09:58:32.000000000","message":"Done","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e41813022e2f41b9276c61f253398a042dff0cc","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        nova_mock.return_value.list_servers.return_value \u003d [server0, server1]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        response \u003d self.app.get(\u0027/redfish/v1/Systems\u0027)"},{"line_number":49,"context_line":"        hosts \u003d [\u0027/redfish/v1/Systems/%s\u0027 % x.values()"},{"line_number":50,"context_line":"                 for x in response.json[\u0027Members\u0027]]"},{"line_number":51,"context_line":"        self.assertEqual(hosts, hosts)"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_e50f54d1","line":49,"updated":"2018-07-20 16:44:46.000000000","message":"I think .values() should to response.json[..]","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"1173fe3922e8040fea21908f403ff58dd0f7899a","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        nova_mock.return_value.list_servers.return_value \u003d [server0, server1]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        response \u003d self.app.get(\u0027/redfish/v1/Systems\u0027)"},{"line_number":49,"context_line":"        hosts \u003d [\u0027/redfish/v1/Systems/%s\u0027 % x.values()"},{"line_number":50,"context_line":"                 for x in response.json[\u0027Members\u0027]]"},{"line_number":51,"context_line":"        self.assertEqual(hosts, hosts)"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_edf3a06c","line":49,"in_reply_to":"5f7c97a3_e50f54d1","updated":"2018-07-23 09:58:32.000000000","message":"Done","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e41813022e2f41b9276c61f253398a042dff0cc","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        response \u003d self.app.get(\u0027/redfish/v1/Systems\u0027)"},{"line_number":49,"context_line":"        hosts \u003d [\u0027/redfish/v1/Systems/%s\u0027 % x.values()"},{"line_number":50,"context_line":"                 for x in response.json[\u0027Members\u0027]]"},{"line_number":51,"context_line":"        self.assertEqual(hosts, hosts)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":54,"context_line":"    def test_system_resource_get(self, nova_mock):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_85d0e02c","line":51,"updated":"2018-07-20 16:44:46.000000000","message":"I\u0027m pretty sure there is an issue here :)","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"1173fe3922e8040fea21908f403ff58dd0f7899a","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        response \u003d self.app.get(\u0027/redfish/v1/Systems\u0027)"},{"line_number":49,"context_line":"        hosts \u003d [\u0027/redfish/v1/Systems/%s\u0027 % x.values()"},{"line_number":50,"context_line":"                 for x in response.json[\u0027Members\u0027]]"},{"line_number":51,"context_line":"        self.assertEqual(hosts, hosts)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":54,"context_line":"    def test_system_resource_get(self, nova_mock):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_ad9368ff","line":51,"in_reply_to":"5f7c97a3_85d0e02c","updated":"2018-07-23 09:58:32.000000000","message":"Done","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e41813022e2f41b9276c61f253398a042dff0cc","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    def test_system_resource_patch(self, nova_mock):"},{"line_number":82,"context_line":"        data0 \u003d json.dumps({\u0027Boot\u0027: {\u0027BootSourceOverrideTarget\u0027: \u0027Cd\u0027}})"},{"line_number":83,"context_line":"        response \u003d self.app.patch(\u0027/redfish/v1/Systems/xxxx-yyyy-zzzz\u0027,"},{"line_number":84,"context_line":"                                  data\u003ddata0, content_type\u003d\u0027application/json\u0027)"},{"line_number":85,"context_line":"        self.assertEqual(response.status, \u0027204 NO CONTENT\u0027)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_a5d39c36","line":84,"updated":"2018-07-20 16:44:46.000000000","message":"nit: I wonder if you can provide json directly with json\u003d{..}. some libraries allow that","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"1173fe3922e8040fea21908f403ff58dd0f7899a","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    def test_system_resource_patch(self, nova_mock):"},{"line_number":82,"context_line":"        data0 \u003d json.dumps({\u0027Boot\u0027: {\u0027BootSourceOverrideTarget\u0027: \u0027Cd\u0027}})"},{"line_number":83,"context_line":"        response \u003d self.app.patch(\u0027/redfish/v1/Systems/xxxx-yyyy-zzzz\u0027,"},{"line_number":84,"context_line":"                                  data\u003ddata0, content_type\u003d\u0027application/json\u0027)"},{"line_number":85,"context_line":"        self.assertEqual(response.status, \u0027204 NO CONTENT\u0027)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_68077e19","line":84,"in_reply_to":"5f7c97a3_a5d39c36","updated":"2018-07-23 09:58:32.000000000","message":"Done","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e41813022e2f41b9276c61f253398a042dff0cc","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        data0 \u003d json.dumps({\u0027Boot\u0027: {\u0027BootSourceOverrideTarget\u0027: \u0027Cd\u0027}})"},{"line_number":83,"context_line":"        response \u003d self.app.patch(\u0027/redfish/v1/Systems/xxxx-yyyy-zzzz\u0027,"},{"line_number":84,"context_line":"                                  data\u003ddata0, content_type\u003d\u0027application/json\u0027)"},{"line_number":85,"context_line":"        self.assertEqual(response.status, \u0027204 NO CONTENT\u0027)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":88,"context_line":"    def test_system_reset_action_on(self, nova_mock):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_45d64828","line":85,"updated":"2018-07-20 16:44:46.000000000","message":"any asserts that something actually happened with nova_mock?","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"1173fe3922e8040fea21908f403ff58dd0f7899a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        data0 \u003d json.dumps({\u0027Boot\u0027: {\u0027BootSourceOverrideTarget\u0027: \u0027Cd\u0027}})"},{"line_number":83,"context_line":"        response \u003d self.app.patch(\u0027/redfish/v1/Systems/xxxx-yyyy-zzzz\u0027,"},{"line_number":84,"context_line":"                                  data\u003ddata0, content_type\u003d\u0027application/json\u0027)"},{"line_number":85,"context_line":"        self.assertEqual(response.status, \u0027204 NO CONTENT\u0027)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":88,"context_line":"    def test_system_reset_action_on(self, nova_mock):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_680d3ee6","line":85,"in_reply_to":"5f7c97a3_45d64828","updated":"2018-07-23 09:58:32.000000000","message":"Done","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e41813022e2f41b9276c61f253398a042dff0cc","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        response \u003d self.app.post("},{"line_number":94,"context_line":"            \u0027/redfish/v1/Systems/xxxx-yyyy-zzzz/Actions/ComputerSystem.Reset\u0027,"},{"line_number":95,"context_line":"            data\u003ddata, content_type\u003d\u0027application/json\u0027)"},{"line_number":96,"context_line":"        self.assertEqual(response.status, \u0027204 NO CONTENT\u0027)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":99,"context_line":"    def test_system_reset_action_forceon(self, nova_mock):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_65d90453","line":96,"updated":"2018-07-20 16:44:46.000000000","message":"ditto here and below","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"1173fe3922e8040fea21908f403ff58dd0f7899a","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        response \u003d self.app.post("},{"line_number":94,"context_line":"            \u0027/redfish/v1/Systems/xxxx-yyyy-zzzz/Actions/ComputerSystem.Reset\u0027,"},{"line_number":95,"context_line":"            data\u003ddata, content_type\u003d\u0027application/json\u0027)"},{"line_number":96,"context_line":"        self.assertEqual(response.status, \u0027204 NO CONTENT\u0027)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":99,"context_line":"    def test_system_reset_action_forceon(self, nova_mock):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_28ef46fb","line":96,"in_reply_to":"5f7c97a3_65d90453","updated":"2018-07-23 09:58:32.000000000","message":"Done","commit_id":"bb29bd1f2dd2efa668208ff4601240f7ed9d0d98"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"3becd2b3cf6d4da3caa627709a7c833d84930c7e","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":33,"context_line":"    def test_root_resource(self, nova_mock):"},{"line_number":34,"context_line":"        response \u003d self.app.get(\u0027/redfish/v1/\u0027)"},{"line_number":35,"context_line":"        self.assertEqual(response.status_code, 200)"},{"line_number":36,"context_line":"        self.assertTrue(response.json)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_aec31d58","line":35,"updated":"2018-07-25 13:57:38.000000000","message":"generally the order should be expected, observed","commit_id":"2c09b97e6a4e29074e1d88d7d966f642183163ca"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"0f479e6f05d71673693fd2a74ac985a6e302a365","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":33,"context_line":"    def test_root_resource(self, nova_mock):"},{"line_number":34,"context_line":"        response \u003d self.app.get(\u0027/redfish/v1/\u0027)"},{"line_number":35,"context_line":"        self.assertEqual(response.status_code, 200)"},{"line_number":36,"context_line":"        self.assertTrue(response.json)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_ce3d392a","line":35,"in_reply_to":"5f7c97a3_aec31d58","updated":"2018-07-25 14:05:06.000000000","message":"hey, thanks for review!\nI did not quite get you here - order of what? Could you elaborate a bit please? ;)","commit_id":"2c09b97e6a4e29074e1d88d7d966f642183163ca"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"db8eddb7c221c91ee967b8d77db750270de35864","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":33,"context_line":"    def test_root_resource(self, nova_mock):"},{"line_number":34,"context_line":"        response \u003d self.app.get(\u0027/redfish/v1/\u0027)"},{"line_number":35,"context_line":"        self.assertEqual(response.status_code, 200)"},{"line_number":36,"context_line":"        self.assertTrue(response.json)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_2e994d1d","line":35,"in_reply_to":"5f7c97a3_ce3d392a","updated":"2018-07-25 14:12:03.000000000","message":"sure, assertEqual(200, response.status_code). but that\u0027s more of a nit","commit_id":"2c09b97e6a4e29074e1d88d7d966f642183163ca"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"08037f445c077973090946752a19e9346a177686","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            \u0027/redfish/v1/Systems/xxxx-yyyy-zzzz/Actions/ComputerSystem.Reset\u0027,"},{"line_number":97,"context_line":"            json\u003ddata)"},{"line_number":98,"context_line":"        self.assertEqual(response.status_code, 204)"},{"line_number":99,"context_line":"        server.compute.start_server.called_once()"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":102,"context_line":"    def test_system_reset_action_forceon(self, nova_mock):"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_9808c72e","line":99,"updated":"2018-07-26 16:41:56.000000000","message":"assert_called_once_with? the same in other places","commit_id":"f5450bb8c62ee776cd1bc647d3f35bec37235fb3"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"06c0f6071f27cb73dab53a3056efd321b36ff09f","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            \u0027/redfish/v1/Systems/xxxx-yyyy-zzzz/Actions/ComputerSystem.Reset\u0027,"},{"line_number":97,"context_line":"            json\u003ddata)"},{"line_number":98,"context_line":"        self.assertEqual(response.status_code, 204)"},{"line_number":99,"context_line":"        server.compute.start_server.called_once()"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    @mock.patch(\u0027openstack.connect\u0027, autospec\u003dTrue)"},{"line_number":102,"context_line":"    def test_system_reset_action_forceon(self, nova_mock):"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_f979affa","line":99,"in_reply_to":"5f7c97a3_9808c72e","updated":"2018-07-27 09:50:54.000000000","message":"Mocks always fool me! I am sorry for that %-D\n\nFixed in If8a479ae793c1616ef8b30e76bd8cdfdfc08dbe0","commit_id":"f5450bb8c62ee776cd1bc647d3f35bec37235fb3"}]}
