)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0db8d599b98046d7cb9c2bfad0d63aead084aee2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3975fddb_3c9ad733","updated":"2024-02-09 02:25:51.000000000","message":"recheck multinode-sol job test timeout","commit_id":"33fd698b7d8a7ccd7e31f8e27b356a8bf86e64a8"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"d9b412ab173ee0eeb582593e9653f21c9f5320f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d8b1f854_a4f0a6f5","updated":"2024-03-05 15:44:31.000000000","message":"Thanks for your patch, please kindly find my comments.","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"de405a11cb5a6e073dd3f1e4545a7a27f2eac9d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"50f55331_da999efa","updated":"2024-02-21 01:47:07.000000000","message":"recheck failure not related to this change","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"bb718e47f3c12d26d076bf0f7e044fb8708d5665","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"58e06b44_c4e5acf4","updated":"2024-02-22 06:57:45.000000000","message":"recheck tacker-functional-devstack-enhanced-policy-so failing for unrelated reason","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d1cdb501e69f67c5bc0ee38812208ca30d3da5d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e4c46071_c85ff041","updated":"2024-02-21 20:59:13.000000000","message":"recheck tacker-functional-devstack-multinode-sol-v2 timeout","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"9bc70a93ef2ef8e8123361b6454f79256b72e3e2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9d84f160_1eb70cd2","updated":"2024-03-06 06:19:47.000000000","message":"Thanks for your update, LGTM.","commit_id":"9eac5d363fda1237e41bd6a96ec8fc852a9a8be6"}],"tacker/tests/unit/policies/base.py":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"d9b412ab173ee0eeb582593e9653f21c9f5320f7","unresolved":true,"context_lines":[{"line_number":107,"context_line":"        for auth_context in authorized_contexts:"},{"line_number":108,"context_line":"            LOG.info(\"Testing authorized user: %s\", auth_context.user_id)"},{"line_number":109,"context_line":"            req.environ[\u0027tacker.context\u0027] \u003d auth_context"},{"line_number":110,"context_line":"            args1 \u003d copy.deepcopy(arg)"},{"line_number":111,"context_line":"            kwargs1 \u003d copy.deepcopy(kwarg)"},{"line_number":112,"context_line":"            if not fatal:"},{"line_number":113,"context_line":"                authorized_response.append("}],"source_content_type":"text/x-python","patch_set":2,"id":"7b00c8f8_b8803105","line":110,"range":{"start_line":110,"start_character":12,"end_line":110,"end_character":17},"updated":"2024-03-05 15:44:31.000000000","message":"If the number `1` doesn\u0027t make sense, how about you rename it to a variable such as `_args`?","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"445501786336adbe70d8fef5290ccb07e8680fa7","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        for auth_context in authorized_contexts:"},{"line_number":108,"context_line":"            LOG.info(\"Testing authorized user: %s\", auth_context.user_id)"},{"line_number":109,"context_line":"            req.environ[\u0027tacker.context\u0027] \u003d auth_context"},{"line_number":110,"context_line":"            args1 \u003d copy.deepcopy(arg)"},{"line_number":111,"context_line":"            kwargs1 \u003d copy.deepcopy(kwarg)"},{"line_number":112,"context_line":"            if not fatal:"},{"line_number":113,"context_line":"                authorized_response.append("}],"source_content_type":"text/x-python","patch_set":2,"id":"03379194_d0d43961","line":110,"range":{"start_line":110,"start_character":12,"end_line":110,"end_character":17},"in_reply_to":"7b00c8f8_b8803105","updated":"2024-03-06 01:58:27.000000000","message":"Done","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"d9b412ab173ee0eeb582593e9653f21c9f5320f7","unresolved":true,"context_lines":[{"line_number":108,"context_line":"            LOG.info(\"Testing authorized user: %s\", auth_context.user_id)"},{"line_number":109,"context_line":"            req.environ[\u0027tacker.context\u0027] \u003d auth_context"},{"line_number":110,"context_line":"            args1 \u003d copy.deepcopy(arg)"},{"line_number":111,"context_line":"            kwargs1 \u003d copy.deepcopy(kwarg)"},{"line_number":112,"context_line":"            if not fatal:"},{"line_number":113,"context_line":"                authorized_response.append("},{"line_number":114,"context_line":"                    ensure_return(req, *args1, **kwargs1))"}],"source_content_type":"text/x-python","patch_set":2,"id":"f27655db_56e766bb","line":111,"range":{"start_line":111,"start_character":12,"end_line":111,"end_character":19},"updated":"2024-03-05 15:44:31.000000000","message":"ditto.","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"445501786336adbe70d8fef5290ccb07e8680fa7","unresolved":false,"context_lines":[{"line_number":108,"context_line":"            LOG.info(\"Testing authorized user: %s\", auth_context.user_id)"},{"line_number":109,"context_line":"            req.environ[\u0027tacker.context\u0027] \u003d auth_context"},{"line_number":110,"context_line":"            args1 \u003d copy.deepcopy(arg)"},{"line_number":111,"context_line":"            kwargs1 \u003d copy.deepcopy(kwarg)"},{"line_number":112,"context_line":"            if not fatal:"},{"line_number":113,"context_line":"                authorized_response.append("},{"line_number":114,"context_line":"                    ensure_return(req, *args1, **kwargs1))"}],"source_content_type":"text/x-python","patch_set":2,"id":"cc24b677_f505adf6","line":111,"range":{"start_line":111,"start_character":12,"end_line":111,"end_character":19},"in_reply_to":"f27655db_56e766bb","updated":"2024-03-06 01:58:27.000000000","message":"Done","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"d9b412ab173ee0eeb582593e9653f21c9f5320f7","unresolved":true,"context_lines":[{"line_number":120,"context_line":"        for unauth_context in unauthorized_contexts:"},{"line_number":121,"context_line":"            LOG.info(\"Testing unauthorized user: %s\", unauth_context.user_id)"},{"line_number":122,"context_line":"            req.environ[\u0027tacker.context\u0027] \u003d unauth_context"},{"line_number":123,"context_line":"            args1 \u003d copy.deepcopy(arg)"},{"line_number":124,"context_line":"            kwargs1 \u003d copy.deepcopy(kwarg)"},{"line_number":125,"context_line":"            if not fatal:"},{"line_number":126,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"2b1c7a6c_82a43340","line":123,"range":{"start_line":123,"start_character":12,"end_line":123,"end_character":17},"updated":"2024-03-05 15:44:31.000000000","message":"ditto.","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"445501786336adbe70d8fef5290ccb07e8680fa7","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        for unauth_context in unauthorized_contexts:"},{"line_number":121,"context_line":"            LOG.info(\"Testing unauthorized user: %s\", unauth_context.user_id)"},{"line_number":122,"context_line":"            req.environ[\u0027tacker.context\u0027] \u003d unauth_context"},{"line_number":123,"context_line":"            args1 \u003d copy.deepcopy(arg)"},{"line_number":124,"context_line":"            kwargs1 \u003d copy.deepcopy(kwarg)"},{"line_number":125,"context_line":"            if not fatal:"},{"line_number":126,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3c10e16e_3a332c68","line":123,"range":{"start_line":123,"start_character":12,"end_line":123,"end_character":17},"in_reply_to":"2b1c7a6c_82a43340","updated":"2024-03-06 01:58:27.000000000","message":"Done","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"d9b412ab173ee0eeb582593e9653f21c9f5320f7","unresolved":true,"context_lines":[{"line_number":121,"context_line":"            LOG.info(\"Testing unauthorized user: %s\", unauth_context.user_id)"},{"line_number":122,"context_line":"            req.environ[\u0027tacker.context\u0027] \u003d unauth_context"},{"line_number":123,"context_line":"            args1 \u003d copy.deepcopy(arg)"},{"line_number":124,"context_line":"            kwargs1 \u003d copy.deepcopy(kwarg)"},{"line_number":125,"context_line":"            if not fatal:"},{"line_number":126,"context_line":"                try:"},{"line_number":127,"context_line":"                    unauthorize_response.append("}],"source_content_type":"text/x-python","patch_set":2,"id":"19207754_2c165182","line":124,"range":{"start_line":124,"start_character":12,"end_line":124,"end_character":19},"updated":"2024-03-05 15:44:31.000000000","message":"ditto.","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"445501786336adbe70d8fef5290ccb07e8680fa7","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            LOG.info(\"Testing unauthorized user: %s\", unauth_context.user_id)"},{"line_number":122,"context_line":"            req.environ[\u0027tacker.context\u0027] \u003d unauth_context"},{"line_number":123,"context_line":"            args1 \u003d copy.deepcopy(arg)"},{"line_number":124,"context_line":"            kwargs1 \u003d copy.deepcopy(kwarg)"},{"line_number":125,"context_line":"            if not fatal:"},{"line_number":126,"context_line":"                try:"},{"line_number":127,"context_line":"                    unauthorize_response.append("}],"source_content_type":"text/x-python","patch_set":2,"id":"47248e77_70355e98","line":124,"range":{"start_line":124,"start_character":12,"end_line":124,"end_character":19},"in_reply_to":"19207754_2c165182","updated":"2024-03-06 01:58:27.000000000","message":"Done","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"}],"tacker/tests/unit/policies/test_vnf_lcm.py":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"74b0e444310356d7744bfdf7b849da2c673a816e","unresolved":true,"context_lines":[{"line_number":54,"context_line":"        # in their project."},{"line_number":55,"context_line":"        self.create_authorized_contexts \u003d ["},{"line_number":56,"context_line":"            self.legacy_admin_context, self.project_admin_context,"},{"line_number":57,"context_line":"            self.project_member_context, self.project_reader_context,"},{"line_number":58,"context_line":"            self.project_foo_context, self.other_project_member_context,"},{"line_number":59,"context_line":"            self.other_project_reader_context"},{"line_number":60,"context_line":"        ]"}],"source_content_type":"text/x-python","patch_set":2,"id":"6d9d3598_342e2cec","line":57,"range":{"start_line":57,"start_character":41,"end_line":57,"end_character":68},"updated":"2024-03-05 16:46:25.000000000","message":"Just a confirmation,\nIn general, `reader-role` user can only perform read-only operation, so I feel wonder that the reader context is in this `create_authorized_contexts` list.\n\nIs it safe to assume that this patch adds the test framework, and that the existing Tacker\u0027s policy behavior is such that the reader-role user can also create, and this test is coded to pass the existing policy behavior ?","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"445501786336adbe70d8fef5290ccb07e8680fa7","unresolved":true,"context_lines":[{"line_number":54,"context_line":"        # in their project."},{"line_number":55,"context_line":"        self.create_authorized_contexts \u003d ["},{"line_number":56,"context_line":"            self.legacy_admin_context, self.project_admin_context,"},{"line_number":57,"context_line":"            self.project_member_context, self.project_reader_context,"},{"line_number":58,"context_line":"            self.project_foo_context, self.other_project_member_context,"},{"line_number":59,"context_line":"            self.other_project_reader_context"},{"line_number":60,"context_line":"        ]"}],"source_content_type":"text/x-python","patch_set":2,"id":"74c2906a_e2b0e8fd","line":57,"range":{"start_line":57,"start_character":41,"end_line":57,"end_character":68},"in_reply_to":"6d9d3598_342e2cec","updated":"2024-03-06 01:58:27.000000000","message":"I am glad you explicitly mentioned about it. Yes, exactly the point I added these test for and to show what are the issue in existing RBAC and how new RBAC solve those issue.\n\nAs you pointed that reader role or even any random role say \u0027foo\u0027 in project can create the VNF and and that is because we our current RBAC does not check for the right role of users within project. This is what new RBAC project personas solve and if you see the further change in this series where I am moving policy to new RBAC you can see there in tests that reader or any other random role will not be able to create VNF in project\n\n- https://review.opendev.org/c/openstack/tacker/+/907025/11/tacker/tests/unit/policies/test_vnf_lcm.py#596","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"9bc70a93ef2ef8e8123361b6454f79256b72e3e2","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        # in their project."},{"line_number":55,"context_line":"        self.create_authorized_contexts \u003d ["},{"line_number":56,"context_line":"            self.legacy_admin_context, self.project_admin_context,"},{"line_number":57,"context_line":"            self.project_member_context, self.project_reader_context,"},{"line_number":58,"context_line":"            self.project_foo_context, self.other_project_member_context,"},{"line_number":59,"context_line":"            self.other_project_reader_context"},{"line_number":60,"context_line":"        ]"}],"source_content_type":"text/x-python","patch_set":2,"id":"142c9275_18154339","line":57,"range":{"start_line":57,"start_character":41,"end_line":57,"end_character":68},"in_reply_to":"74c2906a_e2b0e8fd","updated":"2024-03-06 06:19:47.000000000","message":"Thanks for your answer and information, I got it.","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"d9b412ab173ee0eeb582593e9653f21c9f5320f7","unresolved":true,"context_lines":[{"line_number":85,"context_line":"                \u0027vnf_instance_description\u0027: \u0027SampleVnf Description\u0027,"},{"line_number":86,"context_line":"                \u0027vnf_instance_name\u0027: \u0027SampleVnf\u0027,"},{"line_number":87,"context_line":"                \u0027vnf_pkg_id\u0027: uuidsentinel.vnf_pkg_id,"},{"line_number":88,"context_line":"                \u0027vnf_metadata\u0027: {\"key\": \"value\"}}"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        mock_vnf_instance_create.return_value \u003d\\"},{"line_number":91,"context_line":"            fakes.return_vnf_instance_model(**updates)"}],"source_content_type":"text/x-python","patch_set":2,"id":"cdcb198c_cf630709","line":88,"range":{"start_line":88,"start_character":33,"end_line":88,"end_character":47},"updated":"2024-03-05 15:44:31.000000000","message":"nit: How about unify to single quotation?","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"445501786336adbe70d8fef5290ccb07e8680fa7","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                \u0027vnf_instance_description\u0027: \u0027SampleVnf Description\u0027,"},{"line_number":86,"context_line":"                \u0027vnf_instance_name\u0027: \u0027SampleVnf\u0027,"},{"line_number":87,"context_line":"                \u0027vnf_pkg_id\u0027: uuidsentinel.vnf_pkg_id,"},{"line_number":88,"context_line":"                \u0027vnf_metadata\u0027: {\"key\": \"value\"}}"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        mock_vnf_instance_create.return_value \u003d\\"},{"line_number":91,"context_line":"            fakes.return_vnf_instance_model(**updates)"}],"source_content_type":"text/x-python","patch_set":2,"id":"d56ec3e0_d9c9e88e","line":88,"range":{"start_line":88,"start_character":33,"end_line":88,"end_character":47},"in_reply_to":"cdcb198c_cf630709","updated":"2024-03-06 01:58:27.000000000","message":"Done","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"d9b412ab173ee0eeb582593e9653f21c9f5320f7","unresolved":true,"context_lines":[{"line_number":87,"context_line":"                \u0027vnf_pkg_id\u0027: uuidsentinel.vnf_pkg_id,"},{"line_number":88,"context_line":"                \u0027vnf_metadata\u0027: {\"key\": \"value\"}}"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        mock_vnf_instance_create.return_value \u003d\\"},{"line_number":91,"context_line":"            fakes.return_vnf_instance_model(**updates)"},{"line_number":92,"context_line":"        mock_vnf_instance_update.return_value \u003d \\"},{"line_number":93,"context_line":"            fakes.return_vnf_instance_model(**updates)"}],"source_content_type":"text/x-python","patch_set":2,"id":"f64a5612_2ee8189f","line":90,"range":{"start_line":90,"start_character":47,"end_line":90,"end_character":48},"updated":"2024-03-05 15:44:31.000000000","message":"Could you add a space character before `\\`?","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"445501786336adbe70d8fef5290ccb07e8680fa7","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                \u0027vnf_pkg_id\u0027: uuidsentinel.vnf_pkg_id,"},{"line_number":88,"context_line":"                \u0027vnf_metadata\u0027: {\"key\": \"value\"}}"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        mock_vnf_instance_create.return_value \u003d\\"},{"line_number":91,"context_line":"            fakes.return_vnf_instance_model(**updates)"},{"line_number":92,"context_line":"        mock_vnf_instance_update.return_value \u003d \\"},{"line_number":93,"context_line":"            fakes.return_vnf_instance_model(**updates)"}],"source_content_type":"text/x-python","patch_set":2,"id":"66601b5f_ccbfd31c","line":90,"range":{"start_line":90,"start_character":47,"end_line":90,"end_character":48},"in_reply_to":"f64a5612_2ee8189f","updated":"2024-03-06 01:58:27.000000000","message":"Done","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"d9b412ab173ee0eeb582593e9653f21c9f5320f7","unresolved":true,"context_lines":[{"line_number":93,"context_line":"            fakes.return_vnf_instance_model(**updates)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        body \u003d {\u0027vnfdId\u0027: uuidsentinel.vnfd_id,"},{"line_number":96,"context_line":"                \"vnfInstanceName\": \"SampleVnf\","},{"line_number":97,"context_line":"                \"vnfInstanceDescription\": \"SampleVnf Description\","},{"line_number":98,"context_line":"                \u0027metadata\u0027: {\"key\": \"value\"}}"},{"line_number":99,"context_line":"        req \u003d fake_request.HTTPRequest.blank(\u0027/vnf_instances\u0027)"},{"line_number":100,"context_line":"        rule_name \u003d policies.VNFLCM % \u0027create\u0027"},{"line_number":101,"context_line":"        self.common_policy_check(self.create_authorized_contexts,"}],"source_content_type":"text/x-python","patch_set":2,"id":"b2206b98_03bf7b3a","line":98,"range":{"start_line":96,"start_character":16,"end_line":98,"end_character":43},"updated":"2024-03-05 15:44:31.000000000","message":"nit: How about unify to single quotation?","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"445501786336adbe70d8fef5290ccb07e8680fa7","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            fakes.return_vnf_instance_model(**updates)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        body \u003d {\u0027vnfdId\u0027: uuidsentinel.vnfd_id,"},{"line_number":96,"context_line":"                \"vnfInstanceName\": \"SampleVnf\","},{"line_number":97,"context_line":"                \"vnfInstanceDescription\": \"SampleVnf Description\","},{"line_number":98,"context_line":"                \u0027metadata\u0027: {\"key\": \"value\"}}"},{"line_number":99,"context_line":"        req \u003d fake_request.HTTPRequest.blank(\u0027/vnf_instances\u0027)"},{"line_number":100,"context_line":"        rule_name \u003d policies.VNFLCM % \u0027create\u0027"},{"line_number":101,"context_line":"        self.common_policy_check(self.create_authorized_contexts,"}],"source_content_type":"text/x-python","patch_set":2,"id":"4c53d840_4065a59e","line":98,"range":{"start_line":96,"start_character":16,"end_line":98,"end_character":43},"in_reply_to":"b2206b98_03bf7b3a","updated":"2024-03-06 01:58:27.000000000","message":"Done","commit_id":"dc9b402132c5ba657f1b8731bdcf6d65ec964027"}]}
