)]}'
{"openstack_auth/tests/unit/test_auth.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"87eb203a9e9fe0b697fd613059d78411de58ff67","unresolved":false,"context_lines":[{"line_number":998,"context_line":"                              session.Session)"},{"line_number":999,"context_line":""},{"line_number":1000,"context_line":""},{"line_number":1001,"context_line":"load_tests \u003d load_tests_apply_scenarios"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_9e1254fd","side":"PARENT","line":1001,"updated":"2020-02-17 08:57:35.000000000","message":"It looks like testscenarios is no longer used. I am fine to drop it now.","commit_id":"72b9201ab7034e08574fd75c8db8b47156d22f7c"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"87eb203a9e9fe0b697fd613059d78411de58ff67","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"# NOTE(e0ne): it\u0027s copy-pasted from horizon.test.helpers module until we"},{"line_number":40,"context_line":"# figure out how to avoid this."},{"line_number":41,"context_line":"class IsA(object):"},{"line_number":42,"context_line":"    \"\"\"Class to compare param is a specified class.\"\"\""},{"line_number":43,"context_line":"    def __init__(self, cls):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_1e90a440","line":40,"updated":"2020-02-17 08:57:35.000000000","message":"I am okay with it. openstack_auth has no dependency on horizon now. Hopefully we can propose it to mock itself :)","commit_id":"662bca0fc8bac4c2a23f8c40b0c59c550e032a3c"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"585c535c84c5bf3552c0da9e82d5b57ca887b671","unresolved":false,"context_lines":[{"line_number":918,"context_line":"        settings.OPENSTACK_KEYSTONE_DOMAIN_DROPDOWN \u003d False"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"    @mock.patch.object(projects.ProjectManager, \u0027list\u0027)"},{"line_number":921,"context_line":"    def test_tenant_sorting(self, mock_projects):"},{"line_number":922,"context_line":"        projects \u003d [self.data.project_two, self.data.project_one]"},{"line_number":923,"context_line":"        expected_projects \u003d [self.data.project_one, self.data.project_two]"},{"line_number":924,"context_line":"        user \u003d self.data.user"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_3ee1e0ce","line":921,"range":{"start_line":921,"start_character":34,"end_line":921,"end_character":47},"updated":"2020-02-17 09:16:47.000000000","message":"Could you use same name as mocked methods as mock_xxx arguments? It is nice from POV of the code readability.","commit_id":"662bca0fc8bac4c2a23f8c40b0c59c550e032a3c"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"00e01b8c43a6ee9320eb6826d32840b60996f565","unresolved":false,"context_lines":[{"line_number":918,"context_line":"        settings.OPENSTACK_KEYSTONE_DOMAIN_DROPDOWN \u003d False"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"    @mock.patch.object(projects.ProjectManager, \u0027list\u0027)"},{"line_number":921,"context_line":"    def test_tenant_sorting(self, mock_projects):"},{"line_number":922,"context_line":"        projects \u003d [self.data.project_two, self.data.project_one]"},{"line_number":923,"context_line":"        expected_projects \u003d [self.data.project_one, self.data.project_two]"},{"line_number":924,"context_line":"        user \u003d self.data.user"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_24955232","line":921,"range":{"start_line":921,"start_character":34,"end_line":921,"end_character":47},"in_reply_to":"3fa7e38b_3ee1e0ce","updated":"2020-02-17 10:24:44.000000000","message":"Done","commit_id":"662bca0fc8bac4c2a23f8c40b0c59c550e032a3c"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"1ee49ef6b09279a1530563499f73aa653a49ca6d","unresolved":false,"context_lines":[{"line_number":965,"context_line":"                                              IsA(v3_auth.Password),"},{"line_number":966,"context_line":"                                              self.data.unscoped_access_info)"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":"    @mock.patch.object(v3_auth.Token, \u0027get_access\u0027)"},{"line_number":969,"context_line":"    @mock.patch.object(password.PasswordPlugin, \u0027list_projects\u0027)"},{"line_number":970,"context_line":"    @mock.patch.object(v3_auth.Password, \u0027get_access\u0027)"},{"line_number":971,"context_line":"    def test_no_enabled_projects(self, mock_access, mock_projects, mock_token):"},{"line_number":972,"context_line":"        projects \u003d [self.data.project_two]"},{"line_number":973,"context_line":"        user \u003d self.data.user"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_c8e256ff","line":970,"range":{"start_line":968,"start_character":4,"end_line":970,"end_character":54},"updated":"2020-02-17 01:27:31.000000000","message":"Can\u0027t we use helpers.create_mocks() here and other places?","commit_id":"662bca0fc8bac4c2a23f8c40b0c59c550e032a3c"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"87eb203a9e9fe0b697fd613059d78411de58ff67","unresolved":false,"context_lines":[{"line_number":965,"context_line":"                                              IsA(v3_auth.Password),"},{"line_number":966,"context_line":"                                              self.data.unscoped_access_info)"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":"    @mock.patch.object(v3_auth.Token, \u0027get_access\u0027)"},{"line_number":969,"context_line":"    @mock.patch.object(password.PasswordPlugin, \u0027list_projects\u0027)"},{"line_number":970,"context_line":"    @mock.patch.object(v3_auth.Password, \u0027get_access\u0027)"},{"line_number":971,"context_line":"    def test_no_enabled_projects(self, mock_access, mock_projects, mock_token):"},{"line_number":972,"context_line":"        projects \u003d [self.data.project_two]"},{"line_number":973,"context_line":"        user \u003d self.data.user"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_fe73484d","line":970,"range":{"start_line":968,"start_character":4,"end_line":970,"end_character":54},"in_reply_to":"3fa7e38b_c8e256ff","updated":"2020-02-17 08:57:35.000000000","message":"I am against the comment.\n\nAs of now, openstack_auth module has no dependencies on horizon. Some modules in horizon import openstack_auth, so I don\u0027t think it is a good idea to introduce dependencies potentially circulated.\n\nIn addition, create_mocks() was introduced to minimize the diff from create_mox() when dropping mox usage. mock.patch is already simple enough and common in OpenStack projects, so I don\u0027t think we need to introduce it in a module which does not use it.","commit_id":"662bca0fc8bac4c2a23f8c40b0c59c550e032a3c"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"4f12dc3a42db1006fd06123a6fbce48b9a5a58d9","unresolved":false,"context_lines":[{"line_number":938,"context_line":"    @mock.patch.object(password.PasswordPlugin, \u0027list_projects\u0027)"},{"line_number":939,"context_line":"    @mock.patch.object(v3_auth.Password, \u0027get_access\u0027)"},{"line_number":940,"context_line":"    def test_login_with_disabled_project(self, mock_access, mock_project_list,"},{"line_number":941,"context_line":"                                         mock_token):"},{"line_number":942,"context_line":"        # Test to validate that authentication will not try to get"},{"line_number":943,"context_line":"        # scoped token for disabled project."},{"line_number":944,"context_line":"        projects \u003d [self.data.project_two, self.data.project_one]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_0a1fff0b","line":941,"updated":"2020-02-18 05:00:09.000000000","message":"I still think it is better to do similar changes for mock arguments corresponding to \"get_access\" (\"mock_token\" and \"mock_access\". It is my personal preference, so we can clean up them later.","commit_id":"a85254409093b44cc97bf255a6bf428a54cfbc7c"}],"openstack_auth/views.py":[{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"1ee49ef6b09279a1530563499f73aa653a49ca6d","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    # If the user enabled websso and the default redirect"},{"line_number":58,"context_line":"    # redirect to the default websso url"},{"line_number":59,"context_line":"    # import pdb;pdb.set_trace()"},{"line_number":60,"context_line":"    if (request.method \u003d\u003d \u0027GET\u0027 and utils.is_websso_enabled and"},{"line_number":61,"context_line":"            utils.is_websso_default_redirect()):"},{"line_number":62,"context_line":"        protocol \u003d utils.get_websso_default_redirect_protocol()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_685b22f8","line":59,"range":{"start_line":59,"start_character":4,"end_line":59,"end_character":32},"updated":"2020-02-17 01:27:31.000000000","message":"you forgot to remove this.","commit_id":"662bca0fc8bac4c2a23f8c40b0c59c550e032a3c"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"00e01b8c43a6ee9320eb6826d32840b60996f565","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    # If the user enabled websso and the default redirect"},{"line_number":58,"context_line":"    # redirect to the default websso url"},{"line_number":59,"context_line":"    # import pdb;pdb.set_trace()"},{"line_number":60,"context_line":"    if (request.method \u003d\u003d \u0027GET\u0027 and utils.is_websso_enabled and"},{"line_number":61,"context_line":"            utils.is_websso_default_redirect()):"},{"line_number":62,"context_line":"        protocol \u003d utils.get_websso_default_redirect_protocol()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_a4a06290","line":59,"range":{"start_line":59,"start_character":4,"end_line":59,"end_character":32},"in_reply_to":"3fa7e38b_685b22f8","updated":"2020-02-17 10:24:44.000000000","message":"Done","commit_id":"662bca0fc8bac4c2a23f8c40b0c59c550e032a3c"}]}
