)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"b1903308510f0c91543cbb6db9fa080b0e179e5f","unresolved":true,"context_lines":[{"line_number":11,"context_line":"added to support Mutual-TLS client authentication for access from Tacker"},{"line_number":12,"context_line":"to external NFVO servers and notification endpoints using user-provided"},{"line_number":13,"context_line":"Mutual-TLS client certificates."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Implements: blueprint support-oauth2-mtls"},{"line_number":16,"context_line":"Change-Id: Ib1b33bccac85ba8c68aeebd460876bb38a4917fa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fcd250ef_09f80097","line":14,"updated":"2022-12-22 06:04:31.000000000","message":"Seems SOL013 version has been changed in this patch, from v3.4.1 to v3.5.1. I think it\u0027s better to mention that in the commit message so that the other developer can find the correct reference.","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":11,"context_line":"added to support Mutual-TLS client authentication for access from Tacker"},{"line_number":12,"context_line":"to external NFVO servers and notification endpoints using user-provided"},{"line_number":13,"context_line":"Mutual-TLS client certificates."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Implements: blueprint support-oauth2-mtls"},{"line_number":16,"context_line":"Change-Id: Ib1b33bccac85ba8c68aeebd460876bb38a4917fa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"c47d7d8d_bbc43ae4","line":14,"in_reply_to":"bc8cc518_68a36de3","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":11,"context_line":"added to support Mutual-TLS client authentication for access from Tacker"},{"line_number":12,"context_line":"to external NFVO servers and notification endpoints using user-provided"},{"line_number":13,"context_line":"Mutual-TLS client certificates."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Implements: blueprint support-oauth2-mtls"},{"line_number":16,"context_line":"Change-Id: Ib1b33bccac85ba8c68aeebd460876bb38a4917fa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"bc8cc518_68a36de3","line":14,"in_reply_to":"fcd250ef_09f80097","updated":"2023-02-06 14:26:07.000000000","message":"Fixed commit message.\n(Patchset 10)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"b1903308510f0c91543cbb6db9fa080b0e179e5f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a92cb724_1983198e","updated":"2022-12-22 06:04:31.000000000","message":"I added comments to test cases.\nPlease kindly find additional comments.","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"3b090f02789b57cee83d35dc36adea88fae00be7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"823804da_0a577200","updated":"2022-12-15 06:02:35.000000000","message":"Thank you for the patch.\nPlease kindly find my comments.","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"417d5524_f42f1868","updated":"2023-02-06 14:26:07.000000000","message":"I have corrected the part you pointed out.","commit_id":"1deef854d01d251ae91f381f47cc039155a00269"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"cd1dd13f_03ab6eec","updated":"2023-02-07 06:13:42.000000000","message":"thank you for re-work.\nin general, lgtm.\nplease check a few additional comments.\n","commit_id":"1deef854d01d251ae91f381f47cc039155a00269"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"23609aed469b756ad3120f457c6a4ae09e0e6721","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"06a47a41_def48402","updated":"2023-02-10 10:42:27.000000000","message":"recheck - infra failure","commit_id":"0a84ecd2c7db73872c0777dffb82b420c60f03a4"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"07efcf8be8f16103d535c5f6916f612cf953bf51","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"c09ccedc_d6abf4fc","updated":"2023-02-15 08:46:15.000000000","message":"Thank you for re-work.\nLGTM","commit_id":"1277ed6b5252e19878618c34b93b1b9edfcd197d"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"d381a0eb89cf884baf6b981e28439014e300444f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"6646e3eb_6d8e9238","updated":"2023-02-13 09:54:05.000000000","message":"Thank you for your comment.\nI commented the answer to the question.","commit_id":"1277ed6b5252e19878618c34b93b1b9edfcd197d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"7993a4a4398ef733d308945c761b90eb33bb2126","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"d572691b_0bd9e40f","updated":"2023-02-13 04:59:54.000000000","message":"Thank you for your patch. Please kindly check my comments.","commit_id":"1277ed6b5252e19878618c34b93b1b9edfcd197d"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"fabaf6c45c2eabeb3819d82bf96f094ae0364bd0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"25731cd7_fc9decc6","updated":"2023-02-11 02:20:37.000000000","message":"recheck - infra failure","commit_id":"1277ed6b5252e19878618c34b93b1b9edfcd197d"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"c98312c9b624d3d370b0970754036b24c6255826","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"28526a4d_c827ef94","updated":"2023-02-10 16:20:45.000000000","message":"recheck - infra failure","commit_id":"1277ed6b5252e19878618c34b93b1b9edfcd197d"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"23bb9a36c5f41f2e2f1617f4ba7a58c8f6e61d8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"fc7256ed_23eca9ef","updated":"2023-02-10 23:25:52.000000000","message":"recheck - infra failure","commit_id":"1277ed6b5252e19878618c34b93b1b9edfcd197d"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"80ca20b144471d546fd84900240f1b99acc85e91","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"ed876d27_6bde3d37","updated":"2023-02-20 12:28:35.000000000","message":"Sorry for the late review, please kindly find my comments.","commit_id":"8d4871a30d9cbf19f1f1fa49c302816218d48fcf"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"df3b928807b94205406bdd0b6aecac8ed925a7bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"4531a18b_79e2aa59","updated":"2023-02-21 06:38:00.000000000","message":"Thank you for your comment.\nI have corrected the part you pointed out.","commit_id":"4e699aec35a8edf24a150b8828d8c4251901499b"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"56ac95ace8528706a5cda7639a9d506a03dd378e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"dabf3c1a_223cf7f5","updated":"2023-02-22 23:21:58.000000000","message":"recheck - seems to fix error caused by other project\n\nThanks for your rework.","commit_id":"4e699aec35a8edf24a150b8828d8c4251901499b"}],"releasenotes/notes/bp-support-oauth2-mtls-1ef757cca82059cf.yaml":[{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"539750c58e0ec865e68138627a23a532a13587ef","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    [`blueprint support-oauth2-mtls \u003chttps://blueprints.launchpad.net/keystone/+spec/support-oauth2-mtls\u003e`_]"},{"line_number":5,"context_line":"    Provide the option to use mutual TLS client authentication when accessing"},{"line_number":6,"context_line":"    external servers from Tacker. Oauth2MtlsAuthHandle has been added to"},{"line_number":7,"context_line":"    support Mutual-TLS client authentication for access from Tacker to external"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"c5c2fa29_eed42657","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":108},"updated":"2023-02-24 01:36:33.000000000","message":"Is it a mistake? Why this link for the blueprint is put at the top of the sentence?","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}],"tacker/sol_refactored/api/schemas/common_types.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"3b090f02789b57cee83d35dc36adea88fae00be7","unresolved":true,"context_lines":[{"line_number":122,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":123,"context_line":"}"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"# SOL013 8.3.4"},{"line_number":126,"context_line":"SubscriptionAuthentication \u003d {"},{"line_number":127,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":128,"context_line":"    \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"765e9eb7_b5b3ce1b","line":125,"updated":"2022-12-15 06:02:35.000000000","message":"Please specify the SOL version (i.e., v3.5.1)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":122,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":123,"context_line":"}"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"# SOL013 8.3.4"},{"line_number":126,"context_line":"SubscriptionAuthentication \u003d {"},{"line_number":127,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":128,"context_line":"    \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"edb50add_9f3012d5","line":125,"in_reply_to":"765e9eb7_b5b3ce1b","updated":"2023-02-06 14:26:07.000000000","message":"Added version information.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":123,"context_line":"}"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"# SOL013 8.3.4"},{"line_number":126,"context_line":"SubscriptionAuthentication \u003d {"},{"line_number":127,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":128,"context_line":"    \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"40d0e444_a45034aa","line":125,"in_reply_to":"edb50add_9f3012d5","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"3b090f02789b57cee83d35dc36adea88fae00be7","unresolved":true,"context_lines":[{"line_number":163,"context_line":"                },"},{"line_number":164,"context_line":"                \u0027tokenEndpoint\u0027: {\u0027type\u0027: \u0027string\u0027}"},{"line_number":165,"context_line":"            },"},{"line_number":166,"context_line":"            \u0027required\u0027: [\u0027clientId\u0027, \u0027certificateRef\u0027, \u0027tokenEndpoint\u0027]"},{"line_number":167,"context_line":"        }"},{"line_number":168,"context_line":"    },"},{"line_number":169,"context_line":"    \u0027required\u0027: [\u0027authType\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"f0489f46_9817d97a","line":166,"updated":"2022-12-15 06:02:35.000000000","message":"Does this enforce users to set not only \"certificateRef\" but also \"properties\" including \"type\" and \"value\"?","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":163,"context_line":"                },"},{"line_number":164,"context_line":"                \u0027tokenEndpoint\u0027: {\u0027type\u0027: \u0027string\u0027}"},{"line_number":165,"context_line":"            },"},{"line_number":166,"context_line":"            \u0027required\u0027: [\u0027clientId\u0027, \u0027certificateRef\u0027, \u0027tokenEndpoint\u0027]"},{"line_number":167,"context_line":"        }"},{"line_number":168,"context_line":"    },"},{"line_number":169,"context_line":"    \u0027required\u0027: [\u0027authType\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"40138ec2_efc3025c","line":166,"in_reply_to":"108169a2_07aee2fc","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":163,"context_line":"                },"},{"line_number":164,"context_line":"                \u0027tokenEndpoint\u0027: {\u0027type\u0027: \u0027string\u0027}"},{"line_number":165,"context_line":"            },"},{"line_number":166,"context_line":"            \u0027required\u0027: [\u0027clientId\u0027, \u0027certificateRef\u0027, \u0027tokenEndpoint\u0027]"},{"line_number":167,"context_line":"        }"},{"line_number":168,"context_line":"    },"},{"line_number":169,"context_line":"    \u0027required\u0027: [\u0027authType\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"108169a2_07aee2fc","line":166,"in_reply_to":"f0489f46_9817d97a","updated":"2023-02-06 14:26:07.000000000","message":"Fixed to also set `type` and `value` to \u0027required\u0027.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}],"tacker/sol_refactored/api/schemas/vnflcm_v2.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"3b090f02789b57cee83d35dc36adea88fae00be7","unresolved":true,"context_lines":[{"line_number":157,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":158,"context_line":"}"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"# SOL013 8.3.4"},{"line_number":161,"context_line":"_SubscriptionAuthentication \u003d {"},{"line_number":162,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":163,"context_line":"    \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"94cf5851_e517a54d","line":160,"updated":"2022-12-15 06:02:35.000000000","message":"ditto","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":157,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":158,"context_line":"}"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"# SOL013 8.3.4"},{"line_number":161,"context_line":"_SubscriptionAuthentication \u003d {"},{"line_number":162,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":163,"context_line":"    \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"d4b16a4e_a2d3782e","line":160,"in_reply_to":"94cf5851_e517a54d","updated":"2023-02-06 14:26:07.000000000","message":"Added version information.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":158,"context_line":"}"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"# SOL013 8.3.4"},{"line_number":161,"context_line":"_SubscriptionAuthentication \u003d {"},{"line_number":162,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":163,"context_line":"    \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"f5d808ab_67875182","line":160,"in_reply_to":"d4b16a4e_a2d3782e","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"3b090f02789b57cee83d35dc36adea88fae00be7","unresolved":true,"context_lines":[{"line_number":205,"context_line":"                },"},{"line_number":206,"context_line":"                \u0027tokenEndpoint\u0027: {\u0027type\u0027: \u0027string\u0027}"},{"line_number":207,"context_line":"            },"},{"line_number":208,"context_line":"            \u0027required\u0027: [\u0027clientId\u0027, \u0027certificateRef\u0027, \u0027tokenEndpoint\u0027]"},{"line_number":209,"context_line":"        }"},{"line_number":210,"context_line":"    },"},{"line_number":211,"context_line":"    \u0027required\u0027: [\u0027authType\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"9eaabcfc_477a6c0f","line":208,"updated":"2022-12-15 06:02:35.000000000","message":"ditto","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":205,"context_line":"                },"},{"line_number":206,"context_line":"                \u0027tokenEndpoint\u0027: {\u0027type\u0027: \u0027string\u0027}"},{"line_number":207,"context_line":"            },"},{"line_number":208,"context_line":"            \u0027required\u0027: [\u0027clientId\u0027, \u0027certificateRef\u0027, \u0027tokenEndpoint\u0027]"},{"line_number":209,"context_line":"        }"},{"line_number":210,"context_line":"    },"},{"line_number":211,"context_line":"    \u0027required\u0027: [\u0027authType\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"eb35471f_5c173ba8","line":208,"in_reply_to":"8ebe5770_8b71aa9b","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":205,"context_line":"                },"},{"line_number":206,"context_line":"                \u0027tokenEndpoint\u0027: {\u0027type\u0027: \u0027string\u0027}"},{"line_number":207,"context_line":"            },"},{"line_number":208,"context_line":"            \u0027required\u0027: [\u0027clientId\u0027, \u0027certificateRef\u0027, \u0027tokenEndpoint\u0027]"},{"line_number":209,"context_line":"        }"},{"line_number":210,"context_line":"    },"},{"line_number":211,"context_line":"    \u0027required\u0027: [\u0027authType\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"8ebe5770_8b71aa9b","line":208,"in_reply_to":"9eaabcfc_477a6c0f","updated":"2023-02-06 14:26:07.000000000","message":"Fixed to also set  type  and  value  to \u0027required\u0027.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}],"tacker/sol_refactored/common/http_client.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"3b090f02789b57cee83d35dc36adea88fae00be7","unresolved":true,"context_lines":[{"line_number":255,"context_line":"                               cert\u003dself.client_cert)"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"class Oauth2MtlsAuthPlugin(plugin.FixedEndpointPlugin):"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    def __init__(self, endpoint, token_endpoint, client_id,"},{"line_number":261,"context_line":"            verify_cert, client_cert):"}],"source_content_type":"text/x-python","patch_set":6,"id":"ca4d87dd_4372027d","line":258,"range":{"start_line":258,"start_character":6,"end_line":258,"end_character":11},"updated":"2022-12-15 06:02:35.000000000","message":"Please make this style consistent with the existing names i.e., \"OAuth2\".","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":255,"context_line":"                               cert\u003dself.client_cert)"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"class Oauth2MtlsAuthPlugin(plugin.FixedEndpointPlugin):"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    def __init__(self, endpoint, token_endpoint, client_id,"},{"line_number":261,"context_line":"            verify_cert, client_cert):"}],"source_content_type":"text/x-python","patch_set":6,"id":"cee0ac6b_26eff200","line":258,"range":{"start_line":258,"start_character":6,"end_line":258,"end_character":11},"in_reply_to":"ca4d87dd_4372027d","updated":"2023-02-06 14:26:07.000000000","message":"Corrected from \"Oauth\" to \"OAuth\".\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":255,"context_line":"                               cert\u003dself.client_cert)"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"class Oauth2MtlsAuthPlugin(plugin.FixedEndpointPlugin):"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    def __init__(self, endpoint, token_endpoint, client_id,"},{"line_number":261,"context_line":"            verify_cert, client_cert):"}],"source_content_type":"text/x-python","patch_set":6,"id":"ceb97645_e695bfd6","line":258,"range":{"start_line":258,"start_character":6,"end_line":258,"end_character":11},"in_reply_to":"cee0ac6b_26eff200","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"3b090f02789b57cee83d35dc36adea88fae00be7","unresolved":true,"context_lines":[{"line_number":266,"context_line":"        self.client_cert \u003d client_cert"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def get_token(self, session, **kwargs):"},{"line_number":269,"context_line":"        auth \u003d NoAuthMtlsHandle(self.endpoint, self.verify_cert,"},{"line_number":270,"context_line":"            self.client_cert)"},{"line_number":271,"context_line":"        client \u003d HttpClient(auth)"},{"line_number":272,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"37c3f140_7342f435","line":269,"range":{"start_line":269,"start_character":26,"end_line":269,"end_character":31},"updated":"2022-12-15 06:02:35.000000000","message":"is this a appropriate name for this purpose?\nI\u0027m not sure, but seems some authentication things are performed here.\n\"NoAuth\" sounds a little bit unnatural for me.\nIf I missed something, please ignore my comment.","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":266,"context_line":"        self.client_cert \u003d client_cert"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def get_token(self, session, **kwargs):"},{"line_number":269,"context_line":"        auth \u003d NoAuthMtlsHandle(self.endpoint, self.verify_cert,"},{"line_number":270,"context_line":"            self.client_cert)"},{"line_number":271,"context_line":"        client \u003d HttpClient(auth)"},{"line_number":272,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"8aded659_e9765d80","line":269,"range":{"start_line":269,"start_character":26,"end_line":269,"end_character":31},"in_reply_to":"37c3f140_7342f435","updated":"2023-02-06 14:26:07.000000000","message":"Fixed to \"CertAuthMtlsHandle\" to mean certificate authentication.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":266,"context_line":"        self.client_cert \u003d client_cert"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def get_token(self, session, **kwargs):"},{"line_number":269,"context_line":"        auth \u003d NoAuthMtlsHandle(self.endpoint, self.verify_cert,"},{"line_number":270,"context_line":"            self.client_cert)"},{"line_number":271,"context_line":"        client \u003d HttpClient(auth)"},{"line_number":272,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"16f3e494_a4e6f1e5","line":269,"range":{"start_line":269,"start_character":26,"end_line":269,"end_character":31},"in_reply_to":"8aded659_e9765d80","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}],"tacker/sol_refactored/common/subscription_utils.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"b1903308510f0c91543cbb6db9fa080b0e179e5f","unresolved":true,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def _get_notification_auth_handle(subsc):"},{"line_number":54,"context_line":"    if not subsc.obj_attr_is_set(\u0027authentication\u0027):"},{"line_number":55,"context_line":"        return http_client.NoAuthHandle()"},{"line_number":56,"context_line":"    elif subsc.authentication.obj_attr_is_set(\u0027paramsBasic\u0027):"},{"line_number":57,"context_line":"        param \u003d subsc.authentication.paramsBasic"}],"source_content_type":"text/x-python","patch_set":6,"id":"28ca029d_89439c50","line":54,"updated":"2022-12-22 06:04:31.000000000","message":"Could you tell me the reason behind this implementation?\nLooks authType is ignored, meaning that an actual authentication method is determined depending on the attributes whatever authType is.","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def _get_notification_auth_handle(subsc):"},{"line_number":54,"context_line":"    if not subsc.obj_attr_is_set(\u0027authentication\u0027):"},{"line_number":55,"context_line":"        return http_client.NoAuthHandle()"},{"line_number":56,"context_line":"    elif subsc.authentication.obj_attr_is_set(\u0027paramsBasic\u0027):"},{"line_number":57,"context_line":"        param \u003d subsc.authentication.paramsBasic"}],"source_content_type":"text/x-python","patch_set":6,"id":"d206c680_1c07eebd","line":54,"in_reply_to":"17a0e42c_8a704bad","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def _get_notification_auth_handle(subsc):"},{"line_number":54,"context_line":"    if not subsc.obj_attr_is_set(\u0027authentication\u0027):"},{"line_number":55,"context_line":"        return http_client.NoAuthHandle()"},{"line_number":56,"context_line":"    elif subsc.authentication.obj_attr_is_set(\u0027paramsBasic\u0027):"},{"line_number":57,"context_line":"        param \u003d subsc.authentication.paramsBasic"}],"source_content_type":"text/x-python","patch_set":6,"id":"17a0e42c_8a704bad","line":54,"in_reply_to":"28ca029d_89439c50","updated":"2023-02-06 14:26:07.000000000","message":"Fixed to be determined by authType.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"539750c58e0ec865e68138627a23a532a13587ef","unresolved":true,"context_lines":[{"line_number":61,"context_line":"        param \u003d subsc.authentication.paramsOauth2ClientCredentials"},{"line_number":62,"context_line":"        return http_client.OAuth2AuthHandle(None,"},{"line_number":63,"context_line":"            param.tokenEndpoint, param.clientId, param.clientPassword)"},{"line_number":64,"context_line":"    elif subsc.authentication.obj_attr_is_set(\u0027paramsOauth2ClientCert\u0027):"},{"line_number":65,"context_line":"        param \u003d subsc.authentication.paramsOauth2ClientCert"},{"line_number":66,"context_line":"        verify_cert \u003d CONF.v2_vnfm.notification_mtls_ca_cert_file"},{"line_number":67,"context_line":"        client_cert \u003d CONF.v2_vnfm.notification_mtls_client_cert_file"}],"source_content_type":"text/x-python","patch_set":6,"id":"160e68f2_1627c7d5","line":64,"updated":"2023-02-24 01:36:33.000000000","message":"Is it necessary to check the param here if it cannot go to the next \"not reach here\"? Or it\u0027s better to add \"else\" to handle some unexpected case.","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"7993a4a4398ef733d308945c761b90eb33bb2126","unresolved":true,"context_lines":[{"line_number":59,"context_line":"        if \u0027OAUTH2_CLIENT_CERT\u0027 in auth.authType:"},{"line_number":60,"context_line":"            param \u003d subsc.authentication.paramsOauth2ClientCert"},{"line_number":61,"context_line":"            verify_cert \u003d CONF.v2_vnfm.notification_mtls_ca_cert_file"},{"line_number":62,"context_line":"            client_cert \u003d CONF.v2_vnfm.notification_mtls_client_cert_file"},{"line_number":63,"context_line":"            return http_client.OAuth2MtlsAuthHandle(None,"},{"line_number":64,"context_line":"                param.tokenEndpoint, param.clientId, verify_cert, client_cert)"},{"line_number":65,"context_line":"        elif \u0027OAUTH2_CLIENT_CREDENTIALS\u0027 in auth.authType:"}],"source_content_type":"text/x-python","patch_set":15,"id":"c7c934ae_dc6940aa","line":62,"updated":"2023-02-13 04:59:54.000000000","message":"Let me ask you a question. Why is the \"client_cert\" not included in the \"param\"?\nI think the \"certificateRef\" is included in the param, but \"client_cert\" managed separately.","commit_id":"1277ed6b5252e19878618c34b93b1b9edfcd197d"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"119278e8acd4591471bd9455166412820c3b76df","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        if \u0027OAUTH2_CLIENT_CERT\u0027 in auth.authType:"},{"line_number":60,"context_line":"            param \u003d subsc.authentication.paramsOauth2ClientCert"},{"line_number":61,"context_line":"            verify_cert \u003d CONF.v2_vnfm.notification_mtls_ca_cert_file"},{"line_number":62,"context_line":"            client_cert \u003d CONF.v2_vnfm.notification_mtls_client_cert_file"},{"line_number":63,"context_line":"            return http_client.OAuth2MtlsAuthHandle(None,"},{"line_number":64,"context_line":"                param.tokenEndpoint, param.clientId, verify_cert, client_cert)"},{"line_number":65,"context_line":"        elif \u0027OAUTH2_CLIENT_CREDENTIALS\u0027 in auth.authType:"}],"source_content_type":"text/x-python","patch_set":15,"id":"31d368e0_a6dec3af","line":62,"in_reply_to":"a54f3cbb_d4027cdd","updated":"2023-02-15 07:04:10.000000000","message":"Thank you for your explanation.\nI understand.","commit_id":"1277ed6b5252e19878618c34b93b1b9edfcd197d"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"d381a0eb89cf884baf6b981e28439014e300444f","unresolved":true,"context_lines":[{"line_number":59,"context_line":"        if \u0027OAUTH2_CLIENT_CERT\u0027 in auth.authType:"},{"line_number":60,"context_line":"            param \u003d subsc.authentication.paramsOauth2ClientCert"},{"line_number":61,"context_line":"            verify_cert \u003d CONF.v2_vnfm.notification_mtls_ca_cert_file"},{"line_number":62,"context_line":"            client_cert \u003d CONF.v2_vnfm.notification_mtls_client_cert_file"},{"line_number":63,"context_line":"            return http_client.OAuth2MtlsAuthHandle(None,"},{"line_number":64,"context_line":"                param.tokenEndpoint, param.clientId, verify_cert, client_cert)"},{"line_number":65,"context_line":"        elif \u0027OAUTH2_CLIENT_CREDENTIALS\u0027 in auth.authType:"}],"source_content_type":"text/x-python","patch_set":15,"id":"a54f3cbb_d4027cdd","line":62,"in_reply_to":"c7c934ae_dc6940aa","updated":"2023-02-13 09:54:05.000000000","message":"Thank you for your comment.\n\nThe certificate information contained here in the \"client_cert\" variable is required to establish a session at the transport layer using mTLS.\nOn the other hand, the thumbprint information contained in the \"certificateRef\" is used to authenticate the user with Tacker (instead of the password to authenticate the user with Tacker).\nTherefore, \u0027certificateRef\u0027 and \u0027client_cert\u0027 are managed separately.","commit_id":"1277ed6b5252e19878618c34b93b1b9edfcd197d"}],"tacker/sol_refactored/controller/vnffm_v1.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"b1903308510f0c91543cbb6db9fa080b0e179e5f","unresolved":true,"context_lines":[{"line_number":145,"context_line":"                    )"},{"line_number":146,"context_line":"                )"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"            if \u0027OAUTH2_CLIENT_CERT\u0027 in auth.authType:"},{"line_number":149,"context_line":"                oauth2_mtls_req \u003d auth_req.get(\u0027paramsOauth2ClientCert\u0027)"},{"line_number":150,"context_line":"                if oauth2_mtls_req is None:"},{"line_number":151,"context_line":"                    msg \u003d \"paramsOauth2ClientCert must be specified.\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3ee22c94_04ca02ba","line":148,"updated":"2022-12-22 06:04:31.000000000","message":"these if blocks should be:\n\n```\n            if \u0027OAUTH2_CLIENT_CERT\u0027 in auth.authType:\n                ...\n            elif \u0027OAUTH2_CLIENT_CREDENTIALS\u0027 in auth.authType:\n                ...\n            elif \u0027BASIC\u0027 in auth.authType:\n                ...\n            else:\n                raise Exception # PLEASE REPLACE WITH APPROPRIATE EXCEPTION\n```\n\nThe strongest authType in terms of the security level should be considered first, and if a stronger auth Type is found (e.g., OAUTH2_CLIENT_CERT\u0027), you can ignore the subsequent authTypes (e.g., \u0027OAUTH2_CLIENT_CREDENTIALS\u0027 and \u0027BASIC\u0027).\nThis is not related to this patch directly, but I think it must be solved in this patch from the security perspective.","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                    )"},{"line_number":146,"context_line":"                )"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"            if \u0027OAUTH2_CLIENT_CERT\u0027 in auth.authType:"},{"line_number":149,"context_line":"                oauth2_mtls_req \u003d auth_req.get(\u0027paramsOauth2ClientCert\u0027)"},{"line_number":150,"context_line":"                if oauth2_mtls_req is None:"},{"line_number":151,"context_line":"                    msg \u003d \"paramsOauth2ClientCert must be specified.\""}],"source_content_type":"text/x-python","patch_set":6,"id":"da0146a5_1e3f4c99","line":148,"in_reply_to":"2544aaf8_35c6a339","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":145,"context_line":"                    )"},{"line_number":146,"context_line":"                )"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"            if \u0027OAUTH2_CLIENT_CERT\u0027 in auth.authType:"},{"line_number":149,"context_line":"                oauth2_mtls_req \u003d auth_req.get(\u0027paramsOauth2ClientCert\u0027)"},{"line_number":150,"context_line":"                if oauth2_mtls_req is None:"},{"line_number":151,"context_line":"                    msg \u003d \"paramsOauth2ClientCert must be specified.\""}],"source_content_type":"text/x-python","patch_set":6,"id":"2544aaf8_35c6a339","line":148,"in_reply_to":"3ee22c94_04ca02ba","updated":"2023-02-06 14:26:07.000000000","message":"Fixed to change the order to determine.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}],"tacker/sol_refactored/controller/vnflcm_v2.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"b1903308510f0c91543cbb6db9fa080b0e179e5f","unresolved":true,"context_lines":[{"line_number":514,"context_line":"                    )"},{"line_number":515,"context_line":"                )"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"            if \u0027OAUTH2_CLIENT_CERT\u0027 in auth.authType:"},{"line_number":518,"context_line":"                oauth2_mtls_req \u003d auth_req.get(\u0027paramsOauth2ClientCert\u0027)"},{"line_number":519,"context_line":"                if oauth2_mtls_req is None:"},{"line_number":520,"context_line":"                    msg \u003d \"paramsOauth2ClientCert must be specified.\""}],"source_content_type":"text/x-python","patch_set":6,"id":"c31ebfc3_13f3c205","line":517,"updated":"2022-12-22 06:04:31.000000000","message":"ditto","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":514,"context_line":"                    )"},{"line_number":515,"context_line":"                )"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"            if \u0027OAUTH2_CLIENT_CERT\u0027 in auth.authType:"},{"line_number":518,"context_line":"                oauth2_mtls_req \u003d auth_req.get(\u0027paramsOauth2ClientCert\u0027)"},{"line_number":519,"context_line":"                if oauth2_mtls_req is None:"},{"line_number":520,"context_line":"                    msg \u003d \"paramsOauth2ClientCert must be specified.\""}],"source_content_type":"text/x-python","patch_set":6,"id":"661595dc_5219f054","line":517,"in_reply_to":"9621ce6c_2c21bc67","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":514,"context_line":"                    )"},{"line_number":515,"context_line":"                )"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"            if \u0027OAUTH2_CLIENT_CERT\u0027 in auth.authType:"},{"line_number":518,"context_line":"                oauth2_mtls_req \u003d auth_req.get(\u0027paramsOauth2ClientCert\u0027)"},{"line_number":519,"context_line":"                if oauth2_mtls_req is None:"},{"line_number":520,"context_line":"                    msg \u003d \"paramsOauth2ClientCert must be specified.\""}],"source_content_type":"text/x-python","patch_set":6,"id":"9621ce6c_2c21bc67","line":517,"in_reply_to":"c31ebfc3_13f3c205","updated":"2023-02-06 14:26:07.000000000","message":"Fixed to change the order to determine.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"80ca20b144471d546fd84900240f1b99acc85e91","unresolved":true,"context_lines":[{"line_number":524,"context_line":"                        password\u003dbasic_req.get(\u0027password\u0027)"},{"line_number":525,"context_line":"                    )"},{"line_number":526,"context_line":"                )"},{"line_number":527,"context_line":""},{"line_number":528,"context_line":"            subsc.authentication \u003d auth"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"        if CONF.v2_nfvo.test_callback_uri:"}],"source_content_type":"text/x-python","patch_set":18,"id":"f2f40729_166551cd","line":527,"updated":"2023-02-20 12:28:35.000000000","message":"Is `AuthTypeNotFound` exception needed here same as vnffm_v2? \n```\n            else:\n                raise sol_ex.AuthTypeNotFound(auth.authType)\n```","commit_id":"8d4871a30d9cbf19f1f1fa49c302816218d48fcf"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"56ac95ace8528706a5cda7639a9d506a03dd378e","unresolved":false,"context_lines":[{"line_number":524,"context_line":"                        password\u003dbasic_req.get(\u0027password\u0027)"},{"line_number":525,"context_line":"                    )"},{"line_number":526,"context_line":"                )"},{"line_number":527,"context_line":""},{"line_number":528,"context_line":"            subsc.authentication \u003d auth"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"        if CONF.v2_nfvo.test_callback_uri:"}],"source_content_type":"text/x-python","patch_set":18,"id":"7d2afaaf_fdc01a06","line":527,"in_reply_to":"db8d33d3_637a03cf","updated":"2023-02-22 23:21:58.000000000","message":"Ack","commit_id":"8d4871a30d9cbf19f1f1fa49c302816218d48fcf"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"df3b928807b94205406bdd0b6aecac8ed925a7bb","unresolved":true,"context_lines":[{"line_number":524,"context_line":"                        password\u003dbasic_req.get(\u0027password\u0027)"},{"line_number":525,"context_line":"                    )"},{"line_number":526,"context_line":"                )"},{"line_number":527,"context_line":""},{"line_number":528,"context_line":"            subsc.authentication \u003d auth"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"        if CONF.v2_nfvo.test_callback_uri:"}],"source_content_type":"text/x-python","patch_set":18,"id":"db8d33d3_637a03cf","line":527,"in_reply_to":"f2f40729_166551cd","updated":"2023-02-21 06:38:00.000000000","message":"Fix to call common methods that include exception handling.\n(Patchset 19)","commit_id":"8d4871a30d9cbf19f1f1fa49c302816218d48fcf"}],"tacker/sol_refactored/controller/vnfpm_v2.py":[{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"80ca20b144471d546fd84900240f1b99acc85e91","unresolved":true,"context_lines":[{"line_number":63,"context_line":"        authType\u003dauth_req[\u0027authType\u0027]"},{"line_number":64,"context_line":"    )"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    if \u0027BASIC\u0027 in auth.authType:"},{"line_number":67,"context_line":"        basic_req \u003d auth_req.get(\u0027paramsBasic\u0027)"},{"line_number":68,"context_line":"        if basic_req is None:"},{"line_number":69,"context_line":"            msg \u003d \"ParamsBasic must be specified.\""},{"line_number":70,"context_line":"            raise sol_ex.InvalidSubscription(sol_detail\u003dmsg)"},{"line_number":71,"context_line":"        auth.paramsBasic \u003d ("},{"line_number":72,"context_line":"            objects.SubscriptionAuthentication_ParamsBasic("},{"line_number":73,"context_line":"                userName\u003dbasic_req.get(\u0027userName\u0027),"},{"line_number":74,"context_line":"                password\u003dbasic_req.get(\u0027password\u0027)"},{"line_number":75,"context_line":"            )"},{"line_number":76,"context_line":"        )"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    if \u0027OAUTH2_CLIENT_CREDENTIALS\u0027 in auth.authType:"},{"line_number":79,"context_line":"        oauth2_req \u003d auth_req.get(\u0027paramsOauth2ClientCredentials\u0027)"},{"line_number":80,"context_line":"        if oauth2_req is None:"},{"line_number":81,"context_line":"            msg \u003d \"paramsOauth2ClientCredentials must be specified.\""},{"line_number":82,"context_line":"            raise sol_ex.InvalidSubscription(sol_detail\u003dmsg)"},{"line_number":83,"context_line":"        auth.paramsOauth2ClientCredentials \u003d ("},{"line_number":84,"context_line":"            objects.SubscriptionAuthentication_ParamsOauth2("},{"line_number":85,"context_line":"                clientId\u003doauth2_req.get(\u0027clientId\u0027),"},{"line_number":86,"context_line":"                clientPassword\u003doauth2_req.get(\u0027clientPassword\u0027),"},{"line_number":87,"context_line":"                tokenEndpoint\u003doauth2_req.get(\u0027tokenEndpoint\u0027)"},{"line_number":88,"context_line":"            )"},{"line_number":89,"context_line":"        )"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    if \u0027OAUTH2_CLIENT_CERT\u0027 in auth.authType:"},{"line_number":92,"context_line":"        oauth2_mtls_req \u003d auth_req.get(\u0027paramsOauth2ClientCert\u0027)"},{"line_number":93,"context_line":"        if oauth2_mtls_req is None:"},{"line_number":94,"context_line":"            msg \u003d \"paramsOauth2ClientCert must be specified.\""},{"line_number":95,"context_line":"            raise sol_ex.InvalidSubscription(sol_detail\u003dmsg)"},{"line_number":96,"context_line":"        auth.paramsOauth2ClientCert \u003d ("},{"line_number":97,"context_line":"            objects.SubscriptionAuthentication_ParamsOauth2ClientCert("},{"line_number":98,"context_line":"                clientId\u003doauth2_mtls_req.get(\u0027clientId\u0027),"},{"line_number":99,"context_line":"                certificateRef\u003doauth2_mtls_req.get(\u0027certificateRef\u0027),"},{"line_number":100,"context_line":"                tokenEndpoint\u003doauth2_mtls_req.get(\u0027tokenEndpoint\u0027)"},{"line_number":101,"context_line":"            )"},{"line_number":102,"context_line":"        )"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    return auth"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"cf99d434_77c9dc1f","line":102,"range":{"start_line":66,"start_character":0,"end_line":102,"end_character":9},"updated":"2023-02-20 12:28:35.000000000","message":"Do you need to change it in the same way as vnffm and vnflcm?\nAlso, if it is a same process, can\u0027t you make as a common function?","commit_id":"8d4871a30d9cbf19f1f1fa49c302816218d48fcf"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"56ac95ace8528706a5cda7639a9d506a03dd378e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        authType\u003dauth_req[\u0027authType\u0027]"},{"line_number":64,"context_line":"    )"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    if \u0027BASIC\u0027 in auth.authType:"},{"line_number":67,"context_line":"        basic_req \u003d auth_req.get(\u0027paramsBasic\u0027)"},{"line_number":68,"context_line":"        if basic_req is None:"},{"line_number":69,"context_line":"            msg \u003d \"ParamsBasic must be specified.\""},{"line_number":70,"context_line":"            raise sol_ex.InvalidSubscription(sol_detail\u003dmsg)"},{"line_number":71,"context_line":"        auth.paramsBasic \u003d ("},{"line_number":72,"context_line":"            objects.SubscriptionAuthentication_ParamsBasic("},{"line_number":73,"context_line":"                userName\u003dbasic_req.get(\u0027userName\u0027),"},{"line_number":74,"context_line":"                password\u003dbasic_req.get(\u0027password\u0027)"},{"line_number":75,"context_line":"            )"},{"line_number":76,"context_line":"        )"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    if \u0027OAUTH2_CLIENT_CREDENTIALS\u0027 in auth.authType:"},{"line_number":79,"context_line":"        oauth2_req \u003d auth_req.get(\u0027paramsOauth2ClientCredentials\u0027)"},{"line_number":80,"context_line":"        if oauth2_req is None:"},{"line_number":81,"context_line":"            msg \u003d \"paramsOauth2ClientCredentials must be specified.\""},{"line_number":82,"context_line":"            raise sol_ex.InvalidSubscription(sol_detail\u003dmsg)"},{"line_number":83,"context_line":"        auth.paramsOauth2ClientCredentials \u003d ("},{"line_number":84,"context_line":"            objects.SubscriptionAuthentication_ParamsOauth2("},{"line_number":85,"context_line":"                clientId\u003doauth2_req.get(\u0027clientId\u0027),"},{"line_number":86,"context_line":"                clientPassword\u003doauth2_req.get(\u0027clientPassword\u0027),"},{"line_number":87,"context_line":"                tokenEndpoint\u003doauth2_req.get(\u0027tokenEndpoint\u0027)"},{"line_number":88,"context_line":"            )"},{"line_number":89,"context_line":"        )"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    if \u0027OAUTH2_CLIENT_CERT\u0027 in auth.authType:"},{"line_number":92,"context_line":"        oauth2_mtls_req \u003d auth_req.get(\u0027paramsOauth2ClientCert\u0027)"},{"line_number":93,"context_line":"        if oauth2_mtls_req is None:"},{"line_number":94,"context_line":"            msg \u003d \"paramsOauth2ClientCert must be specified.\""},{"line_number":95,"context_line":"            raise sol_ex.InvalidSubscription(sol_detail\u003dmsg)"},{"line_number":96,"context_line":"        auth.paramsOauth2ClientCert \u003d ("},{"line_number":97,"context_line":"            objects.SubscriptionAuthentication_ParamsOauth2ClientCert("},{"line_number":98,"context_line":"                clientId\u003doauth2_mtls_req.get(\u0027clientId\u0027),"},{"line_number":99,"context_line":"                certificateRef\u003doauth2_mtls_req.get(\u0027certificateRef\u0027),"},{"line_number":100,"context_line":"                tokenEndpoint\u003doauth2_mtls_req.get(\u0027tokenEndpoint\u0027)"},{"line_number":101,"context_line":"            )"},{"line_number":102,"context_line":"        )"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    return auth"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"055e120a_7bdc0976","line":102,"range":{"start_line":66,"start_character":0,"end_line":102,"end_character":9},"in_reply_to":"17c8c28d_6133ed0a","updated":"2023-02-22 23:21:58.000000000","message":"Ack","commit_id":"8d4871a30d9cbf19f1f1fa49c302816218d48fcf"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"df3b928807b94205406bdd0b6aecac8ed925a7bb","unresolved":true,"context_lines":[{"line_number":63,"context_line":"        authType\u003dauth_req[\u0027authType\u0027]"},{"line_number":64,"context_line":"    )"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    if \u0027BASIC\u0027 in auth.authType:"},{"line_number":67,"context_line":"        basic_req \u003d auth_req.get(\u0027paramsBasic\u0027)"},{"line_number":68,"context_line":"        if basic_req is None:"},{"line_number":69,"context_line":"            msg \u003d \"ParamsBasic must be specified.\""},{"line_number":70,"context_line":"            raise sol_ex.InvalidSubscription(sol_detail\u003dmsg)"},{"line_number":71,"context_line":"        auth.paramsBasic \u003d ("},{"line_number":72,"context_line":"            objects.SubscriptionAuthentication_ParamsBasic("},{"line_number":73,"context_line":"                userName\u003dbasic_req.get(\u0027userName\u0027),"},{"line_number":74,"context_line":"                password\u003dbasic_req.get(\u0027password\u0027)"},{"line_number":75,"context_line":"            )"},{"line_number":76,"context_line":"        )"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    if \u0027OAUTH2_CLIENT_CREDENTIALS\u0027 in auth.authType:"},{"line_number":79,"context_line":"        oauth2_req \u003d auth_req.get(\u0027paramsOauth2ClientCredentials\u0027)"},{"line_number":80,"context_line":"        if oauth2_req is None:"},{"line_number":81,"context_line":"            msg \u003d \"paramsOauth2ClientCredentials must be specified.\""},{"line_number":82,"context_line":"            raise sol_ex.InvalidSubscription(sol_detail\u003dmsg)"},{"line_number":83,"context_line":"        auth.paramsOauth2ClientCredentials \u003d ("},{"line_number":84,"context_line":"            objects.SubscriptionAuthentication_ParamsOauth2("},{"line_number":85,"context_line":"                clientId\u003doauth2_req.get(\u0027clientId\u0027),"},{"line_number":86,"context_line":"                clientPassword\u003doauth2_req.get(\u0027clientPassword\u0027),"},{"line_number":87,"context_line":"                tokenEndpoint\u003doauth2_req.get(\u0027tokenEndpoint\u0027)"},{"line_number":88,"context_line":"            )"},{"line_number":89,"context_line":"        )"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    if \u0027OAUTH2_CLIENT_CERT\u0027 in auth.authType:"},{"line_number":92,"context_line":"        oauth2_mtls_req \u003d auth_req.get(\u0027paramsOauth2ClientCert\u0027)"},{"line_number":93,"context_line":"        if oauth2_mtls_req is None:"},{"line_number":94,"context_line":"            msg \u003d \"paramsOauth2ClientCert must be specified.\""},{"line_number":95,"context_line":"            raise sol_ex.InvalidSubscription(sol_detail\u003dmsg)"},{"line_number":96,"context_line":"        auth.paramsOauth2ClientCert \u003d ("},{"line_number":97,"context_line":"            objects.SubscriptionAuthentication_ParamsOauth2ClientCert("},{"line_number":98,"context_line":"                clientId\u003doauth2_mtls_req.get(\u0027clientId\u0027),"},{"line_number":99,"context_line":"                certificateRef\u003doauth2_mtls_req.get(\u0027certificateRef\u0027),"},{"line_number":100,"context_line":"                tokenEndpoint\u003doauth2_mtls_req.get(\u0027tokenEndpoint\u0027)"},{"line_number":101,"context_line":"            )"},{"line_number":102,"context_line":"        )"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    return auth"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"17c8c28d_6133ed0a","line":102,"range":{"start_line":66,"start_character":0,"end_line":102,"end_character":9},"in_reply_to":"cf99d434_77c9dc1f","updated":"2023-02-21 06:38:00.000000000","message":"Created common method in `tacker/sol_refactored/common/subscription_utils.py`.\n(Patchset 19)","commit_id":"8d4871a30d9cbf19f1f1fa49c302816218d48fcf"}],"tacker/sol_refactored/nfvo/nfvo_client.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"3b090f02789b57cee83d35dc36adea88fae00be7","unresolved":true,"context_lines":[{"line_number":42,"context_line":"        if CONF.v2_nfvo.use_external_nfvo:"},{"line_number":43,"context_line":"            self.is_local \u003d False"},{"line_number":44,"context_line":"            self.endpoint \u003d CONF.v2_nfvo.endpoint"},{"line_number":45,"context_line":"            if CONF.v2_nfvo.mtls_client_cert_file:"},{"line_number":46,"context_line":"                auth_handle \u003d http_client.Oauth2MtlsAuthHandle("},{"line_number":47,"context_line":"                    self.endpoint,"},{"line_number":48,"context_line":"                    CONF.v2_nfvo.token_endpoint,"},{"line_number":49,"context_line":"                    CONF.v2_nfvo.client_id,"},{"line_number":50,"context_line":"                    CONF.v2_nfvo.mtls_ca_cert_file,"},{"line_number":51,"context_line":"                    CONF.v2_nfvo.mtls_client_cert_file)"},{"line_number":52,"context_line":"            else:"},{"line_number":53,"context_line":"                auth_handle \u003d http_client.OAuth2AuthHandle("},{"line_number":54,"context_line":"                    self.endpoint,"},{"line_number":55,"context_line":"                    CONF.v2_nfvo.token_endpoint,"},{"line_number":56,"context_line":"                    CONF.v2_nfvo.client_id,"},{"line_number":57,"context_line":"                    CONF.v2_nfvo.client_password)"},{"line_number":58,"context_line":"            self.client \u003d http_client.HttpClient(auth_handle)"},{"line_number":59,"context_line":"            self.grant_api_version \u003d CONF.v2_nfvo.grant_api_version"},{"line_number":60,"context_line":"            self.vnfpkgm_api_version \u003d CONF.v2_nfvo.vnfpkgm_api_version"}],"source_content_type":"text/x-python","patch_set":6,"id":"cfbf80f8_0584713d","line":57,"range":{"start_line":45,"start_character":0,"end_line":57,"end_character":49},"updated":"2022-12-15 06:02:35.000000000","message":"I think the default auth_handle should be Oauth2mTlsAuthHandle as it provides the strongest security level. For OAuth2AuthHandle, we need to add a \"flag\" like \"use_client_secret_basic\" to the config, and allow using OAuth2AuthHandle only when that flag is True.\n\n```\nif CONF.v2_nfvo.use_client_secret_basic:\n    auth_handle \u003d http_client.OAuth2AuthHandle(\nelse: \n    auth_handle \u003d http_client.Oauth2MtlsAuthHandle(\n```","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        if CONF.v2_nfvo.use_external_nfvo:"},{"line_number":43,"context_line":"            self.is_local \u003d False"},{"line_number":44,"context_line":"            self.endpoint \u003d CONF.v2_nfvo.endpoint"},{"line_number":45,"context_line":"            if CONF.v2_nfvo.mtls_client_cert_file:"},{"line_number":46,"context_line":"                auth_handle \u003d http_client.Oauth2MtlsAuthHandle("},{"line_number":47,"context_line":"                    self.endpoint,"},{"line_number":48,"context_line":"                    CONF.v2_nfvo.token_endpoint,"},{"line_number":49,"context_line":"                    CONF.v2_nfvo.client_id,"},{"line_number":50,"context_line":"                    CONF.v2_nfvo.mtls_ca_cert_file,"},{"line_number":51,"context_line":"                    CONF.v2_nfvo.mtls_client_cert_file)"},{"line_number":52,"context_line":"            else:"},{"line_number":53,"context_line":"                auth_handle \u003d http_client.OAuth2AuthHandle("},{"line_number":54,"context_line":"                    self.endpoint,"},{"line_number":55,"context_line":"                    CONF.v2_nfvo.token_endpoint,"},{"line_number":56,"context_line":"                    CONF.v2_nfvo.client_id,"},{"line_number":57,"context_line":"                    CONF.v2_nfvo.client_password)"},{"line_number":58,"context_line":"            self.client \u003d http_client.HttpClient(auth_handle)"},{"line_number":59,"context_line":"            self.grant_api_version \u003d CONF.v2_nfvo.grant_api_version"},{"line_number":60,"context_line":"            self.vnfpkgm_api_version \u003d CONF.v2_nfvo.vnfpkgm_api_version"}],"source_content_type":"text/x-python","patch_set":6,"id":"b210e6f4_57976ee5","line":57,"range":{"start_line":45,"start_character":0,"end_line":57,"end_character":49},"in_reply_to":"8bf3c5d2_76f11957","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":42,"context_line":"        if CONF.v2_nfvo.use_external_nfvo:"},{"line_number":43,"context_line":"            self.is_local \u003d False"},{"line_number":44,"context_line":"            self.endpoint \u003d CONF.v2_nfvo.endpoint"},{"line_number":45,"context_line":"            if CONF.v2_nfvo.mtls_client_cert_file:"},{"line_number":46,"context_line":"                auth_handle \u003d http_client.Oauth2MtlsAuthHandle("},{"line_number":47,"context_line":"                    self.endpoint,"},{"line_number":48,"context_line":"                    CONF.v2_nfvo.token_endpoint,"},{"line_number":49,"context_line":"                    CONF.v2_nfvo.client_id,"},{"line_number":50,"context_line":"                    CONF.v2_nfvo.mtls_ca_cert_file,"},{"line_number":51,"context_line":"                    CONF.v2_nfvo.mtls_client_cert_file)"},{"line_number":52,"context_line":"            else:"},{"line_number":53,"context_line":"                auth_handle \u003d http_client.OAuth2AuthHandle("},{"line_number":54,"context_line":"                    self.endpoint,"},{"line_number":55,"context_line":"                    CONF.v2_nfvo.token_endpoint,"},{"line_number":56,"context_line":"                    CONF.v2_nfvo.client_id,"},{"line_number":57,"context_line":"                    CONF.v2_nfvo.client_password)"},{"line_number":58,"context_line":"            self.client \u003d http_client.HttpClient(auth_handle)"},{"line_number":59,"context_line":"            self.grant_api_version \u003d CONF.v2_nfvo.grant_api_version"},{"line_number":60,"context_line":"            self.vnfpkgm_api_version \u003d CONF.v2_nfvo.vnfpkgm_api_version"}],"source_content_type":"text/x-python","patch_set":6,"id":"8bf3c5d2_76f11957","line":57,"range":{"start_line":45,"start_character":0,"end_line":57,"end_character":49},"in_reply_to":"cfbf80f8_0584713d","updated":"2023-02-06 14:26:07.000000000","message":"Added \"use_client_secret_basic\" configuration option. This option is set to False by default, which means OAuth2MtlsAuthHandle will be used.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}],"tacker/sol_refactored/objects/common/subscription_authentication.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":true,"context_lines":[{"line_number":31,"context_line":"            valid_values\u003d["},{"line_number":32,"context_line":"                \u0027BASIC\u0027,"},{"line_number":33,"context_line":"                \u0027OAUTH2_CLIENT_CREDENTIALS\u0027,"},{"line_number":34,"context_line":"                \u0027TLS_CERT\u0027,"},{"line_number":35,"context_line":"            ],"},{"line_number":36,"context_line":"            nullable\u003dFalse),"},{"line_number":37,"context_line":"        \u0027paramsBasic\u0027: fields.ObjectField("}],"source_content_type":"text/x-python","patch_set":10,"id":"06ae2aca_8e641b40","side":"PARENT","line":34,"updated":"2023-02-07 06:13:42.000000000","message":"could you please leave TLS_CERT as is?\nWe recently discussed how should we deprecate it. At this moment, we have concluded that we have to remove this authtype carefully.\nSo, please don\u0027t remove it in this patch.","commit_id":"c60789c35c6379fb07b0dd5bf1fb6dd1501c3f12"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"a984526e26544e4c79edf6b0247f4433b213b8cf","unresolved":true,"context_lines":[{"line_number":31,"context_line":"            valid_values\u003d["},{"line_number":32,"context_line":"                \u0027BASIC\u0027,"},{"line_number":33,"context_line":"                \u0027OAUTH2_CLIENT_CREDENTIALS\u0027,"},{"line_number":34,"context_line":"                \u0027TLS_CERT\u0027,"},{"line_number":35,"context_line":"            ],"},{"line_number":36,"context_line":"            nullable\u003dFalse),"},{"line_number":37,"context_line":"        \u0027paramsBasic\u0027: fields.ObjectField("}],"source_content_type":"text/x-python","patch_set":10,"id":"80a099d3_459f5ee5","side":"PARENT","line":34,"in_reply_to":"06ae2aca_8e641b40","updated":"2023-02-07 13:11:49.000000000","message":"Fixed by reinserting the removed TLS_CERT.\n(Patchset 11)","commit_id":"c60789c35c6379fb07b0dd5bf1fb6dd1501c3f12"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"07efcf8be8f16103d535c5f6916f612cf953bf51","unresolved":false,"context_lines":[{"line_number":31,"context_line":"            valid_values\u003d["},{"line_number":32,"context_line":"                \u0027BASIC\u0027,"},{"line_number":33,"context_line":"                \u0027OAUTH2_CLIENT_CREDENTIALS\u0027,"},{"line_number":34,"context_line":"                \u0027TLS_CERT\u0027,"},{"line_number":35,"context_line":"            ],"},{"line_number":36,"context_line":"            nullable\u003dFalse),"},{"line_number":37,"context_line":"        \u0027paramsBasic\u0027: fields.ObjectField("}],"source_content_type":"text/x-python","patch_set":10,"id":"959d9bf5_9458c8ab","side":"PARENT","line":34,"in_reply_to":"80a099d3_459f5ee5","updated":"2023-02-15 08:46:15.000000000","message":"Done","commit_id":"c60789c35c6379fb07b0dd5bf1fb6dd1501c3f12"}],"tacker/tests/unit/sol_refactored/common/test_http_client.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"b1903308510f0c91543cbb6db9fa080b0e179e5f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (C) 2022 Fujitsu"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"44468a4d_fa32a35c","line":1,"updated":"2022-12-22 06:04:31.000000000","message":"this test file is too much.\nideally, these kind of things have to be checked by FT.","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (C) 2022 Fujitsu"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"4a413b59_a9f41257","line":1,"in_reply_to":"44468a4d_fa32a35c","updated":"2023-02-06 14:26:07.000000000","message":"Deleted the unit test file and changed to manual FT test confirmation.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (C) 2022 Fujitsu"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"7e906aa7_1696551f","line":1,"in_reply_to":"4a413b59_a9f41257","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}],"tacker/tests/unit/sol_refactored/common/test_pm_job_utils.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"b1903308510f0c91543cbb6db9fa080b0e179e5f","unresolved":true,"context_lines":[{"line_number":153,"context_line":"            )"},{"line_number":154,"context_line":"        )"},{"line_number":155,"context_line":"        result \u003d pm_job_utils._get_notification_auth_handle(pm_job_2)"},{"line_number":156,"context_line":"        res \u003d type(result).__name__"},{"line_number":157,"context_line":"        name \u003d type(http_client.OAuth2AuthHandle("},{"line_number":158,"context_line":"            None, \u0027http://127.0.0.1/token\u0027, \u0027test\u0027, \u0027test\u0027)).__name__"},{"line_number":159,"context_line":"        self.assertEqual(name, res)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        pm_job_3 \u003d objects.PmJobV2("},{"line_number":162,"context_line":"            id\u003d\u0027pm_job_3\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"c3a9e67b_a426860b","line":159,"range":{"start_line":156,"start_character":0,"end_line":159,"end_character":35},"updated":"2022-12-22 06:04:31.000000000","message":"Why don\u0027t you use ``assertIsInstance``?\nIMO, the current code is not easy to follow.","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":153,"context_line":"            )"},{"line_number":154,"context_line":"        )"},{"line_number":155,"context_line":"        result \u003d pm_job_utils._get_notification_auth_handle(pm_job_2)"},{"line_number":156,"context_line":"        res \u003d type(result).__name__"},{"line_number":157,"context_line":"        name \u003d type(http_client.OAuth2AuthHandle("},{"line_number":158,"context_line":"            None, \u0027http://127.0.0.1/token\u0027, \u0027test\u0027, \u0027test\u0027)).__name__"},{"line_number":159,"context_line":"        self.assertEqual(name, res)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        pm_job_3 \u003d objects.PmJobV2("},{"line_number":162,"context_line":"            id\u003d\u0027pm_job_3\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"eaf61cb8_1a735b25","line":159,"range":{"start_line":156,"start_character":0,"end_line":159,"end_character":35},"in_reply_to":"c3a9e67b_a426860b","updated":"2023-02-06 14:26:07.000000000","message":"Fixed to use assertIsInstance.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"a984526e26544e4c79edf6b0247f4433b213b8cf","unresolved":true,"context_lines":[{"line_number":153,"context_line":"            )"},{"line_number":154,"context_line":"        )"},{"line_number":155,"context_line":"        result \u003d pm_job_utils._get_notification_auth_handle(pm_job_2)"},{"line_number":156,"context_line":"        res \u003d type(result).__name__"},{"line_number":157,"context_line":"        name \u003d type(http_client.OAuth2AuthHandle("},{"line_number":158,"context_line":"            None, \u0027http://127.0.0.1/token\u0027, \u0027test\u0027, \u0027test\u0027)).__name__"},{"line_number":159,"context_line":"        self.assertEqual(name, res)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        pm_job_3 \u003d objects.PmJobV2("},{"line_number":162,"context_line":"            id\u003d\u0027pm_job_3\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"e24dbb89_c27303df","line":159,"range":{"start_line":156,"start_character":0,"end_line":159,"end_character":35},"in_reply_to":"c40b7d49_ab33ee70","updated":"2023-02-07 13:11:49.000000000","message":"As you pointed out, I Fixed to include the AuthHandle class in the second argument of assertIsInstance.\nReally sorry.\n(Patchset 11)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"07efcf8be8f16103d535c5f6916f612cf953bf51","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            )"},{"line_number":154,"context_line":"        )"},{"line_number":155,"context_line":"        result \u003d pm_job_utils._get_notification_auth_handle(pm_job_2)"},{"line_number":156,"context_line":"        res \u003d type(result).__name__"},{"line_number":157,"context_line":"        name \u003d type(http_client.OAuth2AuthHandle("},{"line_number":158,"context_line":"            None, \u0027http://127.0.0.1/token\u0027, \u0027test\u0027, \u0027test\u0027)).__name__"},{"line_number":159,"context_line":"        self.assertEqual(name, res)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        pm_job_3 \u003d objects.PmJobV2("},{"line_number":162,"context_line":"            id\u003d\u0027pm_job_3\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"f4ef9e0f_c8c948d9","line":159,"range":{"start_line":156,"start_character":0,"end_line":159,"end_character":35},"in_reply_to":"e24dbb89_c27303df","updated":"2023-02-15 08:46:15.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":true,"context_lines":[{"line_number":153,"context_line":"            )"},{"line_number":154,"context_line":"        )"},{"line_number":155,"context_line":"        result \u003d pm_job_utils._get_notification_auth_handle(pm_job_2)"},{"line_number":156,"context_line":"        res \u003d type(result).__name__"},{"line_number":157,"context_line":"        name \u003d type(http_client.OAuth2AuthHandle("},{"line_number":158,"context_line":"            None, \u0027http://127.0.0.1/token\u0027, \u0027test\u0027, \u0027test\u0027)).__name__"},{"line_number":159,"context_line":"        self.assertEqual(name, res)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        pm_job_3 \u003d objects.PmJobV2("},{"line_number":162,"context_line":"            id\u003d\u0027pm_job_3\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"c40b7d49_ab33ee70","line":159,"range":{"start_line":156,"start_character":0,"end_line":159,"end_character":35},"in_reply_to":"eaf61cb8_1a735b25","updated":"2023-02-07 06:13:42.000000000","message":"One question. Why do you use type?\nIsn\u0027t it possible to put OAuth2Handle to the second arg of IsInstance.\nhttps://www.geeksforgeeks.org/python-unittest-assertisinstance-function/","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"b1903308510f0c91543cbb6db9fa080b0e179e5f","unresolved":true,"context_lines":[{"line_number":176,"context_line":"            )"},{"line_number":177,"context_line":"        )"},{"line_number":178,"context_line":"        result \u003d pm_job_utils._get_notification_auth_handle(pm_job_3)"},{"line_number":179,"context_line":"        res \u003d type(result).__name__"},{"line_number":180,"context_line":"        name \u003d type(http_client.Oauth2MtlsAuthHandle("},{"line_number":181,"context_line":"            None, \u0027http://127.0.0.1/token\u0027, \u0027test\u0027, \u0027/path/to/cacert\u0027,"},{"line_number":182,"context_line":"            \u0027/path/to/clientcert\u0027)).__name__"},{"line_number":183,"context_line":"        self.assertEqual(name, res)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    @mock.patch.object(http_client.HttpClient, \u0027do_request\u0027)"},{"line_number":186,"context_line":"    def test_test_notification(self, mock_do_request):"}],"source_content_type":"text/x-python","patch_set":6,"id":"a0654147_510eacec","line":183,"range":{"start_line":179,"start_character":1,"end_line":183,"end_character":35},"updated":"2022-12-22 06:04:31.000000000","message":"ditto","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":true,"context_lines":[{"line_number":176,"context_line":"            )"},{"line_number":177,"context_line":"        )"},{"line_number":178,"context_line":"        result \u003d pm_job_utils._get_notification_auth_handle(pm_job_3)"},{"line_number":179,"context_line":"        res \u003d type(result).__name__"},{"line_number":180,"context_line":"        name \u003d type(http_client.Oauth2MtlsAuthHandle("},{"line_number":181,"context_line":"            None, \u0027http://127.0.0.1/token\u0027, \u0027test\u0027, \u0027/path/to/cacert\u0027,"},{"line_number":182,"context_line":"            \u0027/path/to/clientcert\u0027)).__name__"},{"line_number":183,"context_line":"        self.assertEqual(name, res)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    @mock.patch.object(http_client.HttpClient, \u0027do_request\u0027)"},{"line_number":186,"context_line":"    def test_test_notification(self, mock_do_request):"}],"source_content_type":"text/x-python","patch_set":6,"id":"2c19d4b4_72527db8","line":183,"range":{"start_line":179,"start_character":1,"end_line":183,"end_character":35},"in_reply_to":"112a7220_fc526736","updated":"2023-02-07 06:13:42.000000000","message":"ditto","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"a984526e26544e4c79edf6b0247f4433b213b8cf","unresolved":true,"context_lines":[{"line_number":176,"context_line":"            )"},{"line_number":177,"context_line":"        )"},{"line_number":178,"context_line":"        result \u003d pm_job_utils._get_notification_auth_handle(pm_job_3)"},{"line_number":179,"context_line":"        res \u003d type(result).__name__"},{"line_number":180,"context_line":"        name \u003d type(http_client.Oauth2MtlsAuthHandle("},{"line_number":181,"context_line":"            None, \u0027http://127.0.0.1/token\u0027, \u0027test\u0027, \u0027/path/to/cacert\u0027,"},{"line_number":182,"context_line":"            \u0027/path/to/clientcert\u0027)).__name__"},{"line_number":183,"context_line":"        self.assertEqual(name, res)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    @mock.patch.object(http_client.HttpClient, \u0027do_request\u0027)"},{"line_number":186,"context_line":"    def test_test_notification(self, mock_do_request):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3ca6d72b_d61b9338","line":183,"range":{"start_line":179,"start_character":1,"end_line":183,"end_character":35},"in_reply_to":"2c19d4b4_72527db8","updated":"2023-02-07 13:11:49.000000000","message":"As you pointed out, I Fixed to include the AuthHandle class in the second argument of assertIsInstance.\nReally sorry.\n(Patchset 11)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"07efcf8be8f16103d535c5f6916f612cf953bf51","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            )"},{"line_number":177,"context_line":"        )"},{"line_number":178,"context_line":"        result \u003d pm_job_utils._get_notification_auth_handle(pm_job_3)"},{"line_number":179,"context_line":"        res \u003d type(result).__name__"},{"line_number":180,"context_line":"        name \u003d type(http_client.Oauth2MtlsAuthHandle("},{"line_number":181,"context_line":"            None, \u0027http://127.0.0.1/token\u0027, \u0027test\u0027, \u0027/path/to/cacert\u0027,"},{"line_number":182,"context_line":"            \u0027/path/to/clientcert\u0027)).__name__"},{"line_number":183,"context_line":"        self.assertEqual(name, res)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    @mock.patch.object(http_client.HttpClient, \u0027do_request\u0027)"},{"line_number":186,"context_line":"    def test_test_notification(self, mock_do_request):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9dba1ec0_f853361a","line":183,"range":{"start_line":179,"start_character":1,"end_line":183,"end_character":35},"in_reply_to":"3ca6d72b_d61b9338","updated":"2023-02-15 08:46:15.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":176,"context_line":"            )"},{"line_number":177,"context_line":"        )"},{"line_number":178,"context_line":"        result \u003d pm_job_utils._get_notification_auth_handle(pm_job_3)"},{"line_number":179,"context_line":"        res \u003d type(result).__name__"},{"line_number":180,"context_line":"        name \u003d type(http_client.Oauth2MtlsAuthHandle("},{"line_number":181,"context_line":"            None, \u0027http://127.0.0.1/token\u0027, \u0027test\u0027, \u0027/path/to/cacert\u0027,"},{"line_number":182,"context_line":"            \u0027/path/to/clientcert\u0027)).__name__"},{"line_number":183,"context_line":"        self.assertEqual(name, res)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    @mock.patch.object(http_client.HttpClient, \u0027do_request\u0027)"},{"line_number":186,"context_line":"    def test_test_notification(self, mock_do_request):"}],"source_content_type":"text/x-python","patch_set":6,"id":"112a7220_fc526736","line":183,"range":{"start_line":179,"start_character":1,"end_line":183,"end_character":35},"in_reply_to":"a0654147_510eacec","updated":"2023-02-06 14:26:07.000000000","message":"Fixed to use assertIsInstance.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}],"tacker/tests/unit/sol_refactored/common/test_subscription_utils.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"b1903308510f0c91543cbb6db9fa080b0e179e5f","unresolved":true,"context_lines":[{"line_number":56,"context_line":"        self.assertEqual(\u0027subsc-1\u0027, result[0].id)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @mock.patch.object(http_client.HttpClient, \u0027do_request\u0027)"},{"line_number":59,"context_line":"    def test_send_notification(self, mock_resp):"},{"line_number":60,"context_line":"        subsc_no_auth \u003d objects.LccnSubscriptionV2("},{"line_number":61,"context_line":"            id\u003d\u0027sub-1\u0027, verbosity\u003d\u0027SHORT\u0027,"},{"line_number":62,"context_line":"            callbackUri\u003d\u0027http://127.0.0.1/callback\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"33e64d80_4fd57b1c","line":59,"updated":"2022-12-22 06:04:31.000000000","message":"This test case is too much as test cases for `send_notification`.\nif you want to confirm that `send_notification` works correctly, what you have to do is just test `try` and `except` blocks work correctly, but not testing it with different authTypes.\nThe above matter shouldn\u0027t be handled by this patch, so it\u0027s just a comment.","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":56,"context_line":"        self.assertEqual(\u0027subsc-1\u0027, result[0].id)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @mock.patch.object(http_client.HttpClient, \u0027do_request\u0027)"},{"line_number":59,"context_line":"    def test_send_notification(self, mock_resp):"},{"line_number":60,"context_line":"        subsc_no_auth \u003d objects.LccnSubscriptionV2("},{"line_number":61,"context_line":"            id\u003d\u0027sub-1\u0027, verbosity\u003d\u0027SHORT\u0027,"},{"line_number":62,"context_line":"            callbackUri\u003d\u0027http://127.0.0.1/callback\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"a10d609e_6fb8bc28","line":59,"in_reply_to":"33e64d80_4fd57b1c","updated":"2023-02-06 14:26:07.000000000","message":"I understand your comment.\n(Not fixed in this patch.)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        self.assertEqual(\u0027subsc-1\u0027, result[0].id)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @mock.patch.object(http_client.HttpClient, \u0027do_request\u0027)"},{"line_number":59,"context_line":"    def test_send_notification(self, mock_resp):"},{"line_number":60,"context_line":"        subsc_no_auth \u003d objects.LccnSubscriptionV2("},{"line_number":61,"context_line":"            id\u003d\u0027sub-1\u0027, verbosity\u003d\u0027SHORT\u0027,"},{"line_number":62,"context_line":"            callbackUri\u003d\u0027http://127.0.0.1/callback\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"caa174cf_a114c952","line":59,"in_reply_to":"a10d609e_6fb8bc28","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}],"tacker/tests/unit/sol_refactored/controller/test_vnffm_v1.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"b1903308510f0c91543cbb6db9fa080b0e179e5f","unresolved":true,"context_lines":[{"line_number":114,"context_line":"        body \u003d {"},{"line_number":115,"context_line":"            \"callbackUri\": \"http://127.0.0.1:6789/notification\","},{"line_number":116,"context_line":"            \"authentication\": {"},{"line_number":117,"context_line":"                \"authType\": [\"BASIC\", \"OAUTH2_CLIENT_CREDENTIALS\","},{"line_number":118,"context_line":"                             \"OAUTH2_CLIENT_CERT\"],"},{"line_number":119,"context_line":"                \"paramsBasic\": {"},{"line_number":120,"context_line":"                    \"userName\": \"test\","}],"source_content_type":"text/x-python","patch_set":6,"id":"04fbf816_22077b14","line":117,"updated":"2022-12-22 06:04:31.000000000","message":"If you want to test each authType, you should split the test case into multiple test cases.\nAlso, imo, you should test if the strongest authType (e.g., OAUTH2_CLIENT_CERT) is selected if when multiple authTypes are set.","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":114,"context_line":"        body \u003d {"},{"line_number":115,"context_line":"            \"callbackUri\": \"http://127.0.0.1:6789/notification\","},{"line_number":116,"context_line":"            \"authentication\": {"},{"line_number":117,"context_line":"                \"authType\": [\"BASIC\", \"OAUTH2_CLIENT_CREDENTIALS\","},{"line_number":118,"context_line":"                             \"OAUTH2_CLIENT_CERT\"],"},{"line_number":119,"context_line":"                \"paramsBasic\": {"},{"line_number":120,"context_line":"                    \"userName\": \"test\","}],"source_content_type":"text/x-python","patch_set":6,"id":"2be9309e_3d54c33d","line":117,"in_reply_to":"04fbf816_22077b14","updated":"2023-02-06 14:26:07.000000000","message":"Added tests for each authType. On the other hand, the response of the subscription_create method does not contain the authType, so it cannot be verified.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        body \u003d {"},{"line_number":115,"context_line":"            \"callbackUri\": \"http://127.0.0.1:6789/notification\","},{"line_number":116,"context_line":"            \"authentication\": {"},{"line_number":117,"context_line":"                \"authType\": [\"BASIC\", \"OAUTH2_CLIENT_CREDENTIALS\","},{"line_number":118,"context_line":"                             \"OAUTH2_CLIENT_CERT\"],"},{"line_number":119,"context_line":"                \"paramsBasic\": {"},{"line_number":120,"context_line":"                    \"userName\": \"test\","}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7714a0_f91ed402","line":117,"in_reply_to":"2be9309e_3d54c33d","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}],"tacker/tests/unit/sol_refactored/controller/test_vnflcm_v2.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"b1903308510f0c91543cbb6db9fa080b0e179e5f","unresolved":true,"context_lines":[{"line_number":580,"context_line":"        body \u003d {"},{"line_number":581,"context_line":"            \"callbackUri\": \"http://127.0.0.1:6789/notification\","},{"line_number":582,"context_line":"            \"authentication\": {"},{"line_number":583,"context_line":"                \"authType\": [\"BASIC\", \"OAUTH2_CLIENT_CREDENTIALS\","},{"line_number":584,"context_line":"                             \"OAUTH2_CLIENT_CERT\"],"},{"line_number":585,"context_line":"                \"paramsBasic\": {"},{"line_number":586,"context_line":"                    \"userName\": \"test\","}],"source_content_type":"text/x-python","patch_set":6,"id":"4869bf01_eb238aaf","line":583,"updated":"2022-12-22 06:04:31.000000000","message":"ditto.\n\nPlease see tacker/tests/unit/sol_refactored/controller/test_vnffm_v1.py l.117","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":580,"context_line":"        body \u003d {"},{"line_number":581,"context_line":"            \"callbackUri\": \"http://127.0.0.1:6789/notification\","},{"line_number":582,"context_line":"            \"authentication\": {"},{"line_number":583,"context_line":"                \"authType\": [\"BASIC\", \"OAUTH2_CLIENT_CREDENTIALS\","},{"line_number":584,"context_line":"                             \"OAUTH2_CLIENT_CERT\"],"},{"line_number":585,"context_line":"                \"paramsBasic\": {"},{"line_number":586,"context_line":"                    \"userName\": \"test\","}],"source_content_type":"text/x-python","patch_set":6,"id":"5862a896_043d2402","line":583,"in_reply_to":"35c0f724_66330735","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":580,"context_line":"        body \u003d {"},{"line_number":581,"context_line":"            \"callbackUri\": \"http://127.0.0.1:6789/notification\","},{"line_number":582,"context_line":"            \"authentication\": {"},{"line_number":583,"context_line":"                \"authType\": [\"BASIC\", \"OAUTH2_CLIENT_CREDENTIALS\","},{"line_number":584,"context_line":"                             \"OAUTH2_CLIENT_CERT\"],"},{"line_number":585,"context_line":"                \"paramsBasic\": {"},{"line_number":586,"context_line":"                    \"userName\": \"test\","}],"source_content_type":"text/x-python","patch_set":6,"id":"35c0f724_66330735","line":583,"in_reply_to":"4869bf01_eb238aaf","updated":"2023-02-06 14:26:07.000000000","message":"Added tests for each authType. On the other hand, the response of the subscription_create method does not contain the authType, so it cannot be verified.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}],"tacker/tests/unit/sol_refactored/controller/test_vnfpm_v2.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"b1903308510f0c91543cbb6db9fa080b0e179e5f","unresolved":true,"context_lines":[{"line_number":84,"context_line":"                          auth_req\u003dauth_req_3)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        auth_req_4 \u003d {"},{"line_number":87,"context_line":"            \u0027authType\u0027: [\u0027OAUTH2_CLIENT_CERT\u0027],"},{"line_number":88,"context_line":"            \u0027paramsOauth2ClientCert\u0027: {"},{"line_number":89,"context_line":"                \u0027clientId\u0027: \u0027test\u0027,"},{"line_number":90,"context_line":"                \u0027certificateRef\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"fd60c4be_34bbbf01","line":87,"updated":"2022-12-22 06:04:31.000000000","message":"Please make the similar test cases among `tacker/tests/unit/sol_refactored/controller/test_vnffm_v1.py` `tacker/tests/unit/sol_refactored/controller/test_vnflcm_v2.py` and `tacker/tests/unit/sol_refactored/controller/test_vnfpm_v2.py` consistent. I think the other test cases should follow the style of this test case.\n\nHowever, this test case also should be modified, imo. It\u0027s better to split this method into a test for normal cases and a test for error cases","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                          auth_req\u003dauth_req_3)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        auth_req_4 \u003d {"},{"line_number":87,"context_line":"            \u0027authType\u0027: [\u0027OAUTH2_CLIENT_CERT\u0027],"},{"line_number":88,"context_line":"            \u0027paramsOauth2ClientCert\u0027: {"},{"line_number":89,"context_line":"                \u0027clientId\u0027: \u0027test\u0027,"},{"line_number":90,"context_line":"                \u0027certificateRef\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"d11164bc_9ab7062b","line":87,"in_reply_to":"40677a16_3ebcd9ee","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":84,"context_line":"                          auth_req\u003dauth_req_3)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        auth_req_4 \u003d {"},{"line_number":87,"context_line":"            \u0027authType\u0027: [\u0027OAUTH2_CLIENT_CERT\u0027],"},{"line_number":88,"context_line":"            \u0027paramsOauth2ClientCert\u0027: {"},{"line_number":89,"context_line":"                \u0027clientId\u0027: \u0027test\u0027,"},{"line_number":90,"context_line":"                \u0027certificateRef\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"40677a16_3ebcd9ee","line":87,"in_reply_to":"fd60c4be_34bbbf01","updated":"2023-02-06 14:26:07.000000000","message":"Fixed to separate methods for normal and error cases.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}],"tacker/tests/unit/sol_refactored/nfvo/test_nfvo_client.py":[{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"b1903308510f0c91543cbb6db9fa080b0e179e5f","unresolved":true,"context_lines":[{"line_number":312,"context_line":"        self.nfvo_client.grant_api_version \u003d \u00271.4.0\u0027"},{"line_number":313,"context_line":"        self.nfvo_client.vnfpkgm_api_version \u003d \u00272.1.0\u0027"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"        cfg.CONF.set_override(\"use_external_nfvo\", True, group\u003d\"v2_nfvo\")"},{"line_number":316,"context_line":"        cfg.CONF.set_override(\"mtls_ca_cert_file\", \"/path/to/cacert\","},{"line_number":317,"context_line":"            group\u003d\"v2_nfvo\")"},{"line_number":318,"context_line":"        cfg.CONF.set_override(\"mtls_client_cert_file\", \"/path/to/clientcert\","}],"source_content_type":"text/x-python","patch_set":6,"id":"7149d2d2_5691011b","line":315,"updated":"2022-12-22 06:04:31.000000000","message":"Let me confirm. isn\u0027t it necessary to clear this `override`?","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33920,"name":"Yusuke Niimi","email":"niimi.yusuke@fujitsu.com","username":"yniimi"},"change_message_id":"21751037593105b83af1eca96851ffd3f3b5bca6","unresolved":true,"context_lines":[{"line_number":312,"context_line":"        self.nfvo_client.grant_api_version \u003d \u00271.4.0\u0027"},{"line_number":313,"context_line":"        self.nfvo_client.vnfpkgm_api_version \u003d \u00272.1.0\u0027"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"        cfg.CONF.set_override(\"use_external_nfvo\", True, group\u003d\"v2_nfvo\")"},{"line_number":316,"context_line":"        cfg.CONF.set_override(\"mtls_ca_cert_file\", \"/path/to/cacert\","},{"line_number":317,"context_line":"            group\u003d\"v2_nfvo\")"},{"line_number":318,"context_line":"        cfg.CONF.set_override(\"mtls_client_cert_file\", \"/path/to/clientcert\","}],"source_content_type":"text/x-python","patch_set":6,"id":"99e7e2cc_fd444197","line":315,"in_reply_to":"7149d2d2_5691011b","updated":"2023-02-06 14:26:07.000000000","message":"Fixed to clear before `is_local \u003d True`.\n(Patchset 9)","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"},{"author":{"_account_id":33455,"name":"Hiromu Asahina","email":"hiromu.a5a@gmail.com","username":"h_asahina"},"change_message_id":"00a1fa4a6eacb0011bc7866318ea70dfff0b1257","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        self.nfvo_client.grant_api_version \u003d \u00271.4.0\u0027"},{"line_number":313,"context_line":"        self.nfvo_client.vnfpkgm_api_version \u003d \u00272.1.0\u0027"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"        cfg.CONF.set_override(\"use_external_nfvo\", True, group\u003d\"v2_nfvo\")"},{"line_number":316,"context_line":"        cfg.CONF.set_override(\"mtls_ca_cert_file\", \"/path/to/cacert\","},{"line_number":317,"context_line":"            group\u003d\"v2_nfvo\")"},{"line_number":318,"context_line":"        cfg.CONF.set_override(\"mtls_client_cert_file\", \"/path/to/clientcert\","}],"source_content_type":"text/x-python","patch_set":6,"id":"2d47cea8_d9ebb348","line":315,"in_reply_to":"99e7e2cc_fd444197","updated":"2023-02-07 06:13:42.000000000","message":"Done","commit_id":"6ecae4c46d961034b2545de89f14b85c5c2a7675"}]}
