)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a4328e5fe91fb7eb6b16fe818d38909d5c917db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0d75aae4_5430b51a","updated":"2025-09-09 21:58:23.000000000","message":"Small nit","commit_id":"5bcb19dbaeed07e5e7e14e875a168bd97bd3546f"},{"author":{"_account_id":38264,"name":"Ji Won Jang","display_name":"JiwonJang","email":"kooriangman@gmail.com","username":"jiwonjang"},"change_message_id":"9bb8079a2e83001a0b3fb9b8d1058eff29e50241","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"09e136b8_c31eb33c","updated":"2025-09-25 14:34:56.000000000","message":"Thank you for the review. I’ve applied your suggestions and uploaded a new patch set 5, so please feel free to provide any further comments.","commit_id":"6b6a9bafd80a90ee9d42d756489350ea7a77ff69"},{"author":{"_account_id":35119,"name":"jihyun huh","email":"huhji.elha@gmail.com","username":"jhhuh"},"change_message_id":"18d2115a92dbf005cfe4af80d2523c0dbb8e6607","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"feafd6ec_7a39c20c","updated":"2025-11-13 11:48:39.000000000","message":"recheck","commit_id":"6b6a9bafd80a90ee9d42d756489350ea7a77ff69"}],"openstackclient/tests/functional/image/v2/test_metadef_resource_type.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a4328e5fe91fb7eb6b16fe818d38909d5c917db","unresolved":true,"context_lines":[{"line_number":46,"context_line":"    def tearDown(self):"},{"line_number":47,"context_line":"        super().tearDown()"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def test_metadef_resource_type_list(self):"},{"line_number":50,"context_line":"        \"\"\"Test image metadef resource type list command\"\"\""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        output \u003d self.openstack("},{"line_number":53,"context_line":"            \u0027image metadef resource type list\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"65434503_e3f7193c","line":50,"range":{"start_line":49,"start_character":4,"end_line":50,"end_character":59},"updated":"2025-09-09 21:58:23.000000000","message":"```suggestion\n    def test_metadef_resource_type(self):\n        \"\"\"Test image metadef resource type commands\"\"\"\n```\n\nsince I expect we\u0027ll add more tests here in the future","commit_id":"5bcb19dbaeed07e5e7e14e875a168bd97bd3546f"},{"author":{"_account_id":38264,"name":"Ji Won Jang","display_name":"JiwonJang","email":"kooriangman@gmail.com","username":"jiwonjang"},"change_message_id":"511c7e64585553876201fdf9942a5620aace304d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    def tearDown(self):"},{"line_number":47,"context_line":"        super().tearDown()"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def test_metadef_resource_type_list(self):"},{"line_number":50,"context_line":"        \"\"\"Test image metadef resource type list command\"\"\""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        output \u003d self.openstack("},{"line_number":53,"context_line":"            \u0027image metadef resource type list\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9bdac283_e8756d04","line":50,"range":{"start_line":49,"start_character":4,"end_line":50,"end_character":59},"in_reply_to":"65434503_e3f7193c","updated":"2025-09-10 11:35:36.000000000","message":"Thank you for your suggestions. I have applied the changes in Patch Set 4.","commit_id":"5bcb19dbaeed07e5e7e14e875a168bd97bd3546f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"42e1891048e1940589327ab43261148fccc69a0a","unresolved":true,"context_lines":[{"line_number":32,"context_line":"            \u0027image metadef namespace delete \u0027 + self.namespace_name,"},{"line_number":33,"context_line":"        )"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        # Create resource type association"},{"line_number":36,"context_line":"        self.openstack("},{"line_number":37,"context_line":"            \u0027image metadef resource type association create \u0027"},{"line_number":38,"context_line":"            f\u0027{self.namespace_name} image\u0027,"},{"line_number":39,"context_line":"        )"},{"line_number":40,"context_line":"        self.addCleanup("},{"line_number":41,"context_line":"            self.openstack,"},{"line_number":42,"context_line":"            \u0027image metadef resource type association delete \u0027"},{"line_number":43,"context_line":"            f\u0027{self.namespace_name} image\u0027,"},{"line_number":44,"context_line":"        )"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def tearDown(self):"},{"line_number":47,"context_line":"        super().tearDown()"}],"source_content_type":"text/x-python","patch_set":4,"id":"8946dd6c_e97db3a9","line":44,"range":{"start_line":35,"start_character":0,"end_line":44,"end_character":9},"updated":"2025-09-25 10:31:36.000000000","message":"I think this probably belongs in test itself? Also, shouldn\u0027t you be using `resource_type_name` here rather than hardcoding `image`?","commit_id":"8dbb2330948866e6688534b66c777c501d3fdeb5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"630977343645ca9e5cc8b660220fe4512bfdbf68","unresolved":false,"context_lines":[{"line_number":32,"context_line":"            \u0027image metadef namespace delete \u0027 + self.namespace_name,"},{"line_number":33,"context_line":"        )"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        # Create resource type association"},{"line_number":36,"context_line":"        self.openstack("},{"line_number":37,"context_line":"            \u0027image metadef resource type association create \u0027"},{"line_number":38,"context_line":"            f\u0027{self.namespace_name} image\u0027,"},{"line_number":39,"context_line":"        )"},{"line_number":40,"context_line":"        self.addCleanup("},{"line_number":41,"context_line":"            self.openstack,"},{"line_number":42,"context_line":"            \u0027image metadef resource type association delete \u0027"},{"line_number":43,"context_line":"            f\u0027{self.namespace_name} image\u0027,"},{"line_number":44,"context_line":"        )"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def tearDown(self):"},{"line_number":47,"context_line":"        super().tearDown()"}],"source_content_type":"text/x-python","patch_set":4,"id":"6ea13bb2_4f7c89f5","line":44,"range":{"start_line":35,"start_character":0,"end_line":44,"end_character":9},"in_reply_to":"8946dd6c_e97db3a9","updated":"2025-11-12 12:58:01.000000000","message":"Done","commit_id":"8dbb2330948866e6688534b66c777c501d3fdeb5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"42e1891048e1940589327ab43261148fccc69a0a","unresolved":true,"context_lines":[{"line_number":41,"context_line":"            self.openstack,"},{"line_number":42,"context_line":"            \u0027image metadef resource type association delete \u0027"},{"line_number":43,"context_line":"            f\u0027{self.namespace_name} image\u0027,"},{"line_number":44,"context_line":"        )"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def tearDown(self):"},{"line_number":47,"context_line":"        super().tearDown()"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def test_metadef_resource_type(self):"},{"line_number":50,"context_line":"        \"\"\"Test image metadef resource type commands\"\"\""},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"f2bf667f_97b5e5c7","line":48,"range":{"start_line":44,"start_character":9,"end_line":48,"end_character":1},"updated":"2025-09-25 10:31:36.000000000","message":"You can drop this since it\u0027s just calling `super()`.","commit_id":"8dbb2330948866e6688534b66c777c501d3fdeb5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"630977343645ca9e5cc8b660220fe4512bfdbf68","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            self.openstack,"},{"line_number":42,"context_line":"            \u0027image metadef resource type association delete \u0027"},{"line_number":43,"context_line":"            f\u0027{self.namespace_name} image\u0027,"},{"line_number":44,"context_line":"        )"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def tearDown(self):"},{"line_number":47,"context_line":"        super().tearDown()"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def test_metadef_resource_type(self):"},{"line_number":50,"context_line":"        \"\"\"Test image metadef resource type commands\"\"\""},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"608254ba_2bc8740b","line":48,"range":{"start_line":44,"start_character":9,"end_line":48,"end_character":1},"in_reply_to":"f2bf667f_97b5e5c7","updated":"2025-11-12 12:58:01.000000000","message":"Done","commit_id":"8dbb2330948866e6688534b66c777c501d3fdeb5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"42e1891048e1940589327ab43261148fccc69a0a","unresolved":true,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        for item in output:"},{"line_number":65,"context_line":"            self.assertIn(\u0027Name\u0027, item)"},{"line_number":66,"context_line":"            self.assertIsInstance(item[\u0027Name\u0027], str)"}],"source_content_type":"text/x-python","patch_set":4,"id":"05439bfd_9d2c13cc","line":66,"updated":"2025-09-25 10:31:36.000000000","message":"A lot of these checks are redundant. For example, `assertGreater` is checked after we\u0027ve iterated over the `output` list to retrieve names.\n\nI think we can rely on some resource types being present. I think you simplify this to simply check for resource type in the output.","commit_id":"8dbb2330948866e6688534b66c777c501d3fdeb5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"630977343645ca9e5cc8b660220fe4512bfdbf68","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        for item in output:"},{"line_number":65,"context_line":"            self.assertIn(\u0027Name\u0027, item)"},{"line_number":66,"context_line":"            self.assertIsInstance(item[\u0027Name\u0027], str)"}],"source_content_type":"text/x-python","patch_set":4,"id":"413f73cd_1424d821","line":66,"in_reply_to":"05439bfd_9d2c13cc","updated":"2025-11-12 12:58:01.000000000","message":"Done","commit_id":"8dbb2330948866e6688534b66c777c501d3fdeb5"}]}
