)]}'
{"keystoneclient/tests/functional/v3/test_regions.py":[{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"d5b5a201cdbc6635837d2db48c86b4ab7b132497","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        # All regions are valid"},{"line_number":67,"context_line":"        for region in regions:"},{"line_number":68,"context_line":"            self.check_region(region)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        self.assertIn(region_one.entity, regions)"},{"line_number":71,"context_line":"        self.assertIn(region_two.entity, regions)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_03847008","line":68,"range":{"start_line":68,"start_character":12,"end_line":68,"end_character":37},"updated":"2016-07-07 17:56:26.000000000","message":"Getting error here while running tests. Please have a look.","commit_id":"9d0422b910a87d38c32bf8f4fea04c1e81c2d934"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"88fbb87fe6900e30e1705afb3d5ad4c8dbba06ce","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            # Only check remaining mandatory attribute"},{"line_number":40,"context_line":"            self.assertIsNotNone(region.enabled)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_create_region(self):"},{"line_number":43,"context_line":"        region_ref \u003d {\u0027enabled\u0027: True,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_c4399643","line":40,"range":{"start_line":40,"start_character":33,"end_line":40,"end_character":47},"updated":"2016-07-08 16:38:36.000000000","message":"regions don\u0027t have an \u0027enabled\u0027 attribute","commit_id":"61d30824f60f1ccbd73a1a78493a121b1663fe4a"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"b735797b87d91b8a867d5afbf8c3905aa5a73bbe","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            # Only check remaining mandatory attribute"},{"line_number":40,"context_line":"            self.assertIsNotNone(region.enabled)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_create_region(self):"},{"line_number":43,"context_line":"        region_ref \u003d {\u0027enabled\u0027: True,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_7b4e7997","line":40,"range":{"start_line":40,"start_character":33,"end_line":40,"end_character":47},"in_reply_to":"1aa78d24_1002b43e","updated":"2016-07-08 18:16:37.000000000","message":"Thanks for the links Steve. I understand your point. I have a doubt regarding this. \n\nThe docs[1] we improved before writing these tests, have enabled\u003dTrue as parameter for the create function and list and update use it too. If it\u0027s not mandatory, then shouldn\u0027t the create function use enabled\u003dNone instead.\n\nAlso, I came across the same thing while writing functional tests for Policies[2] after improving corresponding docs[3], that time it was \u0027type\u0027 instead of \u0027enabled\u0027 attribute.\n\n[1] https://review.openstack.org/#/c/339158/\n[2] https://review.openstack.org/#/c/337836/2/keystoneclient/tests/functional/v3/test_policies.py\n[3] https://review.openstack.org/#/c/337829/4/keystoneclient/v3/policies.py","commit_id":"61d30824f60f1ccbd73a1a78493a121b1663fe4a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"05b33ec4b39358ba2d377b81fca0e5ed9c75da64","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            # Only check remaining mandatory attribute"},{"line_number":40,"context_line":"            self.assertIsNotNone(region.enabled)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_create_region(self):"},{"line_number":43,"context_line":"        region_ref \u003d {\u0027enabled\u0027: True,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_20ef9db1","line":40,"range":{"start_line":40,"start_character":33,"end_line":40,"end_character":47},"in_reply_to":"1aa78d24_7b4e7997","updated":"2016-07-08 19:39:19.000000000","message":"looks like the create() call in v3.regions.py has been wrong for about 2 years :)\n\nhttps://github.com/openstack/python-keystoneclient/commit/51ed045a284daa581bd364e2ecfc3f689e4582fb\n\nWe don\u0027t check for \"enabled\" in the region schema either: https://github.com/openstack/keystone/blob/master/keystone/catalog/schema.py#L17-L43\n\nAnd I can\u0027t see anywhere in the code where setting it to False will remove it from the catalog.\n\nSo... we should definitely not be checking for enabled here, and we probably want to deprecate sending the \"enabled\" argument in the create call of regions.py","commit_id":"61d30824f60f1ccbd73a1a78493a121b1663fe4a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"70d944530d4b2802715b1d0f85157aed51379625","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            # Only check remaining mandatory attribute"},{"line_number":40,"context_line":"            self.assertIsNotNone(region.enabled)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_create_region(self):"},{"line_number":43,"context_line":"        region_ref \u003d {\u0027enabled\u0027: True,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_1002b43e","line":40,"range":{"start_line":40,"start_character":33,"end_line":40,"end_character":47},"in_reply_to":"1aa78d24_95621615","updated":"2016-07-08 17:55:05.000000000","message":"which docs?\n\nthe spec [1] doesn\u0027t mention it and the code [2] doesn\u0027t support it: \n\n[1] http://specs.openstack.org/openstack/keystone-specs/api/v3/identity-api-v3.html#regions-v3-regions\n\n[2] https://github.com/openstack/keystone/blob/master/keystone/catalog/backends/sql.py#L33-L49","commit_id":"61d30824f60f1ccbd73a1a78493a121b1663fe4a"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"8800baac54f6bedd3b952bd7bee4faab7e702db5","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            # Only check remaining mandatory attribute"},{"line_number":40,"context_line":"            self.assertIsNotNone(region.enabled)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_create_region(self):"},{"line_number":43,"context_line":"        region_ref \u003d {\u0027enabled\u0027: True,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_95621615","line":40,"range":{"start_line":40,"start_character":33,"end_line":40,"end_character":47},"in_reply_to":"1aa78d24_c4399643","updated":"2016-07-08 17:44:51.000000000","message":"Steve but as per docs they do, though it\u0027s optional and by default is taken as True.\n\nAlso, the check_region only fails here for test_list_regions and passes for all other tests including test_get_region.","commit_id":"61d30824f60f1ccbd73a1a78493a121b1663fe4a"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"315e68e544ddc9c2171f5ea76153a3a9dbc43682","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        self.assertIn(\u0027/regions/\u0027 + region.id, region.links[\u0027self\u0027])"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        if region_ref:"},{"line_number":29,"context_line":"            self.assertEqual(region_ref[\u0027enabled\u0027], region.enabled)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"            # There is no guarantee the below attributes are present in region"},{"line_number":32,"context_line":"            if hasattr(region_ref, \u0027description\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_ad303057","line":29,"range":{"start_line":29,"start_character":12,"end_line":29,"end_character":67},"updated":"2016-07-12 13:08:50.000000000","message":"pls remove this as well, so we won\u0027t come back and fix it again.","commit_id":"bf480475d54d9048256f320001118fad30c3e077"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"83fd16848f55874b1995574835ca359f23709b85","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        self.assertIn(\u0027/regions/\u0027 + region.id, region.links[\u0027self\u0027])"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        if region_ref:"},{"line_number":29,"context_line":"            self.assertEqual(region_ref[\u0027enabled\u0027], region.enabled)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"            # There is no guarantee the below attributes are present in region"},{"line_number":32,"context_line":"            if hasattr(region_ref, \u0027description\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_9c3b969b","line":29,"range":{"start_line":29,"start_character":12,"end_line":29,"end_character":67},"in_reply_to":"1aa78d24_ad303057","updated":"2016-07-13 16:52:41.000000000","message":"Done","commit_id":"bf480475d54d9048256f320001118fad30c3e077"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"cd090607ddcf5b99a663aff60364bc656f83137d","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        self.assertIn(\u0027/regions/\u0027 + region.id, region.links[\u0027self\u0027])"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        if region_ref:"},{"line_number":29,"context_line":"            self.assertEqual(region_ref[\u0027enabled\u0027], region.enabled)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"            # There is no guarantee the below attributes are present in region"},{"line_number":32,"context_line":"            if hasattr(region_ref, \u0027description\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_5114c64b","line":29,"range":{"start_line":29,"start_character":12,"end_line":29,"end_character":67},"in_reply_to":"1aa78d24_ad303057","updated":"2016-07-12 13:21:34.000000000","message":"If it comes from extra attributes, need to use hasattr here. But I am not a fan of using it here, it just makes us confuse.","commit_id":"bf480475d54d9048256f320001118fad30c3e077"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"315e68e544ddc9c2171f5ea76153a3a9dbc43682","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                                 region.parent_region)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def test_create_region(self):"},{"line_number":39,"context_line":"        region_ref \u003d {\u0027enabled\u0027: True,"},{"line_number":40,"context_line":"                      \u0027description\u0027: uuid.uuid4().hex}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        region \u003d self.client.regions.create(**region_ref)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_715462fd","line":39,"range":{"start_line":39,"start_character":22,"end_line":39,"end_character":38},"updated":"2016-07-12 13:08:50.000000000","message":"I think you can also remove `enable` from here.","commit_id":"bf480475d54d9048256f320001118fad30c3e077"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"83fd16848f55874b1995574835ca359f23709b85","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                                 region.parent_region)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def test_create_region(self):"},{"line_number":39,"context_line":"        region_ref \u003d {\u0027enabled\u0027: True,"},{"line_number":40,"context_line":"                      \u0027description\u0027: uuid.uuid4().hex}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        region \u003d self.client.regions.create(**region_ref)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_5cb76e20","line":39,"range":{"start_line":39,"start_character":22,"end_line":39,"end_character":38},"in_reply_to":"1aa78d24_715462fd","updated":"2016-07-13 16:52:41.000000000","message":"Done","commit_id":"bf480475d54d9048256f320001118fad30c3e077"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"915c7eadfd261276d4bfccba0a1001949ad4acb6","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            self.assertEqual(region_ref[\u0027description\u0027], region.description)"},{"line_number":31,"context_line":"        if hasattr(region_ref, \u0027parent_region\u0027):"},{"line_number":32,"context_line":"            self.assertEqual(region_ref[\u0027parent_region\u0027],"},{"line_number":33,"context_line":"                            region.parent_region)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def test_create_region(self):"},{"line_number":36,"context_line":"        region_ref \u003d {\u0027description\u0027: uuid.uuid4().hex}"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aa78d24_175aca2a","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":49},"updated":"2016-07-14 02:24:38.000000000","message":"Ah, this failed flake8 check. E128 continuation line under-indented for visual indent","commit_id":"eeddee9dd171c0adcd18dcbbded2721d4a8294c3"}]}
