)]}'
{"tempest/api/identity/admin/v3/test_projects.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"89bd93e8e07364562f5d31906fa15bab6c0770d1","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        # Ensure all other fields are identical"},{"line_number":229,"context_line":"        self.assertDictEqual(project_get, project_list)"},{"line_number":230,"context_line":"        # Assert the list of fields is correct (one is enough to check here)"},{"line_number":231,"context_line":"        self.assertSetEqual(set(fields[:-1]), set(project_get.keys())) "}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_12e28d30","line":231,"range":{"start_line":231,"start_character":70,"end_line":231,"end_character":71},"updated":"2017-10-30 13:52:23.000000000","message":"Extra whitespace?","commit_id":"e6cbb91b4a286d7459faca5a9193b3e3c80368d0"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"a0a7af7695af38fe736e95ac2422df031c5cdaa3","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    @decorators.idempotent_id(\u0027d1db68b6-aebe-4fa0-b79d-d724d2e21162\u0027)"},{"line_number":210,"context_line":"    def test_project_get_equals_list(self):"},{"line_number":211,"context_line":"        fields \u003d [\u0027parent_id\u0027, \u0027is_domain\u0027, \u0027description\u0027, \u0027links\u0027,"},{"line_number":212,"context_line":"                  \u0027name\u0027, \u0027enabled\u0027, \u0027domain_id\u0027, \u0027id\u0027, \u0027tags\u0027]"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        # Tags must be unique, keystone API will reject duplicates"},{"line_number":215,"context_line":"        tags \u003d [\u0027a\u0027, \u0027c\u0027, \u0027b\u0027, \u0027d\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_d7e055fd","line":212,"range":{"start_line":212,"start_character":56,"end_line":212,"end_character":62},"updated":"2017-10-31 00:08:10.000000000","message":"Why include tags here if you effectively ignore it on L232 via `fields[:-1]`?","commit_id":"107ce76018b74b5406fbb3d584f1127156270795"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"3850b04d2ac0b4fbbe58c2773eda8a399ac47792","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    @decorators.idempotent_id(\u0027d1db68b6-aebe-4fa0-b79d-d724d2e21162\u0027)"},{"line_number":210,"context_line":"    def test_project_get_equals_list(self):"},{"line_number":211,"context_line":"        fields \u003d [\u0027parent_id\u0027, \u0027is_domain\u0027, \u0027description\u0027, \u0027links\u0027,"},{"line_number":212,"context_line":"                  \u0027name\u0027, \u0027enabled\u0027, \u0027domain_id\u0027, \u0027id\u0027, \u0027tags\u0027]"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        # Tags must be unique, keystone API will reject duplicates"},{"line_number":215,"context_line":"        tags \u003d [\u0027a\u0027, \u0027c\u0027, \u0027b\u0027, \u0027d\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_a55fc7e3","line":212,"range":{"start_line":212,"start_character":56,"end_line":212,"end_character":62},"in_reply_to":"3f4b6375_d7e055fd","updated":"2017-10-31 21:45:00.000000000","message":"Fair point, I was debating about that (with myself :P) but I thought it would be nice at the end to have the full list of fields as a reference for people reading the code.","commit_id":"107ce76018b74b5406fbb3d584f1127156270795"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b7c273c3709fc3d7ccc434efb03345daeb409fa1","unresolved":false,"context_lines":[{"line_number":220,"context_line":"        # Show and list for the project"},{"line_number":221,"context_line":"        project_get \u003d self.projects_client.show_project("},{"line_number":222,"context_line":"            project[\u0027id\u0027])[\u0027project\u0027]"},{"line_number":223,"context_line":"        _projects \u003d self.projects_client.list_projects()[\u0027projects\u0027]"},{"line_number":224,"context_line":"        project_list \u003d next(x for x in _projects if x[\u0027id\u0027] \u003d\u003d project[\u0027id\u0027])"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        # Ensure the set of tags is identical"},{"line_number":227,"context_line":"        self.assertSetEqual(set(project_get.pop(\"tags\")),"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_3b02d670","line":224,"range":{"start_line":223,"start_character":41,"end_line":224,"end_character":77},"updated":"2017-11-01 00:14:49.000000000","message":"project_id is unique so can we list with project_id as filter","commit_id":"329f6d262321c74aebdf8ddef17fe2830d48a591"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"c6707af1f5ce2f475ad03e87dbadc3aa42e152fb","unresolved":false,"context_lines":[{"line_number":220,"context_line":"        # Show and list for the project"},{"line_number":221,"context_line":"        project_get \u003d self.projects_client.show_project("},{"line_number":222,"context_line":"            project[\u0027id\u0027])[\u0027project\u0027]"},{"line_number":223,"context_line":"        _projects \u003d self.projects_client.list_projects()[\u0027projects\u0027]"},{"line_number":224,"context_line":"        project_list \u003d next(x for x in _projects if x[\u0027id\u0027] \u003d\u003d project[\u0027id\u0027])"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        # Ensure the set of tags is identical"},{"line_number":227,"context_line":"        self.assertSetEqual(set(project_get.pop(\"tags\")),"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_eddc7647","line":224,"range":{"start_line":223,"start_character":41,"end_line":224,"end_character":77},"in_reply_to":"3f4b6375_3b02d670","updated":"2017-11-01 12:08:58.000000000","message":"according to the API doc I can only filter by name https://developer.openstack.org/api-ref/identity/v3/#id177","commit_id":"329f6d262321c74aebdf8ddef17fe2830d48a591"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0f4afd42e1baa89e324997ec02b4b2c213496c13","unresolved":false,"context_lines":[{"line_number":220,"context_line":"        # Show and list for the project"},{"line_number":221,"context_line":"        project_get \u003d self.projects_client.show_project("},{"line_number":222,"context_line":"            project[\u0027id\u0027])[\u0027project\u0027]"},{"line_number":223,"context_line":"        _projects \u003d self.projects_client.list_projects()[\u0027projects\u0027]"},{"line_number":224,"context_line":"        project_list \u003d next(x for x in _projects if x[\u0027id\u0027] \u003d\u003d project[\u0027id\u0027])"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        # Ensure the set of tags is identical"},{"line_number":227,"context_line":"        self.assertSetEqual(set(project_get.pop(\"tags\")),"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_1d4a4eab","line":224,"range":{"start_line":223,"start_character":41,"end_line":224,"end_character":77},"in_reply_to":"3f4b6375_eddc7647","updated":"2017-11-01 23:38:24.000000000","message":"ah you are right, i misread \u0027parent_id\u0027 as \u0027project_id\u0027","commit_id":"329f6d262321c74aebdf8ddef17fe2830d48a591"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b7c273c3709fc3d7ccc434efb03345daeb409fa1","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        project_list \u003d next(x for x in _projects if x[\u0027id\u0027] \u003d\u003d project[\u0027id\u0027])"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        # Ensure the set of tags is identical"},{"line_number":227,"context_line":"        self.assertSetEqual(set(project_get.pop(\"tags\")),"},{"line_number":228,"context_line":"                            set(project_list.pop(\"tags\")))"},{"line_number":229,"context_line":"        # Ensure all other fields are identical"},{"line_number":230,"context_line":"        self.assertDictEqual(project_get, project_list)"},{"line_number":231,"context_line":"        # Assert the list of fields is correct (one is enough to check here)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_9b4b0a86","line":228,"range":{"start_line":227,"start_character":0,"end_line":228,"end_character":58},"updated":"2017-11-01 00:14:49.000000000","message":"if we are checking tags can we check those with input values(L215)? but that tag tests can be separate so this is also enough for this test.","commit_id":"329f6d262321c74aebdf8ddef17fe2830d48a591"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b7c273c3709fc3d7ccc434efb03345daeb409fa1","unresolved":false,"context_lines":[{"line_number":229,"context_line":"        # Ensure all other fields are identical"},{"line_number":230,"context_line":"        self.assertDictEqual(project_get, project_list)"},{"line_number":231,"context_line":"        # Assert the list of fields is correct (one is enough to check here)"},{"line_number":232,"context_line":"        self.assertSetEqual(set(fields[:-1]), set(project_get.keys()))"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_bb7a46b7","line":232,"range":{"start_line":232,"start_character":0,"end_line":232,"end_character":70},"updated":"2017-11-01 00:14:49.000000000","message":"any specific reason to exclude \u0027tags\u0027 from here?","commit_id":"329f6d262321c74aebdf8ddef17fe2830d48a591"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"665ddab7694cd8a84bca7a2d3e0142c7cd624ac6","unresolved":false,"context_lines":[{"line_number":229,"context_line":"        # Ensure all other fields are identical"},{"line_number":230,"context_line":"        self.assertDictEqual(project_get, project_list)"},{"line_number":231,"context_line":"        # Assert the list of fields is correct (one is enough to check here)"},{"line_number":232,"context_line":"        self.assertSetEqual(set(fields[:-1]), set(project_get.keys()))"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_1a094694","line":232,"range":{"start_line":232,"start_character":0,"end_line":232,"end_character":70},"in_reply_to":"3f4b6375_bb7a46b7","updated":"2017-11-01 11:37:11.000000000","message":"I pop tags on L227 so it\u0027s not in there anymore; anyways I already checked tags was there. The reason I pop tags is so I can then assertDictEqual which might otherwise not work since tags order is not guaranteed.\n\nWhat I could do here is move this up to before the pop.","commit_id":"329f6d262321c74aebdf8ddef17fe2830d48a591"}]}
