)]}'
{"tacker/api/vnflcm/v1/controller.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"96f904f6569e81d2d5304915d67797657b389367","unresolved":true,"context_lines":[{"line_number":569,"context_line":""},{"line_number":570,"context_line":"        for key in request.GET:"},{"line_number":571,"context_line":"            if key !\u003d \"filter\":"},{"line_number":572,"context_line":"                msg \u003d _(\"Not support parameter: %s\") % key"},{"line_number":573,"context_line":"                return self._make_problem_detail(msg, 400, \u0027Bad Request\u0027)"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"        filters \u003d request.GET.get(\u0027filter\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9cf890a5_6be907fe","line":572,"range":{"start_line":572,"start_character":29,"end_line":572,"end_character":36},"updated":"2021-07-31 15:06:27.000000000","message":"Do you mean `supported` exactly?","commit_id":"27eb0bffd60dc76f80c461cdea6aa3b40951f971"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"5447ffefaa2ede9f0e55617253feeb37e01e52d6","unresolved":true,"context_lines":[{"line_number":569,"context_line":""},{"line_number":570,"context_line":"        for key in request.GET:"},{"line_number":571,"context_line":"            if key !\u003d \"filter\":"},{"line_number":572,"context_line":"                msg \u003d _(\"Not support parameter: %s\") % key"},{"line_number":573,"context_line":"                return self._make_problem_detail(msg, 400, \u0027Bad Request\u0027)"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"        filters \u003d request.GET.get(\u0027filter\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"36731304_25e2138d","line":572,"range":{"start_line":572,"start_character":29,"end_line":572,"end_character":36},"in_reply_to":"9cf890a5_6be907fe","updated":"2021-08-02 04:57:31.000000000","message":"Indeed, the correct expression is \"supported\", not \"support\". \nThank you for your correction.\nI will fix it in patch 3.","commit_id":"27eb0bffd60dc76f80c461cdea6aa3b40951f971"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"af78c3c89c2a184b82c9f5dfc3db297f7efba5dc","unresolved":true,"context_lines":[{"line_number":569,"context_line":""},{"line_number":570,"context_line":"        for key in request.GET:"},{"line_number":571,"context_line":"            if key !\u003d \"filter\":"},{"line_number":572,"context_line":"                msg \u003d _(\"Not supported parameter: %s\") % key"},{"line_number":573,"context_line":"                return self._make_problem_detail(msg, 400, \u0027Bad Request\u0027)"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"        filters \u003d request.GET.get(\u0027filter\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba25ad3f_7b2e4300","line":572,"updated":"2021-08-02 08:48:01.000000000","message":"Could you please consider the following two comments?\n\n1. \nThe validation of supported parameters looks common in NFV-MANO APIs [1].\n\n\u003e 400 Bad Request: If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. \n\nIf it\u0027s true, isn\u0027t it better to write this code in `/api/api_common.py`?\n\n[1] https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/013/03.05.01_60/gs_NFV-SOL013v030501p.pdf#page\u003d18\n\n2. \nI was a little worry about that error messages show only the first unsupported parameter.\nIf multiple unsupported parameters can be passed, error messages should contain all of them. \nIn this sense, ``key !\u003d \"filter\"`` might have room for improvement in terms of scalability.\nHow about using `set`? like this:\n\n```\nsupported_parameters \u003d {\u0027filter\u0027}\nunsupported_parameters \u003d set(request.GET) - supported_parameters\nif unsupported_parameters:\n    msg \u003d _(\"Not supported parameters: %s\") % \u0027,\u0027.join(unsupported_parameters)\n```","commit_id":"2b185defcd36d066c47e8ac67041aaa269f4bf58"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"4703b5b9620d274b0d3c9e58d58e0aa028a55763","unresolved":true,"context_lines":[{"line_number":569,"context_line":""},{"line_number":570,"context_line":"        for key in request.GET:"},{"line_number":571,"context_line":"            if key !\u003d \"filter\":"},{"line_number":572,"context_line":"                msg \u003d _(\"Not supported parameter: %s\") % key"},{"line_number":573,"context_line":"                return self._make_problem_detail(msg, 400, \u0027Bad Request\u0027)"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"        filters \u003d request.GET.get(\u0027filter\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"cfdafb33_baf040ac","line":572,"in_reply_to":"ba25ad3f_7b2e4300","updated":"2021-08-04 06:08:23.000000000","message":"Thank you for your review. I made changes in patch 5.","commit_id":"2b185defcd36d066c47e8ac67041aaa269f4bf58"}],"tacker/tests/unit/vnflcm/test_controller.py":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"96f904f6569e81d2d5304915d67797657b389367","unresolved":true,"context_lines":[{"line_number":2008,"context_line":"            f\u0027/vnf_instances?{query}\u0027)"},{"line_number":2009,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":2010,"context_line":"        req.method \u003d \u0027GET\u0027"},{"line_number":2011,"context_line":"        msg \u003d _(\"Not support parameter: %s\") % list(params.keys())[0]"},{"line_number":2012,"context_line":"        res \u003d self._make_problem_detail(msg, 400, title\u003d\u0027Bad Request\u0027)"},{"line_number":2013,"context_line":""},{"line_number":2014,"context_line":"        resp \u003d req.get_response(self.app)"}],"source_content_type":"text/x-python","patch_set":2,"id":"14abc8f6_96169e9a","line":2011,"range":{"start_line":2011,"start_character":21,"end_line":2011,"end_character":28},"updated":"2021-07-31 15:06:27.000000000","message":"Do you mean `supported` exactly?","commit_id":"27eb0bffd60dc76f80c461cdea6aa3b40951f971"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"5447ffefaa2ede9f0e55617253feeb37e01e52d6","unresolved":true,"context_lines":[{"line_number":2008,"context_line":"            f\u0027/vnf_instances?{query}\u0027)"},{"line_number":2009,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":2010,"context_line":"        req.method \u003d \u0027GET\u0027"},{"line_number":2011,"context_line":"        msg \u003d _(\"Not support parameter: %s\") % list(params.keys())[0]"},{"line_number":2012,"context_line":"        res \u003d self._make_problem_detail(msg, 400, title\u003d\u0027Bad Request\u0027)"},{"line_number":2013,"context_line":""},{"line_number":2014,"context_line":"        resp \u003d req.get_response(self.app)"}],"source_content_type":"text/x-python","patch_set":2,"id":"13ec5d40_e6b3c78c","line":2011,"range":{"start_line":2011,"start_character":21,"end_line":2011,"end_character":28},"in_reply_to":"14abc8f6_96169e9a","updated":"2021-08-02 04:57:31.000000000","message":"I will fix it in patch 3.","commit_id":"27eb0bffd60dc76f80c461cdea6aa3b40951f971"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"af78c3c89c2a184b82c9f5dfc3db297f7efba5dc","unresolved":true,"context_lines":[{"line_number":1998,"context_line":"        {\u0027fields\u0027: {}},"},{"line_number":1999,"context_line":"        {\u0027exclude_fields\u0027: {}},"},{"line_number":2000,"context_line":"        {\u0027exclude_default\u0027: {}},"},{"line_number":2001,"context_line":"        {\u0027nextpage_opaque_marker\u0027: 1}"},{"line_number":2002,"context_line":"    )"},{"line_number":2003,"context_line":"    def test_index_not_supported_params(self, params,"},{"line_number":2004,"context_line":"            mock_vnf_list):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1271e717_40e638d9","line":2001,"updated":"2021-08-02 08:48:01.000000000","message":"Isn\u0027t is necessary to consider the situation where multiple unsupported parameters are passed? like this: \n`{\u0027attribute_not_exist1\u0027: {}, \u0027attribute_not_exist2\u0027: {}}`","commit_id":"2b185defcd36d066c47e8ac67041aaa269f4bf58"},{"author":{"_account_id":33492,"name":"Yi Feng","email":"fengyi@fujitsu.com","username":"YiFeng"},"change_message_id":"4703b5b9620d274b0d3c9e58d58e0aa028a55763","unresolved":true,"context_lines":[{"line_number":1998,"context_line":"        {\u0027fields\u0027: {}},"},{"line_number":1999,"context_line":"        {\u0027exclude_fields\u0027: {}},"},{"line_number":2000,"context_line":"        {\u0027exclude_default\u0027: {}},"},{"line_number":2001,"context_line":"        {\u0027nextpage_opaque_marker\u0027: 1}"},{"line_number":2002,"context_line":"    )"},{"line_number":2003,"context_line":"    def test_index_not_supported_params(self, params,"},{"line_number":2004,"context_line":"            mock_vnf_list):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5d26c0d7_087c2260","line":2001,"in_reply_to":"1271e717_40e638d9","updated":"2021-08-04 06:08:23.000000000","message":"Thank you for your review. I made changes in patch 5.","commit_id":"2b185defcd36d066c47e8ac67041aaa269f4bf58"}]}
