)]}'
{"keystoneclient/tests/unit/v3/test_application_credentials.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"38efe927424e197e1bbb161795227c3caf95a3de","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        kwargs \u003d super(ApplicationCredentialTests, self).new_ref(**kwargs)"},{"line_number":34,"context_line":"        kwargs.setdefault(\u0027name\u0027, uuid.uuid4().hex)"},{"line_number":35,"context_line":"        kwargs.setdefault(\u0027description\u0027, uuid.uuid4().hex)"},{"line_number":36,"context_line":"        kwargs.setdefault(\u0027unrestricted\u0027, False)"},{"line_number":37,"context_line":"        return kwargs"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def test_create_with_roles(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_86c5f55d","line":36,"updated":"2018-01-22 16:31:19.000000000","message":"Users are going to be able to create unrestricted application credentials, right? I realize that\u0027s more of a server implementation question, but..","commit_id":"5cdc204a6f877743e9ffdeb8f5f93dd4756affb4"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"337f9f45a79fde8854cfc736f93179249ee824de","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        kwargs \u003d super(ApplicationCredentialTests, self).new_ref(**kwargs)"},{"line_number":34,"context_line":"        kwargs.setdefault(\u0027name\u0027, uuid.uuid4().hex)"},{"line_number":35,"context_line":"        kwargs.setdefault(\u0027description\u0027, uuid.uuid4().hex)"},{"line_number":36,"context_line":"        kwargs.setdefault(\u0027unrestricted\u0027, False)"},{"line_number":37,"context_line":"        return kwargs"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def test_create_with_roles(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_aa8eaf24","line":36,"in_reply_to":"7f96bb07_86c5f55d","updated":"2018-01-22 19:54:30.000000000","message":"Yes, added a test to show this.","commit_id":"5cdc204a6f877743e9ffdeb8f5f93dd4756affb4"},{"author":{"_account_id":19853,"name":"Nguyen Hung Phuong","email":"phuongnh@vn.fujitsu.com","username":"phuongnh"},"change_message_id":"fc7f642ba2c73756128fab43f3ababafdcb0b078","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def test_create_with_role_id_and_names(self):"},{"line_number":54,"context_line":"        ref \u003d self.new_ref(user\u003duuid.uuid4().hex)"},{"line_number":55,"context_line":"        ref[\u0027roles\u0027] \u003d [{\u0027name\u0027: \u0027atestrole\u0027, \u0027domain\u0027: \u0027nondefault\u0027}, uuid.uuid4().hex]"},{"line_number":56,"context_line":"        req_ref \u003d ref.copy()"},{"line_number":57,"context_line":"        req_ref.pop(\u0027id\u0027)"},{"line_number":58,"context_line":"        user \u003d req_ref.pop(\u0027user\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f96bb07_4cae20e8","line":55,"updated":"2018-01-23 01:42:49.000000000","message":"line is too long.","commit_id":"d242bba0d9d89101c8afd7425ff080454fec6610"},{"author":{"_account_id":19853,"name":"Nguyen Hung Phuong","email":"phuongnh@vn.fujitsu.com","username":"phuongnh"},"change_message_id":"fc7f642ba2c73756128fab43f3ababafdcb0b078","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        req_ref.pop(\u0027id\u0027)"},{"line_number":58,"context_line":"        user \u003d req_ref.pop(\u0027user\u0027)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        req_ref[\u0027roles\u0027] \u003d [{\u0027name\u0027: \u0027atestrole\u0027, \u0027domain\u0027: \u0027nondefault\u0027},"},{"line_number":62,"context_line":"                            {\u0027id\u0027: ref[\u0027roles\u0027][1]}]"},{"line_number":63,"context_line":"        self.stub_entity(\u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f96bb07_8c7d0870","line":60,"updated":"2018-01-23 01:42:49.000000000","message":"should remove 1 blank line.","commit_id":"d242bba0d9d89101c8afd7425ff080454fec6610"}],"keystoneclient/v3/application_credentials.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"38efe927424e197e1bbb161795227c3caf95a3de","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def update(self):"},{"line_number":159,"context_line":"        raise exceptions.MethodNotImplemented("},{"line_number":160,"context_line":"            _(\u0027Update not supported for application credentials\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_46660d54","line":160,"updated":"2018-01-22 16:31:19.000000000","message":"nit: As a user, the phrasing here makes me wonder *if* support will come eventually... I wonder if we should say they are immutable instead?","commit_id":"5cdc204a6f877743e9ffdeb8f5f93dd4756affb4"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"337f9f45a79fde8854cfc736f93179249ee824de","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def update(self):"},{"line_number":159,"context_line":"        raise exceptions.MethodNotImplemented("},{"line_number":160,"context_line":"            _(\u0027Update not supported for application credentials\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_ca91bb48","line":160,"in_reply_to":"7f96bb07_46660d54","updated":"2018-01-22 19:54:30.000000000","message":"Done","commit_id":"5cdc204a6f877743e9ffdeb8f5f93dd4756affb4"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"108374adc6b0e942d83b4011ba4471053dc9d3d8","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            elif isinstance(role, dict):"},{"line_number":80,"context_line":"                role_list.extend([role])"},{"line_number":81,"context_line":"            else:"},{"line_number":82,"context_line":"                msg \u003d (_(\"Roles must be a list of IDs or role dicts.\"))"},{"line_number":83,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        if not role_list:"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f96bb07_67d77551","line":82,"updated":"2018-01-23 02:59:42.000000000","message":"I hit this exception without passing in any roles at all: \n\nhttp://paste.openstack.org/raw/650805/","commit_id":"d242bba0d9d89101c8afd7425ff080454fec6610"}],"releasenotes/notes/bp-application-credentials-27728ded876d7d5a.yaml":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"38efe927424e197e1bbb161795227c3caf95a3de","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    With application credentials, a user can grant their applications limited"},{"line_number":6,"context_line":"    access to their cloud resources. Applications can use keystoneauth with"},{"line_number":7,"context_line":"    the `v3applicationcredential` auth plugin to authenticate with keystone"},{"line_number":8,"context_line":"    without needing the user\u0027s password."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7f96bb07_6b58b455","line":8,"updated":"2018-01-22 16:31:19.000000000","message":"\\o/","commit_id":"5cdc204a6f877743e9ffdeb8f5f93dd4756affb4"}]}
