)]}'
{"releasenotes/notes/add-volume-group-types-tempest-tests-1298ab8cb4fe8b7b.yaml":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"6ed3323c815ef2f486a78309fc30c7447b04070e","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add list_group_type and show_group_type in the group_types client for"},{"line_number":5,"context_line":"    the volume service. Add tempest tests for create group type, delete"},{"line_number":6,"context_line":"    group type, show group type, and list group types volume APIs."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1f1a1f67_100ed03a","line":6,"updated":"2017-07-14 03:12:04.000000000","message":"Adding a reno for this patch is fine to me. But this sentence looks a bit verbose for me. This can be shorten like the commit message title.","commit_id":"dd0c03a42d27754f563bda2559e2cb5c2b667180"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e7d6cdad0c70fd3305e7700bea06c89b1c102dd7","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add list_group_type and show_group_type in the group_types client for"},{"line_number":5,"context_line":"    the volume service. Add tempest tests for create group type, delete"},{"line_number":6,"context_line":"    group type, show group type, and list group types volume APIs."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1f1a1f67_5760d1ce","line":6,"range":{"start_line":5,"start_character":24,"end_line":6,"end_character":66},"updated":"2017-07-13 16:10:09.000000000","message":"Not sure if this should be in the reno.","commit_id":"dd0c03a42d27754f563bda2559e2cb5c2b667180"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1fc26a613ea68d6cf1186661e0ccdcc88008eec2","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add list_group_type and show_group_type in the group_types client for"},{"line_number":5,"context_line":"    the volume service. Add tempest tests for create group type, delete"},{"line_number":6,"context_line":"    group type, show group type, and list group types volume APIs."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1f1a1f67_00641eb8","line":6,"in_reply_to":"1f1a1f67_100ed03a","updated":"2017-07-15 03:23:34.000000000","message":"Done","commit_id":"dd0c03a42d27754f563bda2559e2cb5c2b667180"}],"tempest/api/volume/admin/test_group_types.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"b5aca4f5c85a7ba388b91a39945baa3003fcc654","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class GroupTypesTest(base.BaseVolumeAdminTest):"},{"line_number":25,"context_line":"    _api_version \u003d 3"},{"line_number":26,"context_line":"    min_microversion \u003d \u00273.12\u0027"},{"line_number":27,"context_line":"    max_microversion \u003d \u0027latest\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @decorators.idempotent_id(\u0027c22f0891-65cd-4b4f-a34b-140ca97f82d1\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_8295f4e6","line":26,"updated":"2017-07-03 02:40:49.000000000","message":"How can we know this min_microversion? Do you have links or URLs for this?","commit_id":"b7a12056a237eac7cc5453723196422967380ea0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"930727b1e321a7211d14bad6dc453e87b388c8bc","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class GroupTypesTest(base.BaseVolumeAdminTest):"},{"line_number":25,"context_line":"    _api_version \u003d 3"},{"line_number":26,"context_line":"    min_microversion \u003d \u00273.12\u0027"},{"line_number":27,"context_line":"    max_microversion \u003d \u0027latest\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @decorators.idempotent_id(\u0027c22f0891-65cd-4b4f-a34b-140ca97f82d1\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_74b964ca","line":26,"in_reply_to":"3f1d235d_8295f4e6","updated":"2017-07-03 12:49:22.000000000","message":"Actually it should be 3.11.  Fixed it.  See the rest api version history in Cinder here:\n\nhttps://github.com/openstack/cinder/blob/master/cinder/api/openstack/rest_api_version_history.rst#311","commit_id":"b7a12056a237eac7cc5453723196422967380ea0"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"55797ebf08aeca2353c67020a84bdad199495815","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tempest.lib.common.utils import data_utils"},{"line_number":19,"context_line":"from tempest.lib import decorators"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"CONF \u003d config.CONF"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class GroupTypesTest(base.BaseVolumeAdminTest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f1d235d_21e89014","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":18},"updated":"2017-07-10 02:38:05.000000000","message":"this is not used in this file","commit_id":"25a8a71252acabaa4113e79d7e1c4fed0d057e74"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7bb9cc0ca1f6fa7be1df9bf6894b84a38cdc220e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tempest.lib.common.utils import data_utils"},{"line_number":19,"context_line":"from tempest.lib import decorators"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"CONF \u003d config.CONF"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class GroupTypesTest(base.BaseVolumeAdminTest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f1d235d_63978992","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":18},"in_reply_to":"3f1d235d_21e89014","updated":"2017-07-11 03:38:06.000000000","message":"Done","commit_id":"25a8a71252acabaa4113e79d7e1c4fed0d057e74"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"55797ebf08aeca2353c67020a84bdad199495815","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        self.assertIsInstance(body, list)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @decorators.idempotent_id(\u0027dd71e5f9-393e-4d4f-90e9-fa1b8d278864\u0027)"},{"line_number":37,"context_line":"    def test_group_type_create_get_delete(self):"},{"line_number":38,"context_line":"        # Create/get group type."},{"line_number":39,"context_line":"        name \u003d data_utils.rand_name(self.__class__.__name__ + \u0027-group-type\u0027)"},{"line_number":40,"context_line":"        description \u003d data_utils.rand_name(\"group-type-description\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f1d235d_41e26c31","line":37,"range":{"start_line":37,"start_character":35,"end_line":37,"end_character":41},"updated":"2017-07-10 02:38:05.000000000","message":"no delete actions in this testcase","commit_id":"25a8a71252acabaa4113e79d7e1c4fed0d057e74"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7bb9cc0ca1f6fa7be1df9bf6894b84a38cdc220e","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        self.assertIsInstance(body, list)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @decorators.idempotent_id(\u0027dd71e5f9-393e-4d4f-90e9-fa1b8d278864\u0027)"},{"line_number":37,"context_line":"    def test_group_type_create_get_delete(self):"},{"line_number":38,"context_line":"        # Create/get group type."},{"line_number":39,"context_line":"        name \u003d data_utils.rand_name(self.__class__.__name__ + \u0027-group-type\u0027)"},{"line_number":40,"context_line":"        description \u003d data_utils.rand_name(\"group-type-description\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f1d235d_2391919a","line":37,"range":{"start_line":37,"start_character":35,"end_line":37,"end_character":41},"in_reply_to":"3f1d235d_41e26c31","updated":"2017-07-11 03:38:06.000000000","message":"Done","commit_id":"25a8a71252acabaa4113e79d7e1c4fed0d057e74"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"55797ebf08aeca2353c67020a84bdad199495815","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                             \"Field group_type id is empty or not found.\")"},{"line_number":56,"context_line":"        fetched_group_type \u003d self.admin_group_types_client.show_group_type("},{"line_number":57,"context_line":"            body[\u0027id\u0027])[\u0027group_type\u0027]"},{"line_number":58,"context_line":"        self.assertEqual(name, fetched_group_type[\u0027name\u0027],"},{"line_number":59,"context_line":"                         \u0027The fetched group_type is different \u0027"},{"line_number":60,"context_line":"                         \u0027from the created group_type\u0027)"},{"line_number":61,"context_line":"        self.assertEqual(str(body[\u0027id\u0027]), fetched_group_type[\u0027id\u0027],"},{"line_number":62,"context_line":"                         \u0027The fetched group_type is different \u0027"},{"line_number":63,"context_line":"                         \u0027from the created group_type\u0027)"},{"line_number":64,"context_line":"        self.assertEqual(group_specs, fetched_group_type[\u0027group_specs\u0027],"},{"line_number":65,"context_line":"                         \u0027The fetched group_type is different \u0027"},{"line_number":66,"context_line":"                         \u0027from the created group_type\u0027)"},{"line_number":67,"context_line":"        self.assertEqual(description, fetched_group_type[\u0027description\u0027])"},{"line_number":68,"context_line":"        self.assertEqual(body[\u0027is_public\u0027],"},{"line_number":69,"context_line":"                         fetched_group_type[\u0027is_public\u0027])"},{"line_number":70,"context_line":"        self.assertEqual("},{"line_number":71,"context_line":"            body[\u0027is_public\u0027],"},{"line_number":72,"context_line":"            fetched_group_type[\u0027is_public\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f1d235d_816f6491","line":72,"range":{"start_line":58,"start_character":0,"end_line":72,"end_character":44},"updated":"2017-07-10 02:38:05.000000000","message":"how about:\n        for key in [\u0027name\u0027, \u0027description\u0027, \u0027group_specs\u0027, \u0027is_public\u0027]:\n            self.assertEqual(params[key], fetched_group_type[key],\n                             \u0027%s of the fetched group_type is different \u0027\n                             \u0027from the created group_type\u0027 % key)","commit_id":"25a8a71252acabaa4113e79d7e1c4fed0d057e74"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7bb9cc0ca1f6fa7be1df9bf6894b84a38cdc220e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                             \"Field group_type id is empty or not found.\")"},{"line_number":56,"context_line":"        fetched_group_type \u003d self.admin_group_types_client.show_group_type("},{"line_number":57,"context_line":"            body[\u0027id\u0027])[\u0027group_type\u0027]"},{"line_number":58,"context_line":"        self.assertEqual(name, fetched_group_type[\u0027name\u0027],"},{"line_number":59,"context_line":"                         \u0027The fetched group_type is different \u0027"},{"line_number":60,"context_line":"                         \u0027from the created group_type\u0027)"},{"line_number":61,"context_line":"        self.assertEqual(str(body[\u0027id\u0027]), fetched_group_type[\u0027id\u0027],"},{"line_number":62,"context_line":"                         \u0027The fetched group_type is different \u0027"},{"line_number":63,"context_line":"                         \u0027from the created group_type\u0027)"},{"line_number":64,"context_line":"        self.assertEqual(group_specs, fetched_group_type[\u0027group_specs\u0027],"},{"line_number":65,"context_line":"                         \u0027The fetched group_type is different \u0027"},{"line_number":66,"context_line":"                         \u0027from the created group_type\u0027)"},{"line_number":67,"context_line":"        self.assertEqual(description, fetched_group_type[\u0027description\u0027])"},{"line_number":68,"context_line":"        self.assertEqual(body[\u0027is_public\u0027],"},{"line_number":69,"context_line":"                         fetched_group_type[\u0027is_public\u0027])"},{"line_number":70,"context_line":"        self.assertEqual("},{"line_number":71,"context_line":"            body[\u0027is_public\u0027],"},{"line_number":72,"context_line":"            fetched_group_type[\u0027is_public\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f1d235d_436ecd96","line":72,"range":{"start_line":58,"start_character":0,"end_line":72,"end_character":44},"in_reply_to":"3f1d235d_816f6491","updated":"2017-07-11 03:38:06.000000000","message":"Done","commit_id":"25a8a71252acabaa4113e79d7e1c4fed0d057e74"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"7af4fab3484f1ae18a538ad290495c7885fd093e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    def test_group_type_list(self):"},{"line_number":28,"context_line":"        # List group types."},{"line_number":29,"context_line":"        body \u003d ("},{"line_number":30,"context_line":"            self.admin_group_types_client.list_group_types()[\u0027group_types\u0027])"},{"line_number":31,"context_line":"        self.assertIsInstance(body, list)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    @decorators.idempotent_id(\u0027dd71e5f9-393e-4d4f-90e9-fa1b8d278864\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f1d235d_72760a09","line":30,"range":{"start_line":30,"start_character":42,"end_line":30,"end_character":58},"updated":"2017-07-12 01:39:01.000000000","message":"how about move this to before Line#53, so we can judge self.assertNotEmpty(body)","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e9eb4f3bafa90a9bf62f853d7498e74cb0862f97","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    def test_group_type_list(self):"},{"line_number":28,"context_line":"        # List group types."},{"line_number":29,"context_line":"        body \u003d ("},{"line_number":30,"context_line":"            self.admin_group_types_client.list_group_types()[\u0027group_types\u0027])"},{"line_number":31,"context_line":"        self.assertIsInstance(body, list)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    @decorators.idempotent_id(\u0027dd71e5f9-393e-4d4f-90e9-fa1b8d278864\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_a0a25c99","line":30,"range":{"start_line":30,"start_character":42,"end_line":30,"end_character":58},"in_reply_to":"3f1d235d_72760a09","updated":"2017-07-13 02:52:09.000000000","message":"Done","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"4e1b95daa7596ff4c89945026a7a4960d699b35d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        self.assertIsInstance(body, list)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    @decorators.idempotent_id(\u0027dd71e5f9-393e-4d4f-90e9-fa1b8d278864\u0027)"},{"line_number":34,"context_line":"    def test_group_type_create_get(self):"},{"line_number":35,"context_line":"        # Create/get group type."},{"line_number":36,"context_line":"        name \u003d data_utils.rand_name(self.__class__.__name__ + \u0027-group-type\u0027)"},{"line_number":37,"context_line":"        description \u003d data_utils.rand_name(\"group-type-description\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f1d235d_38d3d33a","line":34,"range":{"start_line":34,"start_character":31,"end_line":34,"end_character":34},"updated":"2017-07-12 03:08:05.000000000","message":"nit: show\n\nTo be consistent with show_group_type.","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e9eb4f3bafa90a9bf62f853d7498e74cb0862f97","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        self.assertIsInstance(body, list)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    @decorators.idempotent_id(\u0027dd71e5f9-393e-4d4f-90e9-fa1b8d278864\u0027)"},{"line_number":34,"context_line":"    def test_group_type_create_get(self):"},{"line_number":35,"context_line":"        # Create/get group type."},{"line_number":36,"context_line":"        name \u003d data_utils.rand_name(self.__class__.__name__ + \u0027-group-type\u0027)"},{"line_number":37,"context_line":"        description \u003d data_utils.rand_name(\"group-type-description\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_a0cb7c51","line":34,"range":{"start_line":34,"start_character":31,"end_line":34,"end_character":34},"in_reply_to":"3f1d235d_38d3d33a","updated":"2017-07-13 02:52:09.000000000","message":"Done","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"7af4fab3484f1ae18a538ad290495c7885fd093e","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                         \"The created group_type name is not equal \""},{"line_number":47,"context_line":"                         \"to the requested name\")"},{"line_number":48,"context_line":"        self.assertEqual(description, body[\u0027description\u0027],"},{"line_number":49,"context_line":"                         \"The created group_type_description name is \""},{"line_number":50,"context_line":"                         \"not equal to the requested name\")"},{"line_number":51,"context_line":"        self.assertIsNotNone(body[\u0027id\u0027],"},{"line_number":52,"context_line":"                             \"Field group_type id is empty or not found.\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f1d235d_92508660","line":49,"range":{"start_line":49,"start_character":38,"end_line":49,"end_character":65},"updated":"2017-07-12 01:39:01.000000000","message":"group_type description","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e9eb4f3bafa90a9bf62f853d7498e74cb0862f97","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                         \"The created group_type name is not equal \""},{"line_number":47,"context_line":"                         \"to the requested name\")"},{"line_number":48,"context_line":"        self.assertEqual(description, body[\u0027description\u0027],"},{"line_number":49,"context_line":"                         \"The created group_type_description name is \""},{"line_number":50,"context_line":"                         \"not equal to the requested name\")"},{"line_number":51,"context_line":"        self.assertIsNotNone(body[\u0027id\u0027],"},{"line_number":52,"context_line":"                             \"Field group_type id is empty or not found.\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_00e230d6","line":49,"range":{"start_line":49,"start_character":38,"end_line":49,"end_character":65},"in_reply_to":"3f1d235d_92508660","updated":"2017-07-13 02:52:09.000000000","message":"Done","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"7af4fab3484f1ae18a538ad290495c7885fd093e","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                         \"to the requested name\")"},{"line_number":48,"context_line":"        self.assertEqual(description, body[\u0027description\u0027],"},{"line_number":49,"context_line":"                         \"The created group_type_description name is \""},{"line_number":50,"context_line":"                         \"not equal to the requested name\")"},{"line_number":51,"context_line":"        self.assertIsNotNone(body[\u0027id\u0027],"},{"line_number":52,"context_line":"                             \"Field group_type id is empty or not found.\")"},{"line_number":53,"context_line":"        fetched_group_type \u003d self.admin_group_types_client.show_group_type("}],"source_content_type":"text/x-python","patch_set":6,"id":"3f1d235d_524aeeab","line":50,"range":{"start_line":50,"start_character":53,"end_line":50,"end_character":57},"updated":"2017-07-12 01:39:01.000000000","message":"description","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e9eb4f3bafa90a9bf62f853d7498e74cb0862f97","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                         \"to the requested name\")"},{"line_number":48,"context_line":"        self.assertEqual(description, body[\u0027description\u0027],"},{"line_number":49,"context_line":"                         \"The created group_type_description name is \""},{"line_number":50,"context_line":"                         \"not equal to the requested name\")"},{"line_number":51,"context_line":"        self.assertIsNotNone(body[\u0027id\u0027],"},{"line_number":52,"context_line":"                             \"Field group_type id is empty or not found.\")"},{"line_number":53,"context_line":"        fetched_group_type \u003d self.admin_group_types_client.show_group_type("}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_e0e614e9","line":50,"range":{"start_line":50,"start_character":53,"end_line":50,"end_character":57},"in_reply_to":"3f1d235d_524aeeab","updated":"2017-07-13 02:52:09.000000000","message":"Done","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"7af4fab3484f1ae18a538ad290495c7885fd093e","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        self.assertEqual(description, body[\u0027description\u0027],"},{"line_number":49,"context_line":"                         \"The created group_type_description name is \""},{"line_number":50,"context_line":"                         \"not equal to the requested name\")"},{"line_number":51,"context_line":"        self.assertIsNotNone(body[\u0027id\u0027],"},{"line_number":52,"context_line":"                             \"Field group_type id is empty or not found.\")"},{"line_number":53,"context_line":"        fetched_group_type \u003d self.admin_group_types_client.show_group_type("},{"line_number":54,"context_line":"            body[\u0027id\u0027])[\u0027group_type\u0027]"},{"line_number":55,"context_line":"        for key in [\u0027name\u0027, \u0027description\u0027, \u0027group_specs\u0027, \u0027is_public\u0027]:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f1d235d_322bf2eb","line":52,"range":{"start_line":51,"start_character":0,"end_line":52,"end_character":72},"updated":"2017-07-12 01:39:01.000000000","message":"body[\u0027id\u0027] is already used inside create_group_type, so this is not needed","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e9eb4f3bafa90a9bf62f853d7498e74cb0862f97","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        self.assertEqual(description, body[\u0027description\u0027],"},{"line_number":49,"context_line":"                         \"The created group_type_description name is \""},{"line_number":50,"context_line":"                         \"not equal to the requested name\")"},{"line_number":51,"context_line":"        self.assertIsNotNone(body[\u0027id\u0027],"},{"line_number":52,"context_line":"                             \"Field group_type id is empty or not found.\")"},{"line_number":53,"context_line":"        fetched_group_type \u003d self.admin_group_types_client.show_group_type("},{"line_number":54,"context_line":"            body[\u0027id\u0027])[\u0027group_type\u0027]"},{"line_number":55,"context_line":"        for key in [\u0027name\u0027, \u0027description\u0027, \u0027group_specs\u0027, \u0027is_public\u0027]:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_a0d01cf9","line":52,"range":{"start_line":51,"start_character":0,"end_line":52,"end_character":72},"in_reply_to":"3f1d235d_322bf2eb","updated":"2017-07-13 02:52:09.000000000","message":"Done","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"4e1b95daa7596ff4c89945026a7a4960d699b35d","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                             \"Field group_type id is empty or not found.\")"},{"line_number":53,"context_line":"        fetched_group_type \u003d self.admin_group_types_client.show_group_type("},{"line_number":54,"context_line":"            body[\u0027id\u0027])[\u0027group_type\u0027]"},{"line_number":55,"context_line":"        for key in [\u0027name\u0027, \u0027description\u0027, \u0027group_specs\u0027, \u0027is_public\u0027]:"},{"line_number":56,"context_line":"            self.assertEqual(params[key], fetched_group_type[key],"},{"line_number":57,"context_line":"                             \u0027%s of the fetched group_type is different \u0027"},{"line_number":58,"context_line":"                             \u0027from the created group_type\u0027 % key)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f1d235d_58fd6faf","line":55,"range":{"start_line":55,"start_character":8,"end_line":55,"end_character":71},"updated":"2017-07-12 03:08:05.000000000","message":"You could do instead:\n\n    for key in params.keys():\n        ...","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e9eb4f3bafa90a9bf62f853d7498e74cb0862f97","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                             \"Field group_type id is empty or not found.\")"},{"line_number":53,"context_line":"        fetched_group_type \u003d self.admin_group_types_client.show_group_type("},{"line_number":54,"context_line":"            body[\u0027id\u0027])[\u0027group_type\u0027]"},{"line_number":55,"context_line":"        for key in [\u0027name\u0027, \u0027description\u0027, \u0027group_specs\u0027, \u0027is_public\u0027]:"},{"line_number":56,"context_line":"            self.assertEqual(params[key], fetched_group_type[key],"},{"line_number":57,"context_line":"                             \u0027%s of the fetched group_type is different \u0027"},{"line_number":58,"context_line":"                             \u0027from the created group_type\u0027 % key)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_40f02891","line":55,"range":{"start_line":55,"start_character":8,"end_line":55,"end_character":71},"in_reply_to":"3f1d235d_58fd6faf","updated":"2017-07-13 02:52:09.000000000","message":"Done","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e7d6cdad0c70fd3305e7700bea06c89b1c102dd7","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        body \u003d self.create_group_type(**params)"},{"line_number":37,"context_line":"        self.assertIn(\u0027name\u0027, body)"},{"line_number":38,"context_line":"        self.assertEqual(name, body[\u0027name\u0027],"},{"line_number":39,"context_line":"                         \"The created group_type name is not equal \""},{"line_number":40,"context_line":"                         \"to the requested name\")"},{"line_number":41,"context_line":"        self.assertEqual(description, body[\u0027description\u0027],"},{"line_number":42,"context_line":"                         \"The created group_type description name is \""},{"line_number":43,"context_line":"                         \"not equal to the requested description\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"1f1a1f67_5719f176","line":40,"range":{"start_line":39,"start_character":25,"end_line":40,"end_character":48},"updated":"2017-07-13 16:10:09.000000000","message":"You could create a variable for this. Like: \n\n    error_msg \u003d \"The created group_type {} is not equal to the requested {}\"\n    self.assertEqual(..., ..., error_msg.format(\u0027name\u0027)\n    self.assertEqual(..., ..., error_msg.format(\u0027description\u0027)","commit_id":"dd0c03a42d27754f563bda2559e2cb5c2b667180"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1fc26a613ea68d6cf1186661e0ccdcc88008eec2","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        body \u003d self.create_group_type(**params)"},{"line_number":37,"context_line":"        self.assertIn(\u0027name\u0027, body)"},{"line_number":38,"context_line":"        self.assertEqual(name, body[\u0027name\u0027],"},{"line_number":39,"context_line":"                         \"The created group_type name is not equal \""},{"line_number":40,"context_line":"                         \"to the requested name\")"},{"line_number":41,"context_line":"        self.assertEqual(description, body[\u0027description\u0027],"},{"line_number":42,"context_line":"                         \"The created group_type description name is \""},{"line_number":43,"context_line":"                         \"not equal to the requested description\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"1f1a1f67_0032dea7","line":40,"range":{"start_line":39,"start_character":25,"end_line":40,"end_character":48},"in_reply_to":"1f1a1f67_5719f176","updated":"2017-07-15 03:23:34.000000000","message":"Done","commit_id":"dd0c03a42d27754f563bda2559e2cb5c2b667180"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e7d6cdad0c70fd3305e7700bea06c89b1c102dd7","unresolved":false,"context_lines":[{"line_number":39,"context_line":"                         \"The created group_type name is not equal \""},{"line_number":40,"context_line":"                         \"to the requested name\")"},{"line_number":41,"context_line":"        self.assertEqual(description, body[\u0027description\u0027],"},{"line_number":42,"context_line":"                         \"The created group_type description name is \""},{"line_number":43,"context_line":"                         \"not equal to the requested description\")"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        group_list \u003d ("}],"source_content_type":"text/x-python","patch_set":8,"id":"1f1a1f67_3c1ada7c","line":42,"range":{"start_line":42,"start_character":61,"end_line":42,"end_character":65},"updated":"2017-07-13 16:10:09.000000000","message":"Remove this.","commit_id":"dd0c03a42d27754f563bda2559e2cb5c2b667180"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1fc26a613ea68d6cf1186661e0ccdcc88008eec2","unresolved":false,"context_lines":[{"line_number":39,"context_line":"                         \"The created group_type name is not equal \""},{"line_number":40,"context_line":"                         \"to the requested name\")"},{"line_number":41,"context_line":"        self.assertEqual(description, body[\u0027description\u0027],"},{"line_number":42,"context_line":"                         \"The created group_type description name is \""},{"line_number":43,"context_line":"                         \"not equal to the requested description\")"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        group_list \u003d ("}],"source_content_type":"text/x-python","patch_set":8,"id":"1f1a1f67_c02bc62d","line":42,"range":{"start_line":42,"start_character":61,"end_line":42,"end_character":65},"in_reply_to":"1f1a1f67_3c1ada7c","updated":"2017-07-15 03:23:34.000000000","message":"Done","commit_id":"dd0c03a42d27754f563bda2559e2cb5c2b667180"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e7d6cdad0c70fd3305e7700bea06c89b1c102dd7","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            body[\u0027id\u0027])[\u0027group_type\u0027]"},{"line_number":52,"context_line":"        for key in params.keys():"},{"line_number":53,"context_line":"            self.assertEqual(params[key], fetched_group_type[key],"},{"line_number":54,"context_line":"                             \u0027%s of the fetched group_type is different \u0027"},{"line_number":55,"context_line":"                             \u0027from the created group_type\u0027 % key)"}],"source_content_type":"text/x-python","patch_set":8,"id":"1f1a1f67_d774e19b","line":55,"range":{"start_line":54,"start_character":29,"end_line":55,"end_character":64},"updated":"2017-07-13 16:10:09.000000000","message":"You could then do:\n\n    self.assertEqual(..., ..., error_msg.format(key))","commit_id":"dd0c03a42d27754f563bda2559e2cb5c2b667180"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1fc26a613ea68d6cf1186661e0ccdcc88008eec2","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            body[\u0027id\u0027])[\u0027group_type\u0027]"},{"line_number":52,"context_line":"        for key in params.keys():"},{"line_number":53,"context_line":"            self.assertEqual(params[key], fetched_group_type[key],"},{"line_number":54,"context_line":"                             \u0027%s of the fetched group_type is different \u0027"},{"line_number":55,"context_line":"                             \u0027from the created group_type\u0027 % key)"}],"source_content_type":"text/x-python","patch_set":8,"id":"1f1a1f67_4017b6ee","line":55,"range":{"start_line":54,"start_character":29,"end_line":55,"end_character":64},"in_reply_to":"1f1a1f67_d774e19b","updated":"2017-07-15 03:23:34.000000000","message":"I\u0027ll keep this as this message is slightly different from the above two.","commit_id":"dd0c03a42d27754f563bda2559e2cb5c2b667180"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"18a16ffa937cbdf2f6968fef8c0de2c0fa5425b0","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    @decorators.idempotent_id(\u0027dd71e5f9-393e-4d4f-90e9-fa1b8d278864\u0027)"},{"line_number":27,"context_line":"    def test_group_type_create_list_show(self):"},{"line_number":28,"context_line":"        # Create/list/show group type."},{"line_number":29,"context_line":"        name \u003d data_utils.rand_name(self.__class__.__name__ + \u0027-group-type\u0027)"},{"line_number":30,"context_line":"        description \u003d data_utils.rand_name(\"group-type-description\")"},{"line_number":31,"context_line":"        group_specs \u003d {\"consistent_group_snapshot_enabled\": \"\u003cis\u003e False\"}"},{"line_number":32,"context_line":"        params \u003d {\u0027name\u0027: name,"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff346bd7_626d4d03","line":29,"range":{"start_line":29,"start_character":63,"end_line":29,"end_character":74},"updated":"2017-07-25 15:04:21.000000000","message":"NIT: this is in the class name already..","commit_id":"6891411395a581ec42f8d28f42842e35cc15ddb4"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"18a16ffa937cbdf2f6968fef8c0de2c0fa5425b0","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        self.assertIn(\u0027name\u0027, body)"},{"line_number":38,"context_line":"        err_msg \u003d (\"The created group_type %(var)s is not equal to the \""},{"line_number":39,"context_line":"                   \"requested %(var)s\")"},{"line_number":40,"context_line":"        self.assertEqual(name, body[\u0027name\u0027], err_msg % {\"var\": \"name\"})"},{"line_number":41,"context_line":"        self.assertEqual(description, body[\u0027description\u0027],"},{"line_number":42,"context_line":"                         err_msg % {\"var\": \"description\"})"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        group_list \u003d ("},{"line_number":45,"context_line":"            self.admin_group_types_client.list_group_types()[\u0027group_types\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff346bd7_55cc45bb","line":42,"range":{"start_line":40,"start_character":0,"end_line":42,"end_character":58},"updated":"2017-07-25 15:04:21.000000000","message":"According to the API spec, the return values on create include all params.\nWhy are you only checking name and description on create and everything on show?","commit_id":"6891411395a581ec42f8d28f42842e35cc15ddb4"}],"tempest/lib/services/volume/v3/group_types_client.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"4e1b95daa7596ff4c89945026a7a4960d699b35d","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    def show_group_type(self, group_type_id):"},{"line_number":68,"context_line":"        \"\"\"Returns the details of a single group_type."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        For a full list of available parameters, please refer to the official"},{"line_number":71,"context_line":"        API reference:"},{"line_number":72,"context_line":"        https://developer.openstack.org/api-ref/block-storage/v3/#show-group-type-details"},{"line_number":73,"context_line":"        \"\"\""},{"line_number":74,"context_line":"        url \u003d \"group_types/%s\" % group_type_id"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f1d235d_38bcf3da","line":71,"range":{"start_line":70,"start_character":8,"end_line":71,"end_character":22},"updated":"2017-07-12 03:08:05.000000000","message":"This function doesn\u0027t take **params or **kwargs, so the wording below is better:\n\n\"For more information, please refer to the official API reference:\"","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e9eb4f3bafa90a9bf62f853d7498e74cb0862f97","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    def show_group_type(self, group_type_id):"},{"line_number":68,"context_line":"        \"\"\"Returns the details of a single group_type."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        For a full list of available parameters, please refer to the official"},{"line_number":71,"context_line":"        API reference:"},{"line_number":72,"context_line":"        https://developer.openstack.org/api-ref/block-storage/v3/#show-group-type-details"},{"line_number":73,"context_line":"        \"\"\""},{"line_number":74,"context_line":"        url \u003d \"group_types/%s\" % group_type_id"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_001910d6","line":71,"range":{"start_line":70,"start_character":8,"end_line":71,"end_character":22},"in_reply_to":"3f1d235d_38bcf3da","updated":"2017-07-13 02:52:09.000000000","message":"Done","commit_id":"2904392ac962011273129285413c575620939dbb"}],"tempest/tests/lib/services/volume/v3/test_group_types_client.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"4e1b95daa7596ff4c89945026a7a4960d699b35d","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":97,"context_line":"            self.FAKE_LIST_GROUP_TYPES,"},{"line_number":98,"context_line":"            bytes_body,"},{"line_number":99,"context_line":"            detail\u003dTrue)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def test_create_group_type_with_str_body(self):"},{"line_number":102,"context_line":"        self._test_create_group_type()"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f1d235d_98cae76b","line":99,"range":{"start_line":99,"start_character":12,"end_line":99,"end_character":23},"updated":"2017-07-12 03:08:05.000000000","message":"According to the docs, this isn\u0027t a valid kwarg: https://developer.openstack.org/api-ref/block-storage/v3/index.html?expanded\u003dlist-group-types-detail#list-group-types","commit_id":"2904392ac962011273129285413c575620939dbb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e9eb4f3bafa90a9bf62f853d7498e74cb0862f97","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":97,"context_line":"            self.FAKE_LIST_GROUP_TYPES,"},{"line_number":98,"context_line":"            bytes_body,"},{"line_number":99,"context_line":"            detail\u003dTrue)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def test_create_group_type_with_str_body(self):"},{"line_number":102,"context_line":"        self._test_create_group_type()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_c08798d7","line":99,"range":{"start_line":99,"start_character":12,"end_line":99,"end_character":23},"in_reply_to":"3f1d235d_98cae76b","updated":"2017-07-13 02:52:09.000000000","message":"Good catch!  Copy and paste error.","commit_id":"2904392ac962011273129285413c575620939dbb"}]}
