)]}'
{"keystone/tests/unit/test_v3.py":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"f173347fad7b78a3d8bfc83d935ee6288c9bab65","unresolved":false,"context_lines":[{"line_number":1097,"context_line":"    # Service providers (federation)"},{"line_number":1098,"context_line":""},{"line_number":1099,"context_line":"    def assertValidServiceProvider(self, entity, ref\u003dNone, *args, **kwargs):"},{"line_number":1100,"context_line":""},{"line_number":1101,"context_line":"        attributes \u003d frozenset([\u0027auth_url\u0027, \u0027id\u0027, \u0027enabled\u0027, \u0027description\u0027,"},{"line_number":1102,"context_line":"                                \u0027links\u0027, \u0027relay_state_prefix\u0027, \u0027sp_url\u0027])"},{"line_number":1103,"context_line":"        for attribute in attributes:"}],"source_content_type":"text/x-python","patch_set":2,"id":"da6ed579_48bb1b73","line":1100,"range":{"start_line":1100,"start_character":0,"end_line":1100,"end_character":0},"updated":"2016-01-12 13:00:26.000000000","message":"(nit) unneeded blank line ?","commit_id":"4e07ea0df8f7aece7a59f923e6cbf29e5c4019c8"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"f173347fad7b78a3d8bfc83d935ee6288c9bab65","unresolved":false,"context_lines":[{"line_number":1101,"context_line":"        attributes \u003d frozenset([\u0027auth_url\u0027, \u0027id\u0027, \u0027enabled\u0027, \u0027description\u0027,"},{"line_number":1102,"context_line":"                                \u0027links\u0027, \u0027relay_state_prefix\u0027, \u0027sp_url\u0027])"},{"line_number":1103,"context_line":"        for attribute in attributes:"},{"line_number":1104,"context_line":"            self.assertIsNotNone(entity.get(attribute))"},{"line_number":1105,"context_line":""},{"line_number":1106,"context_line":"    def assertValidServiceProviderListResponse(self, resp, *args, **kwargs):"},{"line_number":1107,"context_line":"        return self.assertValidListResponse("}],"source_content_type":"text/x-python","patch_set":2,"id":"da6ed579_cb3145ee","line":1104,"updated":"2016-01-12 13:00:26.000000000","message":"It\u0027d be nice to check the types of this too using schemas. I remember Lance was doing this work for token validations.","commit_id":"4e07ea0df8f7aece7a59f923e6cbf29e5c4019c8"}]}
