)]}'
{"openstack_dashboard/api/keystone.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"bf912a3ee4f934ed9b626010124fcfef1a723e66","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        super(Service, self).__init__(service, *args, **kwargs)"},{"line_number":78,"context_line":"        self.public_url \u003d base.get_url_for_service(service, region,"},{"line_number":79,"context_line":"                                                   \u0027publicURL\u0027)"},{"line_number":80,"context_line":"        self.url \u003d base.get_url_for_service(service, region, \u0027settings.OPENSTACK_ENDPOINT_TYPE\u0027)"},{"line_number":81,"context_line":"        if self.url:"},{"line_number":82,"context_line":"            self.host \u003d parse.urlparse(self.url).hostname"},{"line_number":83,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_2b453c18","line":80,"updated":"2020-05-26 14:16:54.000000000","message":"pep8: E501 line too long (96 \u003e 80 characters)","commit_id":"a982cad4c075bb58fc0bf343d53adc20c1246858"}],"openstack_dashboard/test/unit/api/test_keystone.py":[{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"40e4d1e4cd2ded86585806b6a3cd2034cbf0582f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                         service.url)"},{"line_number":84,"context_line":"        self.assertEqual(\"http://public.keystone.example.com/identity/v3\","},{"line_number":85,"context_line":"                         service.public_url)"},{"line_number":86,"context_line":"        self.assertEqual(\"public.keystone.example.com\", service.host)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def test_service_wrapper_service_in_region(self):"},{"line_number":89,"context_line":"        catalog \u003d self.service_catalog"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_296ea495","line":86,"updated":"2020-05-29 11:04:21.000000000","message":"I wonder if it would make sense to set OPENSTACK_ENDPOINT_TYPE to internal in one of those tests, so that we also test that the setting is being respected.","commit_id":"8355f02411273b260d95bd7771914c942122617e"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"3afff99bc39245f63aff4c80d690ccef91b6257a","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        service \u003d api.keystone.Service(identity_data, \"RegionOne\")"},{"line_number":81,"context_line":"        self.assertEqual(u\"identity (native backend)\", str(service))"},{"line_number":82,"context_line":"        self.assertEqual(\"RegionOne\", service.region)"},{"line_number":83,"context_line":"        if settings.OPENSTACK_ENDPOINT_TYPE \u003d\u003d \u0027internalURL\u0027:"},{"line_number":84,"context_line":"            self.assertEqual("},{"line_number":85,"context_line":"                \"http://int.keystone.example.com/identity/v3\","},{"line_number":86,"context_line":"                service.url)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff570b3c_7b220d54","line":83,"updated":"2020-06-01 10:29:39.000000000","message":"The conditional test is discouraged.\nConsider adding a new test with OPENSTACK_ENDPOINT_TYPE \u003d\u003d \u0027internalURL\u0027. Otherwise, either of them is not tested depending on the setting.","commit_id":"2ac8d8e9e918d94c63b6c851dc3396b28f2f65db"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ffee9aa6993d83c5b8ca0910d354cc8441e85d5c","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from __future__ import absolute_import"},{"line_number":20,"context_line":"import pytest"},{"line_number":21,"context_line":"from unittest import mock"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from django.conf import settings"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_8413315c","line":21,"updated":"2020-06-01 19:47:22.000000000","message":"pep8: I100 Import statements are in the wrong order. from unittest should be before import pytest","commit_id":"72b7c47006a0de3c113fa9ef8b42408c4ed773bf"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e860b4ce57152706c9f50162bcdc5533da43872a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from django.conf import settings"},{"line_number":24,"context_line":"from openstack_dashboard import api"},{"line_number":25,"context_line":"from openstack_dashboard.test import helpers as test"},{"line_number":26,"context_line":"import pytest"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class RoleAPITests(test.APIMockTestCase):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_a6cd9a5e","line":26,"updated":"2020-06-01 21:36:39.000000000","message":"pep8: I100 Import statements are in the wrong order. import pytest should be before from openstack_dashboard.test","commit_id":"685b34180fd59bdbf1ada568a6437081848b5e3d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"080c133d63a08c490e5aae8008f43ec62d9f9a56","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        settings.OPENSTACK_ENDPOINT_TYPE !\u003d \u0027internalURL\u0027,"},{"line_number":78,"context_line":"        reason\u003d\"skipping because endpoint  type is not \\"},{"line_number":79,"context_line":"        defined as internalURL\""},{"line_number":80,"context_line":"    )"},{"line_number":81,"context_line":"    def test_service_wrapper_for_internal_endpoint_type(self):"},{"line_number":82,"context_line":"        catalog \u003d self.service_catalog"},{"line_number":83,"context_line":"        identity_data \u003d api.base.get_service_from_catalog(catalog, \"identity\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_6fb355ea","line":80,"updated":"2020-06-02 06:02:15.000000000","message":"This approach still tests conditionally depending on the setting. What we suggested in the past patch set is to always test both.\n\nConsider using\n\n  @override_settings(OPENSTACK_ENDPOINT_TYPE\u003d\u0027internalURL\u0027)\n\nYou can find good examples in our test codes.","commit_id":"685b34180fd59bdbf1ada568a6437081848b5e3d"},{"author":{"_account_id":31479,"name":"Gayathri Devi Kathiri","email":"kathirigayathri48@gmail.com","username":"gayathri"},"change_message_id":"82247695edc88eb5cead368c012943f8b911faa8","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        settings.OPENSTACK_ENDPOINT_TYPE !\u003d \u0027internalURL\u0027,"},{"line_number":78,"context_line":"        reason\u003d\"skipping because endpoint  type is not \\"},{"line_number":79,"context_line":"        defined as internalURL\""},{"line_number":80,"context_line":"    )"},{"line_number":81,"context_line":"    def test_service_wrapper_for_internal_endpoint_type(self):"},{"line_number":82,"context_line":"        catalog \u003d self.service_catalog"},{"line_number":83,"context_line":"        identity_data \u003d api.base.get_service_from_catalog(catalog, \"identity\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_75b96677","line":80,"in_reply_to":"ff570b3c_6fb355ea","updated":"2020-06-02 09:28:19.000000000","message":"Updated","commit_id":"685b34180fd59bdbf1ada568a6437081848b5e3d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d22f32a43b9531e77792351b55a05c02143f5ac0","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                         service.public_url)"},{"line_number":88,"context_line":"        self.assertEqual(\"int.keystone.example.com\", service.host)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @override_settings(OPENSTACK_ENDPOINT_TYPE\u003d\u0027publicURL\u0027)"},{"line_number":91,"context_line":"    def test_service_wrapper_for_public_endpoint_type(self):"},{"line_number":92,"context_line":"        catalog \u003d self.service_catalog"},{"line_number":93,"context_line":"        identity_data \u003d api.base.get_service_from_catalog(catalog, \"identity\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff570b3c_b47acb73","line":90,"updated":"2020-06-03 07:40:07.000000000","message":"For the default value, we don\u0027t need override_settings. If so, we can avoid accidental change of the default value. I will send a follow-up patch.","commit_id":"7bde77fad1908da6bc17f5bf28ff0580ecd2b1d0"}]}
