)]}'
{"keystone/assignment/controllers.py":[{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"fc4bf3b40e2cfa0e50333dc1626f90cecb75c367","unresolved":false,"context_lines":[{"line_number":829,"context_line":"                                        \u0027name\u0027: entity[\u0027role_name\u0027]}"},{"line_number":830,"context_line":"            if \u0027role_domain_name\u0027 in entity:"},{"line_number":831,"context_line":"                formatted_entity[\u0027role\u0027].update("},{"line_number":832,"context_line":"                    {\u0027domain\u0027: {\u0027id\u0027: entity[\u0027role_domain_id\u0027],"},{"line_number":833,"context_line":"                                \u0027name\u0027: entity[\u0027role_domain_name\u0027]}})"},{"line_number":834,"context_line":"        else:"},{"line_number":835,"context_line":"            formatted_entity[\u0027role\u0027] \u003d {\u0027id\u0027: entity[\u0027role_id\u0027]}"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a71b18c_07175d48","line":832,"range":{"start_line":832,"start_character":31,"end_line":832,"end_character":62},"updated":"2016-12-06 12:24:19.000000000","message":"the id key is not checked in the condition, although they are set together in the other layer, I would prefer to be safe here.","commit_id":"a9a5def2748ab19d6f98b66736d88c1405676ff1"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"17b87221684200c4a8253bb2374c7e530479ac3a","unresolved":false,"context_lines":[{"line_number":829,"context_line":"                                        \u0027name\u0027: entity[\u0027role_name\u0027]}"},{"line_number":830,"context_line":"            if \u0027role_domain_name\u0027 in entity:"},{"line_number":831,"context_line":"                formatted_entity[\u0027role\u0027].update("},{"line_number":832,"context_line":"                    {\u0027domain\u0027: {\u0027id\u0027: entity[\u0027role_domain_id\u0027],"},{"line_number":833,"context_line":"                                \u0027name\u0027: entity[\u0027role_domain_name\u0027]}})"},{"line_number":834,"context_line":"        else:"},{"line_number":835,"context_line":"            formatted_entity[\u0027role\u0027] \u003d {\u0027id\u0027: entity[\u0027role_id\u0027]}"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a71b18c_b3e5000a","line":832,"range":{"start_line":832,"start_character":31,"end_line":832,"end_character":62},"in_reply_to":"3a71b18c_07175d48","updated":"2016-12-06 16:26:53.000000000","message":"Done","commit_id":"a9a5def2748ab19d6f98b66736d88c1405676ff1"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"449639e3ed66723a5b9d682c224954945ba289a6","unresolved":false,"context_lines":[{"line_number":829,"context_line":"                                        \u0027name\u0027: entity[\u0027role_name\u0027]}"},{"line_number":830,"context_line":"            if \u0027role_domain_name\u0027 in entity:"},{"line_number":831,"context_line":"                formatted_entity[\u0027role\u0027].update("},{"line_number":832,"context_line":"                    {\u0027domain\u0027: {\u0027id\u0027: entity[\u0027role_domain_id\u0027],"},{"line_number":833,"context_line":"                                \u0027name\u0027: entity[\u0027role_domain_name\u0027]}})"},{"line_number":834,"context_line":"        else:"},{"line_number":835,"context_line":"            formatted_entity[\u0027role\u0027] \u003d {\u0027id\u0027: entity[\u0027role_id\u0027]}"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a71b18c_9e0ba823","line":832,"range":{"start_line":832,"start_character":31,"end_line":832,"end_character":62},"in_reply_to":"3a71b18c_b3e5000a","updated":"2016-12-06 17:36:09.000000000","message":"I followed what is done with role_name and role_id just above. However I agree this looks more correct, thanks Rodrigo","commit_id":"a9a5def2748ab19d6f98b66736d88c1405676ff1"}],"keystone/tests/unit/assignment/test_backends.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"92bf1d32bfdff9b5131b6e84c6466f15e0909f77","unresolved":false,"context_lines":[{"line_number":2173,"context_line":""},{"line_number":2174,"context_line":"    def test_list_role_assignment_containing_names(self):"},{"line_number":2175,"context_line":"        # Create Refs"},{"line_number":2176,"context_line":"        new_role \u003d unit.new_role_ref()"},{"line_number":2177,"context_line":"        new_domain \u003d self._get_domain_fixture()"},{"line_number":2178,"context_line":"        new_user \u003d unit.new_user_ref(domain_id\u003dnew_domain[\u0027id\u0027])"},{"line_number":2179,"context_line":"        new_project \u003d unit.new_project_ref(domain_id\u003dnew_domain[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_4d00f701","line":2176,"range":{"start_line":2176,"start_character":8,"end_line":2176,"end_character":38},"updated":"2016-09-23 20:26:41.000000000","message":"we should create a domain specific role otherwise line 2260 will never branch off","commit_id":"94a1f0f9b53f5440b5bfab8e6dcddfdd1e155a3f"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"b720b382eb5f1259255ef146da5f8fa20e7bcb27","unresolved":false,"context_lines":[{"line_number":2173,"context_line":""},{"line_number":2174,"context_line":"    def test_list_role_assignment_containing_names(self):"},{"line_number":2175,"context_line":"        # Create Refs"},{"line_number":2176,"context_line":"        new_role \u003d unit.new_role_ref()"},{"line_number":2177,"context_line":"        new_domain \u003d self._get_domain_fixture()"},{"line_number":2178,"context_line":"        new_user \u003d unit.new_user_ref(domain_id\u003dnew_domain[\u0027id\u0027])"},{"line_number":2179,"context_line":"        new_project \u003d unit.new_project_ref(domain_id\u003dnew_domain[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_ad489b88","line":2176,"range":{"start_line":2176,"start_character":8,"end_line":2176,"end_character":38},"in_reply_to":"5a8bc5a2_4d00f701","updated":"2016-09-23 20:56:48.000000000","message":"Would it be best to only create a role with a domain, or have one with and one without?","commit_id":"94a1f0f9b53f5440b5bfab8e6dcddfdd1e155a3f"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"92bf1d32bfdff9b5131b6e84c6466f15e0909f77","unresolved":false,"context_lines":[{"line_number":2258,"context_line":"        self.assertEqual(new_user[\u0027domain_id\u0027],"},{"line_number":2259,"context_line":"                         first_asgmt_dmn[\u0027user_domain_id\u0027])"},{"line_number":2260,"context_line":"        if new_role[\u0027domain_id\u0027] is not None:"},{"line_number":2261,"context_line":"            self.assertEqual(new_role[\u0027domain_id\u0027],"},{"line_number":2262,"context_line":"                             first_asgmt_grp[\u0027role_domain_id\u0027])"},{"line_number":2263,"context_line":""},{"line_number":2264,"context_line":"    def test_list_role_assignment_does_not_contain_names(self):"},{"line_number":2265,"context_line":"        \"\"\"Test names are not included with list role assignments."}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_0d1fcf5f","line":2262,"range":{"start_line":2261,"start_character":12,"end_line":2262,"end_character":63},"updated":"2016-09-23 20:26:41.000000000","message":"we\u0027ll never enter this check unless we create a domain specific role","commit_id":"94a1f0f9b53f5440b5bfab8e6dcddfdd1e155a3f"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"e195b378f402fc98a4fca7ed321c86f1407c4913","unresolved":false,"context_lines":[{"line_number":2173,"context_line":"    def test_list_role_assignment_containing_names(self):"},{"line_number":2174,"context_line":"        # Create Refs"},{"line_number":2175,"context_line":"        new_domain \u003d self._get_domain_fixture()"},{"line_number":2176,"context_line":"        if isinstance(self, unit.test_backend_sql.SqlIdentity):"},{"line_number":2177,"context_line":"            new_role \u003d unit.new_role_ref()"},{"line_number":2178,"context_line":"        else:"},{"line_number":2179,"context_line":"            new_role \u003d unit.new_role_ref(domain_id\u003dnew_domain[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a98d1f4_4854cc53","line":2176,"range":{"start_line":2176,"start_character":8,"end_line":2176,"end_character":63},"updated":"2016-09-28 16:04:07.000000000","message":"Is this an okay way to determine if the driver is V8 or not? Or perhaps there is a better way","commit_id":"5af02578a8a0ca194aec313aac088a3d5d2734aa"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"04bd5753b5ef6693dcb8b9efdbc97ffdf256951f","unresolved":false,"context_lines":[{"line_number":2174,"context_line":"    def test_list_role_assignment_containing_names(self):"},{"line_number":2175,"context_line":"        # Create Refs"},{"line_number":2176,"context_line":"        new_domain \u003d self._get_domain_fixture()"},{"line_number":2177,"context_line":"        if isinstance(self, unit.test_backend_sql.SqlIdentity):"},{"line_number":2178,"context_line":"            new_role \u003d unit.new_role_ref()"},{"line_number":2179,"context_line":"        else:"},{"line_number":2180,"context_line":"            new_role \u003d unit.new_role_ref(domain_id\u003dnew_domain[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa6399be_5857f201","line":2177,"range":{"start_line":2177,"start_character":8,"end_line":2177,"end_character":63},"updated":"2016-10-19 04:49:25.000000000","message":"maybe add a TODO to remove this, since we will soon remove the V8 drivers...","commit_id":"24b756d62d5502dea7bab5a07f63096706d4c148"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"a859809c305850973c257f0b929da970fd554b90","unresolved":false,"context_lines":[{"line_number":2174,"context_line":"    def test_list_role_assignment_containing_names(self):"},{"line_number":2175,"context_line":"        # Create Refs"},{"line_number":2176,"context_line":"        new_domain \u003d self._get_domain_fixture()"},{"line_number":2177,"context_line":"        if isinstance(self, unit.test_backend_sql.SqlIdentity):"},{"line_number":2178,"context_line":"            new_role \u003d unit.new_role_ref()"},{"line_number":2179,"context_line":"        else:"},{"line_number":2180,"context_line":"            new_role \u003d unit.new_role_ref(domain_id\u003dnew_domain[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa6399be_4d6d5997","line":2177,"range":{"start_line":2177,"start_character":8,"end_line":2177,"end_character":63},"in_reply_to":"fa6399be_5857f201","updated":"2016-10-19 13:52:40.000000000","message":"Done","commit_id":"24b756d62d5502dea7bab5a07f63096706d4c148"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"abe6a3ebff145de2bc33ce3454a6908c27680f61","unresolved":false,"context_lines":[{"line_number":2173,"context_line":""},{"line_number":2174,"context_line":"    def test_list_role_assignment_containing_names(self):"},{"line_number":2175,"context_line":"        # Create Refs"},{"line_number":2176,"context_line":"        new_role \u003d unit.new_role_ref()"},{"line_number":2177,"context_line":"        new_domain \u003d self._get_domain_fixture()"},{"line_number":2178,"context_line":"        new_user \u003d unit.new_user_ref(domain_id\u003dnew_domain[\u0027id\u0027])"},{"line_number":2179,"context_line":"        new_project \u003d unit.new_project_ref(domain_id\u003dnew_domain[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_10b7dcd8","side":"PARENT","line":2176,"range":{"start_line":2176,"start_character":8,"end_line":2176,"end_character":38},"updated":"2016-10-20 07:17:01.000000000","message":"there\u0027s no reason you can\u0027t test a regular \"global\" role like this one, and a \"domain scoped role\" like you create.\n\nboth should be applicable.\n\nif it makes more sense to create a new test, rather than remove coverage","commit_id":"8a32c44657f1f4cc1e1e424f6162be3394030ea9"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"abe6a3ebff145de2bc33ce3454a6908c27680f61","unresolved":false,"context_lines":[{"line_number":2175,"context_line":"        # Create Refs"},{"line_number":2176,"context_line":"        new_domain \u003d self._get_domain_fixture()"},{"line_number":2177,"context_line":"        # TODO(samuel.pilla) Can be reduced to just the code under the else"},{"line_number":2178,"context_line":"        # when the V8 driver is removed."},{"line_number":2179,"context_line":"        if isinstance(self, unit.test_backend_sql.SqlIdentity):"},{"line_number":2180,"context_line":"            new_role \u003d unit.new_role_ref()"},{"line_number":2181,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_90cf6c7e","line":2178,"range":{"start_line":2178,"start_character":10,"end_line":2178,"end_character":39},"updated":"2016-10-20 07:17:01.000000000","message":"the v8 driver has been removed, so let\u0027s get rid of the if block","commit_id":"c003624b074ec3202a8be34e72bce91d236022ff"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"abe6a3ebff145de2bc33ce3454a6908c27680f61","unresolved":false,"context_lines":[{"line_number":2256,"context_line":"        self.assertEqual(new_role[\u0027name\u0027],"},{"line_number":2257,"context_line":"                         first_asgmt_dmn[\u0027role_name\u0027])"},{"line_number":2258,"context_line":"        # Assert the names are correct in the role response"},{"line_number":2259,"context_line":"        if \u0027role_domain_id\u0027 in first_asgmt_grp:"},{"line_number":2260,"context_line":"            self.assertEqual(new_role[\u0027name\u0027],"},{"line_number":2261,"context_line":"                             first_asgmt_rol[\u0027role_name\u0027])"},{"line_number":2262,"context_line":"            self.assertEqual(new_user[\u0027name\u0027],"},{"line_number":2263,"context_line":"                             first_asgmt_rol[\u0027user_name\u0027])"},{"line_number":2264,"context_line":"            self.assertEqual(new_user[\u0027domain_id\u0027],"},{"line_number":2265,"context_line":"                             first_asgmt_dmn[\u0027user_domain_id\u0027])"},{"line_number":2266,"context_line":"            self.assertEqual(new_role[\u0027domain_id\u0027],"},{"line_number":2267,"context_line":"                             first_asgmt_grp[\u0027role_domain_id\u0027])"},{"line_number":2268,"context_line":""},{"line_number":2269,"context_line":"    def test_list_role_assignment_does_not_contain_names(self):"},{"line_number":2270,"context_line":"        \"\"\"Test names are not included with list role assignments."}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_b07ab022","line":2267,"range":{"start_line":2259,"start_character":8,"end_line":2267,"end_character":63},"updated":"2016-10-20 07:17:01.000000000","message":"id really prefer if asserts were not conditional","commit_id":"c003624b074ec3202a8be34e72bce91d236022ff"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"1a96ae2d2ced948bc8b7034ec444319f37524d04","unresolved":false,"context_lines":[{"line_number":2266,"context_line":"        new_domain \u003d self._get_domain_fixture()"},{"line_number":2267,"context_line":"        new_role \u003d unit.new_role_ref()"},{"line_number":2268,"context_line":"        new_role_with_domain \u003d unit.new_role_ref(domain_id\u003dnew_domain[\u0027id\u0027])"},{"line_number":2269,"context_line":"        self._assert_entities_and_assignments_with_names(new_role, new_domain)"},{"line_number":2270,"context_line":"        self._assert_entities_and_assignments_with_names(new_role_with_domain,"},{"line_number":2271,"context_line":"                                                         new_domain)"},{"line_number":2272,"context_line":""},{"line_number":2273,"context_line":"    def test_list_role_assignment_does_not_contain_names(self):"},{"line_number":2274,"context_line":"        \"\"\"Test names are not included with list role assignments."}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5da102_6838333e","line":2271,"range":{"start_line":2269,"start_character":0,"end_line":2271,"end_character":68},"updated":"2016-11-01 11:51:30.000000000","message":"this just seems a weird way of doing it...why are role names any more important than other entity names...passing them as a param seems odd. Either do it as a good single test, or break into multiple tests.","commit_id":"9aaf386b0addaee4f306bd4111ec70810520f5ce"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"9f1c2576ad6c5337db0ffff720bd5f75ebe9d3f5","unresolved":false,"context_lines":[{"line_number":2245,"context_line":"        self.assertEqual(new_role[\u0027name\u0027],"},{"line_number":2246,"context_line":"                         first_asgmt_dmn[\u0027role_name\u0027])"},{"line_number":2247,"context_line":""},{"line_number":2248,"context_line":"    def test_list_role_with_domain_assignment_containing_names(self):"},{"line_number":2249,"context_line":"        # Create Refs"},{"line_number":2250,"context_line":"        new_domain \u003d self._get_domain_fixture()"},{"line_number":2251,"context_line":"        new_role \u003d unit.new_role_ref(domain_id\u003dnew_domain[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_49af1581","line":2248,"range":{"start_line":2248,"start_character":8,"end_line":2248,"end_character":62},"updated":"2016-12-02 18:32:24.000000000","message":"(nit) The name could be better IMO because it is not a domain assignment we are talking about here, but a domain role which is used in an assignment. What about test_list_assignment_with_names_and_domain_role ?","commit_id":"7aba9559e181e3938dfdf35993215da83fc73470"}],"keystone/tests/unit/test_v3_assignment.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"826e3043fa41a157636f5a7aff2843f5f04db3a2","unresolved":false,"context_lines":[{"line_number":1604,"context_line":"            inherited_to_projects\u003dTrue)"},{"line_number":1605,"context_line":"        self.assertRoleAssignmentInListResponse(r, up_entity)"},{"line_number":1606,"context_line":""},{"line_number":1607,"context_line":"    def _test_list_role_assignments_include_names(self, role1):"},{"line_number":1608,"context_line":"        \"\"\"Call ``GET /role_assignments with include names``."},{"line_number":1609,"context_line":""},{"line_number":1610,"context_line":"        Test Plan:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a71b18c_225c247c","line":1607,"range":{"start_line":1607,"start_character":56,"end_line":1607,"end_character":61},"updated":"2016-12-07 04:34:41.000000000","message":"call this role?","commit_id":"812982a45f2a62f557c96f61108c3535811276c8"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"826e3043fa41a157636f5a7aff2843f5f04db3a2","unresolved":false,"context_lines":[{"line_number":1613,"context_line":"        - Create a project with a group and a user"},{"line_number":1614,"context_line":""},{"line_number":1615,"context_line":"        \"\"\""},{"line_number":1616,"context_line":"        role1 \u003d unit.new_role_ref()"},{"line_number":1617,"context_line":"        self.role_api.create_role(role1[\u0027id\u0027], role1)"},{"line_number":1618,"context_line":"        user1 \u003d unit.create_user(self.identity_api, domain_id\u003dself.domain_id)"},{"line_number":1619,"context_line":"        group \u003d unit.new_group_ref(domain_id\u003dself.domain_id)"},{"line_number":1620,"context_line":"        group \u003d self.identity_api.create_group(group)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a71b18c_0259e88d","line":1617,"range":{"start_line":1616,"start_character":0,"end_line":1617,"end_character":53},"updated":"2016-12-07 04:34:41.000000000","message":"remove these lines now that you\u0027re passing in role?","commit_id":"812982a45f2a62f557c96f61108c3535811276c8"}]}
