)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"30133a8f3bb40ae4fbe0df4e4457918c30a25a94","unresolved":false,"context_lines":[{"line_number":20,"context_line":"to checking if the project ids match instead. This prevents"},{"line_number":21,"context_line":"this test from failing whenever an attribute of project"},{"line_number":22,"context_line":"is changed.  This change also adds an empty \"tags\" value to the"},{"line_number":23,"context_line":"sample project generation."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: I00f094a5584be40ab477cbf680a5f6d1afb4d21b"},{"line_number":26,"context_line":"Partially-Implements: bp project-tags"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ff346bd7_a27695a3","line":23,"updated":"2017-07-25 14:39:09.000000000","message":"why not just skip this test while we add tags in keystone?\n\nI am not sure it\u0027s okay to remove that check, maybe it\u0027s part of the test\u0027s responsability to check on the entity that is returned. I\u0027d like to get some input from QA folks here","commit_id":"21e96cc7c42185a3c33acf9e625f7bb79b000ddb"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"4f5c40832d003d0ebe4d74fb2e39910e5d00cd20","unresolved":false,"context_lines":[{"line_number":20,"context_line":"to checking if the project ids match instead. This prevents"},{"line_number":21,"context_line":"this test from failing whenever an attribute of project"},{"line_number":22,"context_line":"is changed.  This change also adds an empty \"tags\" value to the"},{"line_number":23,"context_line":"sample project generation."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: I00f094a5584be40ab477cbf680a5f6d1afb4d21b"},{"line_number":26,"context_line":"Partially-Implements: bp project-tags"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9f436f4f_6e346afc","line":23,"in_reply_to":"ff346bd7_a27695a3","updated":"2017-08-17 19:21:41.000000000","message":"I think it will still fail after we add tags, since tags isn\u0027t a list you are not guaranteed to have the list in order, so it would still fail if the lists were not in the exact same order.","commit_id":"21e96cc7c42185a3c33acf9e625f7bb79b000ddb"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f8dbee624d6205d8fee28b9a371da7de1533f5d4","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In test_create_is_domain_project, the test would check"},{"line_number":10,"context_line":"for a specific project object within a list of returned"},{"line_number":11,"context_line":"projects. If a new resource attribute is added to"},{"line_number":12,"context_line":"projects, such as \"tags\", this test will fail due to"},{"line_number":13,"context_line":"the sample project not containing the \"tags\" atttibute."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7f515b1d_50070f19","line":11,"updated":"2017-10-03 07:32:31.000000000","message":"I\u0027m fine to add an acceptance for a new resource attribute. But I feel this patch can be split like a patch of adding checking \u0027tags\u0027(let\u0027s call it \u0027patch-A\u0027) and adding to allow a new resource attribute(\u0027patch-B\u0027).\n\npatch-A is needed by Ic2e5874a427341f2edb6e9122386fb98af2c24ef and patch-B is depends on Ic2e5874a427341f2edb6e9122386fb98af2c24ef . Can we do like this?\n\nI\u0027m worried about if we merge this first and your patch will not be merged for a long time, this change doesn\u0027t make sense.","commit_id":"141f492d67f6ea7516359c335dc6ebec593f2673"}],"tempest/api/identity/admin/v3/test_projects.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"bf91beb6cc2168e8291e6a6fcee6d7127fb5fb9c","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        # project and domain APIs"},{"line_number":88,"context_line":"        projects_list \u003d self.projects_client.list_projects("},{"line_number":89,"context_line":"            params\u003d{\u0027is_domain\u0027: True})[\u0027projects\u0027]"},{"line_number":90,"context_line":"        project_returned \u003d False"},{"line_number":91,"context_line":"        for proj in projects_list:"},{"line_number":92,"context_line":"            if proj[\u0027id\u0027] \u003d\u003d project[\u0027id\u0027]:"},{"line_number":93,"context_line":"                project_returned \u003d True"},{"line_number":94,"context_line":"        self.assertTrue(project_returned)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        # The domains API return different attributes for the entity, so we"},{"line_number":97,"context_line":"        # compare the entities IDs"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f436f4f_ca4a1982","line":94,"range":{"start_line":90,"start_character":8,"end_line":94,"end_character":41},"updated":"2017-08-18 03:17:26.000000000","message":"Can be more succinctly re-expressed as:\n\n    project_ids \u003d [p[\u0027id\u0027] for p in projects_list]\n    self.assertIn(project[\u0027id\u0027], project_ids)","commit_id":"1d825133232c47ca229feebe59b154a48dad2a23"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"f9673e63333e035a26c616de5b0eed3198cea87c","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        # project and domain APIs"},{"line_number":88,"context_line":"        projects_list \u003d self.projects_client.list_projects("},{"line_number":89,"context_line":"            params\u003d{\u0027is_domain\u0027: True})[\u0027projects\u0027]"},{"line_number":90,"context_line":"        project_returned \u003d False"},{"line_number":91,"context_line":"        for proj in projects_list:"},{"line_number":92,"context_line":"            if proj[\u0027id\u0027] \u003d\u003d project[\u0027id\u0027]:"},{"line_number":93,"context_line":"                project_returned \u003d True"},{"line_number":94,"context_line":"        self.assertTrue(project_returned)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        # The domains API return different attributes for the entity, so we"},{"line_number":97,"context_line":"        # compare the entities IDs"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f436f4f_9ea8b8db","line":94,"range":{"start_line":90,"start_character":8,"end_line":94,"end_character":41},"in_reply_to":"9f436f4f_ca4a1982","updated":"2017-10-02 18:11:00.000000000","message":"Thanks Felipe!","commit_id":"1d825133232c47ca229feebe59b154a48dad2a23"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"59a091ec97a496bc727f3fb308336401514b2b4a","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        # project and domain APIs"},{"line_number":88,"context_line":"        projects_list \u003d self.projects_client.list_projects("},{"line_number":89,"context_line":"            params\u003d{\u0027is_domain\u0027: True})[\u0027projects\u0027]"},{"line_number":90,"context_line":"        project_ids \u003d [p[\u0027id\u0027] for p in projects_list]"},{"line_number":91,"context_line":"        self.assertIn(project[\u0027id\u0027], project_ids)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        # The domains API return different attributes for the entity, so we"},{"line_number":94,"context_line":"        # compare the entities IDs"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f287b81_0bf6e790","line":91,"range":{"start_line":90,"start_character":0,"end_line":91,"end_character":49},"updated":"2017-08-22 20:51:45.000000000","message":"this should not be needed since you added \u0027tags\u0027 to the project dict already","commit_id":"141f492d67f6ea7516359c335dc6ebec593f2673"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"f9673e63333e035a26c616de5b0eed3198cea87c","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        # project and domain APIs"},{"line_number":88,"context_line":"        projects_list \u003d self.projects_client.list_projects("},{"line_number":89,"context_line":"            params\u003d{\u0027is_domain\u0027: True})[\u0027projects\u0027]"},{"line_number":90,"context_line":"        project_ids \u003d [p[\u0027id\u0027] for p in projects_list]"},{"line_number":91,"context_line":"        self.assertIn(project[\u0027id\u0027], project_ids)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        # The domains API return different attributes for the entity, so we"},{"line_number":94,"context_line":"        # compare the entities IDs"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_5036fa52","line":91,"range":{"start_line":90,"start_character":0,"end_line":91,"end_character":49},"in_reply_to":"7f287b81_0bf6e790","updated":"2017-10-02 18:11:00.000000000","message":"The issue is that the tags are not guaranteed to be in the same order when returned since it is a list. If the lists are not in order, they won\u0027t match.","commit_id":"141f492d67f6ea7516359c335dc6ebec593f2673"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"88f1c981df4c3693a97d51ccf267aa04d3407662","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        # The domains API return different attributes for the entity, so we"},{"line_number":94,"context_line":"        # compare the entities IDs"},{"line_number":95,"context_line":"        domains_ids \u003d [d[\u0027id\u0027] for d in self.domains_client.list_domains()["},{"line_number":96,"context_line":"            \u0027domains\u0027]]"},{"line_number":97,"context_line":"        self.assertIn(project[\u0027id\u0027], domains_ids)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    @decorators.idempotent_id(\u00271f66dc76-50cc-4741-a200-af984509e480\u0027)"},{"line_number":100,"context_line":"    def test_project_create_enabled(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_cfca356d","line":97,"range":{"start_line":95,"start_character":0,"end_line":97,"end_character":49},"updated":"2017-10-03 15:05:16.000000000","message":"The above change matches this","commit_id":"141f492d67f6ea7516359c335dc6ebec593f2673"}]}
