)]}'
{"keystone/tests/unit/test_validation.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ffe92eb1ddf689537dddf0634c0127970a8b1162","unresolved":false,"context_lines":[{"line_number":1485,"context_line":""},{"line_number":1486,"context_line":"    _valid_roles \u003d [{\u0027name\u0027: \u0027member\u0027},"},{"line_number":1487,"context_line":"                    {\u0027id\u0027: uuid.uuid4().hex},"},{"line_number":1488,"context_line":"                    {\u0027id\u0027: str(uuid.uuid4())}]"},{"line_number":1489,"context_line":"    _invalid_roles \u003d [False, True, 123, None]"},{"line_number":1490,"context_line":""},{"line_number":1491,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_95c28f33","line":1488,"updated":"2017-11-27 14:54:46.000000000","message":"Nice..","commit_id":"4500fe1d79e4a678de24aca1ffb9ab1a0f035c48"}],"keystone/trust/controllers.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7cd4ff8463290d73a1d18a04182ca88688bb4585","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                                   name\u003dname)"},{"line_number":100,"context_line":"        if not roles:"},{"line_number":101,"context_line":"            action \u003d _(\u0027At least one valid role should be specified\u0027)"},{"line_number":102,"context_line":"            raise exception.ForbiddenAction(action\u003daction)"},{"line_number":103,"context_line":"        return roles"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def _find_redelegated_trust(self, request):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff82abbf_a0d1a825","line":102,"range":{"start_line":102,"start_character":28,"end_line":102,"end_character":43},"updated":"2017-11-24 19:56:08.000000000","message":"Shouldn\u0027t this be a 400 Bad Request?","commit_id":"55105a47f9f9e34515ccc907e1768bce999cfb79"}],"keystone/trust/schema.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ffe92eb1ddf689537dddf0634c0127970a8b1162","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        \u0027type\u0027: [\u0027integer\u0027, \u0027null\u0027],"},{"line_number":37,"context_line":"        \u0027minimum\u0027: 0"},{"line_number":38,"context_line":"    },"},{"line_number":39,"context_line":"    # TODO(lbragstad): Need to find a better way to do this. We should be"},{"line_number":40,"context_line":"    # checking that a role is a list of IDs and/or names."},{"line_number":41,"context_line":"    \u0027roles\u0027: validation.add_array_type(parameter_types.id_string)"},{"line_number":42,"context_line":"}"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_b5ed53b8","side":"PARENT","line":40,"range":{"start_line":39,"start_character":0,"end_line":40,"end_character":57},"updated":"2017-11-27 14:54:46.000000000","message":"Thanks :)","commit_id":"e32c026cd62a2177d30bb9b183020dedd8b5f23c"}],"releasenotes/notes/bug-1734244-1b4ea83baa72566d.yaml":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7cd4ff8463290d73a1d18a04182ca88688bb4585","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    [`bug 1734244 \u003chttps://bugs.launchpad.net/keystone/+bug/1734244\u003e`_]"},{"line_number":5,"context_line":"    When create trust with invalid role key(neither \u0027id\u0027 nor \u0027name\u0027), Keystone"},{"line_number":6,"context_line":"    should raise 403 Forbidden, instead of 500 Internal Error."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ff82abbf_80c4a460","line":6,"updated":"2017-11-24 19:56:08.000000000","message":"nit: Return a 40X status code instead of a 500 when creating a trust with extra attributes.","commit_id":"55105a47f9f9e34515ccc907e1768bce999cfb79"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"d30650a91e9928f8cbc7abd2d664eb0952b5d1af","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    [`bug 1734244 \u003chttps://bugs.launchpad.net/keystone/+bug/1734244\u003e`_]"},{"line_number":5,"context_line":"    Return a 400 status code instead of a 500 when creating a trust with"},{"line_number":6,"context_line":"    extra attributes."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff82abbf_1193fa5c","line":6,"updated":"2017-11-27 10:52:03.000000000","message":"nit - *extra attributes in the roles parameter","commit_id":"c288666b65cb76e960eaa0ce31559d6b711ee5e8"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"0e54cc0be327056ba4b1e642c50b1df6fcba8c26","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    [`bug 1734244 \u003chttps://bugs.launchpad.net/keystone/+bug/1734244\u003e`_]"},{"line_number":5,"context_line":"    Return a 400 status code instead of a 500 when creating a trust with"},{"line_number":6,"context_line":"    extra attributes."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff82abbf_c2e13e9d","line":6,"in_reply_to":"ff82abbf_1193fa5c","updated":"2017-11-27 11:31:47.000000000","message":"Done","commit_id":"c288666b65cb76e960eaa0ce31559d6b711ee5e8"}]}
