)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"bc560b42af23930c590f3d1b611b4b68cd03f2ba","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Enforce required parameters for trusts"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When creating trusts without \u0027impersonation\u0027 specified in the request,"},{"line_number":10,"context_line":"it is possible to recieve an exception from the backend, such as a MySQL"},{"line_number":11,"context_line":"error \u0027Column \"impersonation\" cannot be null\u0027. This check should be"},{"line_number":12,"context_line":"handled in the controllers so that the behavior is consistent across all"},{"line_number":13,"context_line":"backends."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"AAAAVn%2F%2FGzg%3D","line":10,"updated":"2014-03-09 16:37:20.000000000","message":"(nit) change \"recieve\" to \"receive\"","commit_id":"68dd364a79d7843b990113e0c390b0b4b41aaaa7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"053d987f8de77f5e8fc38f7b35cf5be4975e0356","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Enforce required parameters for trusts"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When creating trusts without \u0027impersonation\u0027 specified in the request,"},{"line_number":10,"context_line":"it is possible to recieve an exception from the backend, such as a MySQL"},{"line_number":11,"context_line":"error \u0027Column \"impersonation\" cannot be null\u0027. This check should be"},{"line_number":12,"context_line":"handled in the controllers so that the behavior is consistent across all"},{"line_number":13,"context_line":"backends."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"AAAAWH%2F%2F6Bw%3D","line":10,"in_reply_to":"AAAAVn%2F%2FGzg%3D","updated":"2014-03-13 04:04:55.000000000","message":"Done","commit_id":"68dd364a79d7843b990113e0c390b0b4b41aaaa7"}],"keystone/tests/test_v3.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"ec2bf036234b53d029ad60c581b5733c238e5afb","unresolved":false,"context_lines":[{"line_number":248,"context_line":"                      role_names\u003dNone):"},{"line_number":249,"context_line":"        # NOTE(ldbragst): The only attribute of ref that new_trust_ref shares"},{"line_number":250,"context_line":"        # with new_ref is \u0027id\u0027, so just create an id and use that instead of"},{"line_number":251,"context_line":"        # deleting \u0027enabled\u0027, \u0027description\u0027, and \u0027enabled\u0027."},{"line_number":252,"context_line":"        ref \u003d {\u0027id\u0027: uuid.uuid4().hex}"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"        ref[\u0027trustor_user_id\u0027] \u003d trustor_user_id"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUX%2F%2FnTw%3D","line":251,"updated":"2014-02-12 00:33:12.000000000","message":"enabled and enabled\n\nthe idea behind throwing enabled and description into everything was simply to exercise the \u0027extra\u0027 column... poorly.","commit_id":"a23ac89244d86f0202b5211c3dac4d0a5199620d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"290846a19bf1d6cc5c2b9fec55dae4e3934671cb","unresolved":false,"context_lines":[{"line_number":248,"context_line":"                      role_names\u003dNone):"},{"line_number":249,"context_line":"        # NOTE(ldbragst): The only attribute of ref that new_trust_ref shares"},{"line_number":250,"context_line":"        # with new_ref is \u0027id\u0027, so just create an id and use that instead of"},{"line_number":251,"context_line":"        # deleting \u0027enabled\u0027, \u0027description\u0027, and \u0027enabled\u0027."},{"line_number":252,"context_line":"        ref \u003d {\u0027id\u0027: uuid.uuid4().hex}"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"        ref[\u0027trustor_user_id\u0027] \u003d trustor_user_id"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAU3%2F%2F080%3D","line":251,"in_reply_to":"AAAAU3%2F%2F%2BSI%3D","updated":"2014-02-24 17:35:08.000000000","message":"Done. Yep, you\u0027re right, thanks! Fixed in next patch set.","commit_id":"a23ac89244d86f0202b5211c3dac4d0a5199620d"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"21b51b8b3229a82d845fd5828cd0186b27457311","unresolved":false,"context_lines":[{"line_number":248,"context_line":"                      role_names\u003dNone):"},{"line_number":249,"context_line":"        # NOTE(ldbragst): The only attribute of ref that new_trust_ref shares"},{"line_number":250,"context_line":"        # with new_ref is \u0027id\u0027, so just create an id and use that instead of"},{"line_number":251,"context_line":"        # deleting \u0027enabled\u0027, \u0027description\u0027, and \u0027enabled\u0027."},{"line_number":252,"context_line":"        ref \u003d {\u0027id\u0027: uuid.uuid4().hex}"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"        ref[\u0027trustor_user_id\u0027] \u003d trustor_user_id"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAU3%2F%2F%2BSI%3D","line":251,"in_reply_to":"AAAAUX%2F%2FnTw%3D","updated":"2014-02-23 07:12:35.000000000","message":"I think the extra enabled us meant to be name.","commit_id":"a23ac89244d86f0202b5211c3dac4d0a5199620d"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"ec2bf036234b53d029ad60c581b5733c238e5afb","unresolved":false,"context_lines":[{"line_number":976,"context_line":"            resp,"},{"line_number":977,"context_line":"            \u0027trusts\u0027,"},{"line_number":978,"context_line":"            self.assertValidTrustSummary,"},{"line_number":979,"context_line":"            keys_to_check\u003d[],"},{"line_number":980,"context_line":"            *args,"},{"line_number":981,"context_line":"            **kwargs)"},{"line_number":982,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUX%2F%2FnTM%3D","line":979,"updated":"2014-02-12 00:33:12.000000000","message":"pass in the variables you *do* want to check for","commit_id":"a23ac89244d86f0202b5211c3dac4d0a5199620d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"290846a19bf1d6cc5c2b9fec55dae4e3934671cb","unresolved":false,"context_lines":[{"line_number":976,"context_line":"            resp,"},{"line_number":977,"context_line":"            \u0027trusts\u0027,"},{"line_number":978,"context_line":"            self.assertValidTrustSummary,"},{"line_number":979,"context_line":"            keys_to_check\u003d[],"},{"line_number":980,"context_line":"            *args,"},{"line_number":981,"context_line":"            **kwargs)"},{"line_number":982,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAU3%2F%2Fzy0%3D","line":979,"in_reply_to":"AAAAUX%2F%2FnTM%3D","updated":"2014-02-24 17:35:08.000000000","message":"Done","commit_id":"a23ac89244d86f0202b5211c3dac4d0a5199620d"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"190de3bcabc13be1b3aff542e70edbfede1e1050","unresolved":false,"context_lines":[{"line_number":973,"context_line":"            resp,"},{"line_number":974,"context_line":"            \u0027trusts\u0027,"},{"line_number":975,"context_line":"            self.assertValidTrustSummary,"},{"line_number":976,"context_line":"            keys_to_check\u003d[\u0027trustee_user_id\u0027, \u0027trustor_user_id\u0027,"},{"line_number":977,"context_line":"                           \u0027impersonation\u0027],"},{"line_number":978,"context_line":"            *args,"},{"line_number":979,"context_line":"            **kwargs)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAU3%2F%2FyOM%3D","line":976,"updated":"2014-02-24 19:59:14.000000000","message":"did you have to change the code somewhere to handle this extra argument???","commit_id":"f6c1161d96f3b86129e5961593ec773633b42336"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e059d8d3ce593a5fb94a3e8c481acbe2c5d40d48","unresolved":false,"context_lines":[{"line_number":973,"context_line":"            resp,"},{"line_number":974,"context_line":"            \u0027trusts\u0027,"},{"line_number":975,"context_line":"            self.assertValidTrustSummary,"},{"line_number":976,"context_line":"            keys_to_check\u003d[\u0027trustee_user_id\u0027, \u0027trustor_user_id\u0027,"},{"line_number":977,"context_line":"                           \u0027impersonation\u0027],"},{"line_number":978,"context_line":"            *args,"},{"line_number":979,"context_line":"            **kwargs)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAU3%2F%2FxlE%3D","line":976,"in_reply_to":"AAAAU3%2F%2FyOM%3D","updated":"2014-02-24 21:06:00.000000000","message":"Nope, I don\u0027t think so. keys_to_check is an optional argument in assertValidListResponse [1] and the kwargs passed into assertValidResponse are popped out if they exist [2]: \n\n\n[1] https://github.com/openstack/keystone/blob/master/keystone/tests/test_v3.py#L417 [2] https://github.com/openstack/keystone/blob/master/keystone/tests/test_v3.py#L452\n\nSo, both of the above ensure that the keys we pass in here make it to assertValidEntity: https://github.com/openstack/keystone/blob/master/keystone/tests/test_v3.py#L463-L466\n\nSince both assertValidListResponse and assertValidResponse use assertValidEntity \n\nhttps://github.com/openstack/keystone/blob/master/keystone/tests/test_v3.py#L463-L466\n\nhttps://github.com/openstack/keystone/blob/master/keystone/tests/test_v3.py#L453","commit_id":"f6c1161d96f3b86129e5961593ec773633b42336"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"bc560b42af23930c590f3d1b611b4b68cd03f2ba","unresolved":false,"context_lines":[{"line_number":250,"context_line":"                      role_names\u003dNone, remaining_uses\u003dNone):"},{"line_number":251,"context_line":"        # NOTE(lbragstad): The only attribute of ref that new_trust_ref shares"},{"line_number":252,"context_line":"        # with new_ref is \u0027id\u0027, so just create an id and use that instead of"},{"line_number":253,"context_line":"        # deleting \u0027name\u0027, \u0027description\u0027, and \u0027enabled\u0027."},{"line_number":254,"context_line":"        ref \u003d {\u0027id\u0027: uuid.uuid4().hex}"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        ref[\u0027trustor_user_id\u0027] \u003d trustor_user_id"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAVn%2F%2FGzU%3D","line":253,"updated":"2014-03-09 16:37:20.000000000","message":"Suggest get rid of this comment. It\u0027s pretty obvious as is.","commit_id":"68dd364a79d7843b990113e0c390b0b4b41aaaa7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"053d987f8de77f5e8fc38f7b35cf5be4975e0356","unresolved":false,"context_lines":[{"line_number":250,"context_line":"                      role_names\u003dNone, remaining_uses\u003dNone):"},{"line_number":251,"context_line":"        # NOTE(lbragstad): The only attribute of ref that new_trust_ref shares"},{"line_number":252,"context_line":"        # with new_ref is \u0027id\u0027, so just create an id and use that instead of"},{"line_number":253,"context_line":"        # deleting \u0027name\u0027, \u0027description\u0027, and \u0027enabled\u0027."},{"line_number":254,"context_line":"        ref \u003d {\u0027id\u0027: uuid.uuid4().hex}"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        ref[\u0027trustor_user_id\u0027] \u003d trustor_user_id"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2F6BM%3D","line":253,"in_reply_to":"AAAAVn%2F%2FGzU%3D","updated":"2014-03-13 04:04:55.000000000","message":"Done","commit_id":"68dd364a79d7843b990113e0c390b0b4b41aaaa7"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"bc560b42af23930c590f3d1b611b4b68cd03f2ba","unresolved":false,"context_lines":[{"line_number":980,"context_line":"            \u0027trusts\u0027,"},{"line_number":981,"context_line":"            self.assertValidTrustSummary,"},{"line_number":982,"context_line":"            keys_to_check\u003d[\u0027trustee_user_id\u0027, \u0027trustor_user_id\u0027,"},{"line_number":983,"context_line":"                           \u0027impersonation\u0027],"},{"line_number":984,"context_line":"            *args,"},{"line_number":985,"context_line":"            **kwargs)"},{"line_number":986,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAVn%2F%2FGzM%3D","line":983,"updated":"2014-03-09 16:37:20.000000000","message":"this code should only override keys_to_check if the caller didn\u0027t pass it in, using kwargs.set_default or something.","commit_id":"68dd364a79d7843b990113e0c390b0b4b41aaaa7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"053d987f8de77f5e8fc38f7b35cf5be4975e0356","unresolved":false,"context_lines":[{"line_number":980,"context_line":"            \u0027trusts\u0027,"},{"line_number":981,"context_line":"            self.assertValidTrustSummary,"},{"line_number":982,"context_line":"            keys_to_check\u003d[\u0027trustee_user_id\u0027, \u0027trustor_user_id\u0027,"},{"line_number":983,"context_line":"                           \u0027impersonation\u0027],"},{"line_number":984,"context_line":"            *args,"},{"line_number":985,"context_line":"            **kwargs)"},{"line_number":986,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2F5Uw%3D","line":983,"in_reply_to":"AAAAVn%2F%2FGzM%3D","updated":"2014-03-13 04:04:55.000000000","message":"Done","commit_id":"68dd364a79d7843b990113e0c390b0b4b41aaaa7"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"bc560b42af23930c590f3d1b611b4b68cd03f2ba","unresolved":false,"context_lines":[{"line_number":990,"context_line":"            \u0027trust\u0027,"},{"line_number":991,"context_line":"            self.assertValidTrust,"},{"line_number":992,"context_line":"            keys_to_check\u003d[\u0027trustee_user_id\u0027, \u0027trustor_user_id\u0027,"},{"line_number":993,"context_line":"                           \u0027impersonation\u0027],"},{"line_number":994,"context_line":"            *args,"},{"line_number":995,"context_line":"            **kwargs)"},{"line_number":996,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAVn%2F%2FGzI%3D","line":993,"updated":"2014-03-09 16:37:20.000000000","message":"this code should only override keys_to_check if the caller didn\u0027t pass it in.","commit_id":"68dd364a79d7843b990113e0c390b0b4b41aaaa7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"053d987f8de77f5e8fc38f7b35cf5be4975e0356","unresolved":false,"context_lines":[{"line_number":990,"context_line":"            \u0027trust\u0027,"},{"line_number":991,"context_line":"            self.assertValidTrust,"},{"line_number":992,"context_line":"            keys_to_check\u003d[\u0027trustee_user_id\u0027, \u0027trustor_user_id\u0027,"},{"line_number":993,"context_line":"                           \u0027impersonation\u0027],"},{"line_number":994,"context_line":"            *args,"},{"line_number":995,"context_line":"            **kwargs)"},{"line_number":996,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAWH%2F%2F5U0%3D","line":993,"in_reply_to":"AAAAVn%2F%2FGzI%3D","updated":"2014-03-13 04:04:55.000000000","message":"Done","commit_id":"68dd364a79d7843b990113e0c390b0b4b41aaaa7"}],"keystone/trust/controllers.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"21b51b8b3229a82d845fd5828cd0186b27457311","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                                                    trust,"},{"line_number":188,"context_line":"                                                    clean_roles)"},{"line_number":189,"context_line":"            self._fill_in_roles(context, new_trust, all_roles)"},{"line_number":190,"context_line":"            return TrustV3.wrap_member(context, new_trust)"},{"line_number":191,"context_line":"        except KeyError as e:"},{"line_number":192,"context_line":"            raise exception.ValidationError(attribute\u003de.args[0],"},{"line_number":193,"context_line":"                                            target\u003d\u0027trust\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAU3%2F%2F%2BRg%3D","line":190,"updated":"2014-02-23 07:12:35.000000000","message":"I *think* you can remove this try/except block now. Since your calls will raise exceptions earlier if the keys are not there... Not 100% sure though","commit_id":"a23ac89244d86f0202b5211c3dac4d0a5199620d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"290846a19bf1d6cc5c2b9fec55dae4e3934671cb","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                                                    trust,"},{"line_number":188,"context_line":"                                                    clean_roles)"},{"line_number":189,"context_line":"            self._fill_in_roles(context, new_trust, all_roles)"},{"line_number":190,"context_line":"            return TrustV3.wrap_member(context, new_trust)"},{"line_number":191,"context_line":"        except KeyError as e:"},{"line_number":192,"context_line":"            raise exception.ValidationError(attribute\u003de.args[0],"},{"line_number":193,"context_line":"                                            target\u003d\u0027trust\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAU3%2F%2FzxE%3D","line":190,"in_reply_to":"AAAAU3%2F%2F%2BRg%3D","updated":"2014-02-24 17:35:08.000000000","message":"Done, yes that should now be handled by TrustV3.check_required_params(trust)","commit_id":"a23ac89244d86f0202b5211c3dac4d0a5199620d"}]}
