)]}'
{"tempest/api/network/base.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"442b5df12adad21898343ecdb10fc14bf8573ff5","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        return port"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    @classmethod"},{"line_number":131,"context_line":"    def create_router(cls, router_name\u003dNone,"},{"line_number":132,"context_line":"                      external_network_id\u003dNone, enable_snat\u003dNone):"},{"line_number":133,"context_line":"        ext_gw_info \u003d {}"},{"line_number":134,"context_line":"        if external_network_id:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2Fvrs%3D","line":131,"updated":"2013-10-10 12:18:04.000000000","message":"Why the \u0027admin_state_up\u0027 is not on the parameter list ?","commit_id":"df394e73d0c9dcc56c6827dca8e0c0cec011ae8f"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"8bd944b272f608f1d42bca64d84d1d22ff474b80","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        return port"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    @classmethod"},{"line_number":131,"context_line":"    def create_router(cls, router_name\u003dNone,"},{"line_number":132,"context_line":"                      external_network_id\u003dNone, enable_snat\u003dNone):"},{"line_number":133,"context_line":"        ext_gw_info \u003d {}"},{"line_number":134,"context_line":"        if external_network_id:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2FtOc%3D","line":131,"in_reply_to":"AAAATH%2F%2Fvrs%3D","updated":"2013-10-10 22:19:25.000000000","message":"meh that\u0027s silly, you\u0027re right.","commit_id":"df394e73d0c9dcc56c6827dca8e0c0cec011ae8f"}],"tempest/api/network/test_routers.py":[{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"5cdf35f1cdc01b2bfc62e84f197c66f54a34a48f","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    def test_create_show_list_update_delete_router(self):"},{"line_number":54,"context_line":"        # Create a router"},{"line_number":55,"context_line":"        # NOTE(salv-orlando): Do not invoke self.create_router"},{"line_number":56,"context_line":"        # as we need to check the response code"},{"line_number":57,"context_line":"        name \u003d rand_name(\u0027router-\u0027)"},{"line_number":58,"context_line":"        resp, create_body \u003d self.client.create_router("},{"line_number":59,"context_line":"            name, external_gateway_info\u003d{"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2FuzY%3D","line":56,"updated":"2013-09-20 12:47:48.000000000","message":"Perhaps you could have the self.create_router check the response code so you can use it here?","commit_id":"1b780729adb7996971a802ea339165753cbe4b40"},{"author":{"_account_id":6983,"name":"YangLei","email":"iamhappg@aliyun.com","username":"YangLei"},"change_message_id":"09939f2626789d7f1291e00041749c4a27d48dff","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    def test_create_show_list_update_delete_router(self):"},{"line_number":54,"context_line":"        # Create a router"},{"line_number":55,"context_line":"        # NOTE(salv-orlando): Do not invoke self.create_router"},{"line_number":56,"context_line":"        # as we need to check the response code"},{"line_number":57,"context_line":"        name \u003d rand_name(\u0027router-\u0027)"},{"line_number":58,"context_line":"        resp, create_body \u003d self.client.create_router("},{"line_number":59,"context_line":"            name, external_gateway_info\u003d{"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2FmG0%3D","line":56,"in_reply_to":"AAAAS3%2F%2FpkQ%3D","updated":"2013-09-24 07:17:15.000000000","message":"+1","commit_id":"1b780729adb7996971a802ea339165753cbe4b40"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"a11af1d8fadec966cfbbd73522e20ade6c2dd99f","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    def test_create_show_list_update_delete_router(self):"},{"line_number":54,"context_line":"        # Create a router"},{"line_number":55,"context_line":"        # NOTE(salv-orlando): Do not invoke self.create_router"},{"line_number":56,"context_line":"        # as we need to check the response code"},{"line_number":57,"context_line":"        name \u003d rand_name(\u0027router-\u0027)"},{"line_number":58,"context_line":"        resp, create_body \u003d self.client.create_router("},{"line_number":59,"context_line":"            name, external_gateway_info\u003d{"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2FpkQ%3D","line":56,"in_reply_to":"AAAAS3%2F%2Ftsg%3D","updated":"2013-09-23 12:43:12.000000000","message":"I think the reason for which neither the other create_xxx function check the response code is that they\u0027re defined as classmethod whereas assertEqual needs to be invoked on an instance.\n\nI am not sure we actually need to make them classmethods, even if they operate on class level resources.\n\nHowever this would be a change outside of the scope of this patch. I can work on it too, not sure if we want to make it a prerequisite, though.","commit_id":"1b780729adb7996971a802ea339165753cbe4b40"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"c937b160a6ea8f7abee4892c77c059e63dfaf5fb","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    def test_create_show_list_update_delete_router(self):"},{"line_number":54,"context_line":"        # Create a router"},{"line_number":55,"context_line":"        # NOTE(salv-orlando): Do not invoke self.create_router"},{"line_number":56,"context_line":"        # as we need to check the response code"},{"line_number":57,"context_line":"        name \u003d rand_name(\u0027router-\u0027)"},{"line_number":58,"context_line":"        resp, create_body \u003d self.client.create_router("},{"line_number":59,"context_line":"            name, external_gateway_info\u003d{"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2Ftsg%3D","line":56,"in_reply_to":"AAAAS3%2F%2FuzY%3D","updated":"2013-09-20 17:53:36.000000000","message":"I didn\u0027t because the other create_xxx functions did not do that. \nBut I agree it makes sense. I\u0027ll do that and see what the other reviewers think of it.","commit_id":"1b780729adb7996971a802ea339165753cbe4b40"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"7eb04b0698ea9665baa54fef9f8026140d1377e7","unresolved":false,"context_lines":[{"line_number":60,"context_line":"                \"network_id\": self.network_cfg.public_network_id},"},{"line_number":61,"context_line":"            admin_state_up\u003dFalse)"},{"line_number":62,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":63,"context_line":"        self.addCleanup(self._delete_router, create_body[\u0027router\u0027][\u0027id\u0027])"},{"line_number":64,"context_line":"        self.assertEqual(create_body[\u0027router\u0027][\u0027name\u0027], name)"},{"line_number":65,"context_line":"        self.assertEqual("},{"line_number":66,"context_line":"            create_body[\u0027router\u0027][\u0027external_gateway_info\u0027][\u0027network_id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2Flkw%3D","line":63,"updated":"2013-09-24 09:55:23.000000000","message":"If self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027]) failed, router could not be removed.\nIt\u0027s better to put self.addCleanup above \"self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])\".\n\nI know it is not your patch. But that\u0027s great if fix it.","commit_id":"1b780729adb7996971a802ea339165753cbe4b40"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"0f3efb55869ef2812bdde1a50b83ffae6e8610ac","unresolved":false,"context_lines":[{"line_number":60,"context_line":"                \"network_id\": self.network_cfg.public_network_id},"},{"line_number":61,"context_line":"            admin_state_up\u003dFalse)"},{"line_number":62,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":63,"context_line":"        self.addCleanup(self._delete_router, create_body[\u0027router\u0027][\u0027id\u0027])"},{"line_number":64,"context_line":"        self.assertEqual(create_body[\u0027router\u0027][\u0027name\u0027], name)"},{"line_number":65,"context_line":"        self.assertEqual("},{"line_number":66,"context_line":"            create_body[\u0027router\u0027][\u0027external_gateway_info\u0027][\u0027network_id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2Fkkg%3D","line":63,"in_reply_to":"AAAAS3%2F%2Flkw%3D","updated":"2013-09-24 15:07:35.000000000","message":"Thanks - my thinking was that if the response code is different from 201 the router was not created in the first place anyway.\n\nI am not aware of any case where the response is different from 201 and the router is created anyway, but since you\u0027re pointing that out, I will investigate.","commit_id":"1b780729adb7996971a802ea339165753cbe4b40"}]}
