)]}'
{"keystoneclient/tests/functional/v3/test_endpoints.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"f6a74cb7647422b65e21b8de1713eea4aef03d31","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            # Only check remaining mandatory attributes"},{"line_number":41,"context_line":"            self.assertIsNotNone(endpoint.service_id)"},{"line_number":42,"context_line":"            self.assertIsNotNone(endpoint.url)"},{"line_number":43,"context_line":"            self.assertIsNotNone(endpoint.interface)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def test_create_endpoint(self):"},{"line_number":46,"context_line":"        service \u003d fixtures.Service(self.client)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_39be1d65","line":43,"range":{"start_line":43,"start_character":12,"end_line":43,"end_character":52},"updated":"2016-07-13 03:39:05.000000000","message":"self.assertIsNotNone(endpoint.enabled) since `enabled` is not a nullable endpoint attribute.\n\nsee: https://github.com/openstack/keystone/blob/master/keystone/catalog/backends/sql.py#L79","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"5f84a7a4201379839f65499f0a748fe0d5cd0dbc","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            # Only check remaining mandatory attributes"},{"line_number":41,"context_line":"            self.assertIsNotNone(endpoint.service_id)"},{"line_number":42,"context_line":"            self.assertIsNotNone(endpoint.url)"},{"line_number":43,"context_line":"            self.assertIsNotNone(endpoint.interface)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def test_create_endpoint(self):"},{"line_number":46,"context_line":"        service \u003d fixtures.Service(self.client)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_bbae2196","line":43,"range":{"start_line":43,"start_character":12,"end_line":43,"end_character":52},"in_reply_to":"1aa78d24_39be1d65","updated":"2016-07-14 15:31:39.000000000","message":"Thanks Dave. The specs[1] mention `interface` as required attribute and `enabled` as an optional attribute. So, I checked for interface.\nShould I add enabled attribute(considering the else comment)?\n\n[1] http://specs.openstack.org/openstack/keystone-specs/api/v3/identity-api-v3.html#endpoints-v3-endpoints","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"53c8547a75f6506ce421ef85bf54cfe760571264","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            # Only check remaining mandatory attributes"},{"line_number":41,"context_line":"            self.assertIsNotNone(endpoint.service_id)"},{"line_number":42,"context_line":"            self.assertIsNotNone(endpoint.url)"},{"line_number":43,"context_line":"            self.assertIsNotNone(endpoint.interface)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def test_create_endpoint(self):"},{"line_number":46,"context_line":"        service \u003d fixtures.Service(self.client)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fad55976_7b183685","line":43,"range":{"start_line":43,"start_character":12,"end_line":43,"end_character":52},"in_reply_to":"1aa78d24_bbae2196","updated":"2016-07-16 03:04:20.000000000","message":"@Nisha, `enabled` is optional in the request body but not optional in the response body. you are checking the response instead of request, this is why I ask for adding it here.","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"8f9525a29123443c7164cf831669832e154fb973","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            # Only check remaining mandatory attributes"},{"line_number":41,"context_line":"            self.assertIsNotNone(endpoint.service_id)"},{"line_number":42,"context_line":"            self.assertIsNotNone(endpoint.url)"},{"line_number":43,"context_line":"            self.assertIsNotNone(endpoint.interface)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def test_create_endpoint(self):"},{"line_number":46,"context_line":"        service \u003d fixtures.Service(self.client)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_c0904098","line":43,"range":{"start_line":43,"start_character":12,"end_line":43,"end_character":52},"in_reply_to":"fad55976_7b183685","updated":"2016-07-24 17:10:40.000000000","message":"Thanks for explaining. Done.","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"f6a74cb7647422b65e21b8de1713eea4aef03d31","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":60,"context_line":"        self.useFixture(service)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        region \u003d fixtures.Region(self.client)"},{"line_number":63,"context_line":"        self.useFixture(region)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        endpoint_one \u003d fixtures.Endpoint(self.client, service.id, \u0027public\u0027,"},{"line_number":66,"context_line":"                                         region\u003dregion.entity)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_df4ed936","line":63,"range":{"start_line":62,"start_character":0,"end_line":63,"end_character":31},"updated":"2016-07-13 03:39:05.000000000","message":"no need to create region since it nullable.","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"5f84a7a4201379839f65499f0a748fe0d5cd0dbc","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":60,"context_line":"        self.useFixture(service)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        region \u003d fixtures.Region(self.client)"},{"line_number":63,"context_line":"        self.useFixture(region)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        endpoint_one \u003d fixtures.Endpoint(self.client, service.id, \u0027public\u0027,"},{"line_number":66,"context_line":"                                         region\u003dregion.entity)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_504d5cc3","line":63,"range":{"start_line":62,"start_character":0,"end_line":63,"end_character":31},"in_reply_to":"1aa78d24_df4ed936","updated":"2016-07-14 15:31:39.000000000","message":"Will remove this.","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"f6a74cb7647422b65e21b8de1713eea4aef03d31","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        endpoint_three_ret \u003d self.client.endpoints.get(endpoint_three.id)"},{"line_number":84,"context_line":"        self.check_endpoint(endpoint_three_ret, endpoint_three.ref)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def test_list_endpoints(self):"},{"line_number":87,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":88,"context_line":"        self.useFixture(service)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_94ac38ee","line":85,"updated":"2016-07-13 03:39:05.000000000","message":"I don\u0027t think we we need create three endpoints with different interfaces, but I am fine with it.","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"53c8547a75f6506ce421ef85bf54cfe760571264","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        endpoint_three_ret \u003d self.client.endpoints.get(endpoint_three.id)"},{"line_number":84,"context_line":"        self.check_endpoint(endpoint_three_ret, endpoint_three.ref)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def test_list_endpoints(self):"},{"line_number":87,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":88,"context_line":"        self.useFixture(service)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fad55976_3ee86c10","line":85,"in_reply_to":"1aa78d24_308ff0cd","updated":"2016-07-16 03:04:20.000000000","message":"I was thinking remove them will give us concise test code. I am fine with it too.","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"5f84a7a4201379839f65499f0a748fe0d5cd0dbc","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        endpoint_three_ret \u003d self.client.endpoints.get(endpoint_three.id)"},{"line_number":84,"context_line":"        self.check_endpoint(endpoint_three_ret, endpoint_three.ref)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def test_list_endpoints(self):"},{"line_number":87,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":88,"context_line":"        self.useFixture(service)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_308ff0cd","line":85,"in_reply_to":"1aa78d24_94ac38ee","updated":"2016-07-14 15:31:39.000000000","message":"I also reconsidered it before submitting but I think this will be better for test coverage.","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"8f9525a29123443c7164cf831669832e154fb973","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        endpoint_three_ret \u003d self.client.endpoints.get(endpoint_three.id)"},{"line_number":84,"context_line":"        self.check_endpoint(endpoint_three_ret, endpoint_three.ref)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def test_list_endpoints(self):"},{"line_number":87,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":88,"context_line":"        self.useFixture(service)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_c0e7a03e","line":85,"in_reply_to":"fad55976_3ee86c10","updated":"2016-07-24 17:10:40.000000000","message":"I would like to hear others\u0027 view on this one. :)","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"f6a74cb7647422b65e21b8de1713eea4aef03d31","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":88,"context_line":"        self.useFixture(service)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        region \u003d fixtures.Region(self.client)"},{"line_number":91,"context_line":"        self.useFixture(region)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        endpoint_one \u003d fixtures.Endpoint(self.client, service.id, \u0027public\u0027,"},{"line_number":94,"context_line":"                                         region\u003dregion.id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_bf74ad67","line":91,"range":{"start_line":90,"start_character":8,"end_line":91,"end_character":31},"updated":"2016-07-13 03:39:05.000000000","message":"ditto.","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"5f84a7a4201379839f65499f0a748fe0d5cd0dbc","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":88,"context_line":"        self.useFixture(service)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        region \u003d fixtures.Region(self.client)"},{"line_number":91,"context_line":"        self.useFixture(region)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        endpoint_one \u003d fixtures.Endpoint(self.client, service.id, \u0027public\u0027,"},{"line_number":94,"context_line":"                                         region\u003dregion.id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_bb0c613c","line":91,"range":{"start_line":90,"start_character":8,"end_line":91,"end_character":31},"in_reply_to":"1aa78d24_bf74ad67","updated":"2016-07-14 15:31:39.000000000","message":"I think we should keep it here for test coverage because I removed them from the test_get_endpoint and it becomes clear they are optional.","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"f6a74cb7647422b65e21b8de1713eea4aef03d31","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        self.useFixture(endpoint)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        new_url \u003d \u0027http://\u0027 + uuid.uuid4().hex"},{"line_number":129,"context_line":"        new_interface \u003d \u0027public\u0027"},{"line_number":130,"context_line":"        new_enabled \u003d False"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        endpoint_ret \u003d self.client.endpoints.update(endpoint.id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_bffb0dc0","line":129,"range":{"start_line":129,"start_character":8,"end_line":129,"end_character":32},"updated":"2016-07-13 03:39:05.000000000","message":"hmm, the interface was `public`, you want to update it with `public`?","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"5f84a7a4201379839f65499f0a748fe0d5cd0dbc","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        self.useFixture(endpoint)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        new_url \u003d \u0027http://\u0027 + uuid.uuid4().hex"},{"line_number":129,"context_line":"        new_interface \u003d \u0027public\u0027"},{"line_number":130,"context_line":"        new_enabled \u003d False"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        endpoint_ret \u003d self.client.endpoints.update(endpoint.id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_3b47d14c","line":129,"range":{"start_line":129,"start_character":8,"end_line":129,"end_character":32},"in_reply_to":"1aa78d24_bffb0dc0","updated":"2016-07-14 15:31:39.000000000","message":"Sorry, my bad. Will change it.","commit_id":"a6d965577bceaa53a38d6a0cef935ff18c5ac605"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"9b2fa4757150aee06d6b81bd85d1230ec404cbb8","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            # Only check remaining mandatory attributes"},{"line_number":41,"context_line":"            self.assertIsNotNone(endpoint.service_id)"},{"line_number":42,"context_line":"            self.assertIsNotNone(endpoint.url)"},{"line_number":43,"context_line":"            self.assertIsNotNone(endpoint.interface)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def test_create_endpoint(self):"},{"line_number":46,"context_line":"        service \u003d fixtures.Service(self.client)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fad55976_f441d33a","line":43,"updated":"2016-07-16 03:19:04.000000000","message":"pls see my reply in the PS2, also love to see other opinions.","commit_id":"3b6203db6626c038eae59007547ce6befaa038ba"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"995b5d1468f604cb69ab036896f9683f1bffa168","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            # Only check remaining mandatory attributes"},{"line_number":41,"context_line":"            self.assertIsNotNone(endpoint.service_id)"},{"line_number":42,"context_line":"            self.assertIsNotNone(endpoint.url)"},{"line_number":43,"context_line":"            self.assertIsNotNone(endpoint.interface)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def test_create_endpoint(self):"},{"line_number":46,"context_line":"        service \u003d fixtures.Service(self.client)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_60d87480","line":43,"in_reply_to":"fad55976_f441d33a","updated":"2016-07-24 17:12:29.000000000","message":"Sure, thanks!","commit_id":"3b6203db6626c038eae59007547ce6befaa038ba"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"9b2fa4757150aee06d6b81bd85d1230ec404cbb8","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":60,"context_line":"        self.useFixture(service)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        endpoint_one \u003d fixtures.Endpoint(self.client, service.id, \u0027public\u0027)"},{"line_number":63,"context_line":"        self.useFixture(endpoint_one)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        endpoint_one_ret \u003d self.client.endpoints.get(endpoint_one.id)"},{"line_number":66,"context_line":"        self.check_endpoint(endpoint_one_ret, endpoint_one.ref)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        endpoint_two \u003d fixtures.Endpoint(self.client, service.id, \u0027admin\u0027)"},{"line_number":69,"context_line":"        self.useFixture(endpoint_two)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        endpoint_two_ret \u003d self.client.endpoints.get(endpoint_two.id)"},{"line_number":72,"context_line":"        self.check_endpoint(endpoint_two_ret, endpoint_two.ref)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        endpoint_three \u003d fixtures.Endpoint(self.client, service.id, \u0027internal\u0027)"},{"line_number":75,"context_line":"        self.useFixture(endpoint_three)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        endpoint_three_ret \u003d self.client.endpoints.get(endpoint_three.id)"},{"line_number":78,"context_line":"        self.check_endpoint(endpoint_three_ret, endpoint_three.ref)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def test_list_endpoints(self):"},{"line_number":81,"context_line":"        service \u003d fixtures.Service(self.client)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fad55976_11a8f91e","line":78,"range":{"start_line":62,"start_character":0,"end_line":78,"end_character":67},"updated":"2016-07-16 03:19:04.000000000","message":"I am okay to keep the validation of endpoint with different interface, but I\u0027d like to see the code here could be optimized a little bit, for example, use `for` statement to drop the redundant code.","commit_id":"3b6203db6626c038eae59007547ce6befaa038ba"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"995b5d1468f604cb69ab036896f9683f1bffa168","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":60,"context_line":"        self.useFixture(service)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        endpoint_one \u003d fixtures.Endpoint(self.client, service.id, \u0027public\u0027)"},{"line_number":63,"context_line":"        self.useFixture(endpoint_one)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        endpoint_one_ret \u003d self.client.endpoints.get(endpoint_one.id)"},{"line_number":66,"context_line":"        self.check_endpoint(endpoint_one_ret, endpoint_one.ref)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        endpoint_two \u003d fixtures.Endpoint(self.client, service.id, \u0027admin\u0027)"},{"line_number":69,"context_line":"        self.useFixture(endpoint_two)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        endpoint_two_ret \u003d self.client.endpoints.get(endpoint_two.id)"},{"line_number":72,"context_line":"        self.check_endpoint(endpoint_two_ret, endpoint_two.ref)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        endpoint_three \u003d fixtures.Endpoint(self.client, service.id, \u0027internal\u0027)"},{"line_number":75,"context_line":"        self.useFixture(endpoint_three)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        endpoint_three_ret \u003d self.client.endpoints.get(endpoint_three.id)"},{"line_number":78,"context_line":"        self.check_endpoint(endpoint_three_ret, endpoint_three.ref)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def test_list_endpoints(self):"},{"line_number":81,"context_line":"        service \u003d fixtures.Service(self.client)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_c00320b7","line":78,"range":{"start_line":62,"start_character":0,"end_line":78,"end_character":67},"in_reply_to":"fad55976_11a8f91e","updated":"2016-07-24 17:12:29.000000000","message":"Thanks a lot. I did reduce some redundancy, please le\u0027me know if there\u0027s need of more or any better way to do this.","commit_id":"3b6203db6626c038eae59007547ce6befaa038ba"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"970a456d242869fcc01202869521444d91c3f985","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":61,"context_line":"        self.useFixture(service)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        endpoint_one \u003d fixtures.Endpoint(self.client, service.id, \u0027public\u0027)"},{"line_number":64,"context_line":"        self.useFixture(endpoint_one)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        endpoint_two \u003d fixtures.Endpoint(self.client, service.id, \u0027admin\u0027)"},{"line_number":67,"context_line":"        self.useFixture(endpoint_two)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        endpoint_three \u003d fixtures.Endpoint(self.client, service.id, \u0027internal\u0027)"},{"line_number":70,"context_line":"        self.useFixture(endpoint_three)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        endpoints_list \u003d [endpoint_one, endpoint_two, endpoint_three]"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        # All endpoints are valid"},{"line_number":75,"context_line":"        for endpoint in endpoints_list:"},{"line_number":76,"context_line":"            endpoint_ret \u003d self.client.endpoints.get(endpoint.id)"},{"line_number":77,"context_line":"            self.check_endpoint(endpoint_ret, endpoint.ref)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_list_endpoints(self):"},{"line_number":80,"context_line":"        service \u003d fixtures.Service(self.client)"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_7d3c9abf","line":77,"range":{"start_line":63,"start_character":0,"end_line":77,"end_character":59},"updated":"2016-07-25 02:15:13.000000000","message":"Maybe simplified as this:\n\ninterfaces \u003d [\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027]\n    for interface in interfaces:\n        endpoint \u003d fixtures.Endpoint(self.client, service.id, interface)\n        self.useFixture(endpoint)\n        endpoint_ret \u003d self.client.endpoints.get(endpoint.id)\n        self.check_endpoint(endpoint_ret, endpoint.ref)","commit_id":"7ca4a2ecea0497a7348100bf3e6a781acfb870d4"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"8a4d24f72b72952d6d31ec8d69666f88b69bce6c","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":61,"context_line":"        self.useFixture(service)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        endpoint_one \u003d fixtures.Endpoint(self.client, service.id, \u0027public\u0027)"},{"line_number":64,"context_line":"        self.useFixture(endpoint_one)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        endpoint_two \u003d fixtures.Endpoint(self.client, service.id, \u0027admin\u0027)"},{"line_number":67,"context_line":"        self.useFixture(endpoint_two)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        endpoint_three \u003d fixtures.Endpoint(self.client, service.id, \u0027internal\u0027)"},{"line_number":70,"context_line":"        self.useFixture(endpoint_three)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        endpoints_list \u003d [endpoint_one, endpoint_two, endpoint_three]"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        # All endpoints are valid"},{"line_number":75,"context_line":"        for endpoint in endpoints_list:"},{"line_number":76,"context_line":"            endpoint_ret \u003d self.client.endpoints.get(endpoint.id)"},{"line_number":77,"context_line":"            self.check_endpoint(endpoint_ret, endpoint.ref)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_list_endpoints(self):"},{"line_number":80,"context_line":"        service \u003d fixtures.Service(self.client)"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_8e903250","line":77,"range":{"start_line":63,"start_character":0,"end_line":77,"end_character":59},"in_reply_to":"dada55a8_7d3c9abf","updated":"2016-07-25 06:30:58.000000000","message":"Thanks for helping.","commit_id":"7ca4a2ecea0497a7348100bf3e6a781acfb870d4"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"bbd70d27aa3a17bfb5e557a33e6f1f3091b98373","unresolved":false,"context_lines":[{"line_number":33,"context_line":"            # There is no guarantee below attributes are present in endpoint"},{"line_number":34,"context_line":"            if hasattr(endpoint_ref, \u0027region\u0027):"},{"line_number":35,"context_line":"                self.assertEqual(endpoint_ref[\u0027region\u0027], endpoint.region)"},{"line_number":36,"context_line":"            if hasattr(endpoint_ref, \u0027enabled\u0027):"},{"line_number":37,"context_line":"                self.assertEqual(endpoint_ref[\u0027enabled\u0027], endpoint.enabled)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        else:"},{"line_number":40,"context_line":"            # Only check remaining mandatory attributes"}],"source_content_type":"text/x-python","patch_set":7,"id":"bacf61ea_36040fbf","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":75},"updated":"2016-07-28 13:10:15.000000000","message":"isn\u0027t enabled always present?","commit_id":"8cee76f806ba52541a62fc35b9a1c99dd7b3c1af"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"de237166632e713c88865ac63707d817bf6f07a3","unresolved":false,"context_lines":[{"line_number":33,"context_line":"            # There is no guarantee below attributes are present in endpoint"},{"line_number":34,"context_line":"            if hasattr(endpoint_ref, \u0027region\u0027):"},{"line_number":35,"context_line":"                self.assertEqual(endpoint_ref[\u0027region\u0027], endpoint.region)"},{"line_number":36,"context_line":"            if hasattr(endpoint_ref, \u0027enabled\u0027):"},{"line_number":37,"context_line":"                self.assertEqual(endpoint_ref[\u0027enabled\u0027], endpoint.enabled)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        else:"},{"line_number":40,"context_line":"            # Only check remaining mandatory attributes"}],"source_content_type":"text/x-python","patch_set":7,"id":"bacf61ea_a2b6f987","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":75},"in_reply_to":"bacf61ea_36040fbf","updated":"2016-07-28 14:18:57.000000000","message":"Thanks, I will be careful next time.","commit_id":"8cee76f806ba52541a62fc35b9a1c99dd7b3c1af"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"bbd70d27aa3a17bfb5e557a33e6f1f3091b98373","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            self.assertIsNotNone(endpoint.enabled)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def test_create_endpoint(self):"},{"line_number":47,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":48,"context_line":"        self.useFixture(service)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        endpoint_ref \u003d {\u0027service\u0027: service.id,"},{"line_number":51,"context_line":"                        \u0027url\u0027: \u0027http://\u0027 + uuid.uuid4().hex,"}],"source_content_type":"text/x-python","patch_set":7,"id":"bacf61ea_96e21b02","line":48,"range":{"start_line":47,"start_character":8,"end_line":48,"end_character":32},"updated":"2016-07-28 13:10:15.000000000","message":"that\u0027s one of the reasons it\u0027s nice to have fixtures ... you don\u0027t care at all how it\u0027s created in this test, you just use it as you doing below!","commit_id":"8cee76f806ba52541a62fc35b9a1c99dd7b3c1af"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"de237166632e713c88865ac63707d817bf6f07a3","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            self.assertIsNotNone(endpoint.enabled)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def test_create_endpoint(self):"},{"line_number":47,"context_line":"        service \u003d fixtures.Service(self.client)"},{"line_number":48,"context_line":"        self.useFixture(service)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        endpoint_ref \u003d {\u0027service\u0027: service.id,"},{"line_number":51,"context_line":"                        \u0027url\u0027: \u0027http://\u0027 + uuid.uuid4().hex,"}],"source_content_type":"text/x-python","patch_set":7,"id":"bacf61ea_42361d04","line":48,"range":{"start_line":47,"start_character":8,"end_line":48,"end_character":32},"in_reply_to":"bacf61ea_96e21b02","updated":"2016-07-28 14:18:57.000000000","message":"Thank you. Glad you used them in test_users :)","commit_id":"8cee76f806ba52541a62fc35b9a1c99dd7b3c1af"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"bbd70d27aa3a17bfb5e557a33e6f1f3091b98373","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        new_region \u003d fixtures.Region(self.client)"},{"line_number":108,"context_line":"        self.useFixture(new_region)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        endpoint \u003d fixtures.Endpoint(self.client, service.id, \u0027public\u0027)"},{"line_number":111,"context_line":"        self.useFixture(endpoint)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        new_url \u003d \u0027http://\u0027 + uuid.uuid4().hex"},{"line_number":114,"context_line":"        new_interface \u003d \u0027internal\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"bacf61ea_16474bbc","line":111,"range":{"start_line":110,"start_character":0,"end_line":111,"end_character":33},"updated":"2016-07-28 13:10:15.000000000","message":"(nit) I\u0027d put this just below service, so you create the entities then you do the new_ things","commit_id":"8cee76f806ba52541a62fc35b9a1c99dd7b3c1af"},{"author":{"_account_id":18176,"name":"Nisha Yadav","email":"ynisha11@gmail.com","username":"ynisha11"},"change_message_id":"de237166632e713c88865ac63707d817bf6f07a3","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        new_region \u003d fixtures.Region(self.client)"},{"line_number":108,"context_line":"        self.useFixture(new_region)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        endpoint \u003d fixtures.Endpoint(self.client, service.id, \u0027public\u0027)"},{"line_number":111,"context_line":"        self.useFixture(endpoint)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        new_url \u003d \u0027http://\u0027 + uuid.uuid4().hex"},{"line_number":114,"context_line":"        new_interface \u003d \u0027internal\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"bacf61ea_f026f8b8","line":111,"range":{"start_line":110,"start_character":0,"end_line":111,"end_character":33},"in_reply_to":"bacf61ea_16474bbc","updated":"2016-07-28 14:18:57.000000000","message":"I think that won\u0027t work because fixtures are cleaned up in reverse order. Before deleting the endpoint, new_service and new_region should be deleted right?\n\nI remember putting endpoint below service for the same purpose you said, but the tests used to fail earlier.","commit_id":"8cee76f806ba52541a62fc35b9a1c99dd7b3c1af"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"4bdfd031fa2dae20578927b8a195e8b920dcadec","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        new_region \u003d fixtures.Region(self.client)"},{"line_number":108,"context_line":"        self.useFixture(new_region)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        endpoint \u003d fixtures.Endpoint(self.client, service.id, \u0027public\u0027)"},{"line_number":111,"context_line":"        self.useFixture(endpoint)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        new_url \u003d \u0027http://\u0027 + uuid.uuid4().hex"},{"line_number":114,"context_line":"        new_interface \u003d \u0027internal\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"bacf61ea_53226e02","line":111,"range":{"start_line":110,"start_character":0,"end_line":111,"end_character":33},"in_reply_to":"bacf61ea_f026f8b8","updated":"2016-07-28 14:40:29.000000000","message":"got it","commit_id":"8cee76f806ba52541a62fc35b9a1c99dd7b3c1af"}]}
