)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"4f481cbe83fc190abafb82692bfce89b9e1b7201","unresolved":false,"context_lines":[{"line_number":17,"context_line":"endpoint_override in the adapter however this is a better way to handle"},{"line_number":18,"context_line":"the case as it is constrained to the auth system."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Blueprint: plugin-wrapper"},{"line_number":21,"context_line":"Change-Id: I55363ae60c826d9f9be352a6342b537df5939137"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a80dd14_8c17c344","line":20,"updated":"2015-03-12 20:59:02.000000000","message":"this blueprint isn\u0027t approved and there\u0027s no spec.","commit_id":"79b66b9b04d9fc70551c0eb41dd316d99dd52d99"}],"keystoneclient/tests/auth/test_proxy.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d58e92367ee4047a40102a746014cb3bd160eef4","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        super(ProxyTests, self).setUp()"},{"line_number":33,"context_line":"        self.base_auth \u003d mock.MagicMock()"},{"line_number":34,"context_line":"        self.proxy \u003d auth.ProxyPlugin(self.base_auth)"},{"line_number":35,"context_line":"        self.session \u003d session.Session()"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_get_endpoint(self):"},{"line_number":38,"context_line":"        self.proxy.get_endpoint(session, a\u003d\u0027b\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_0c291337","line":35,"updated":"2015-03-12 21:08:48.000000000","message":"this isn\u0027t used.","commit_id":"79b66b9b04d9fc70551c0eb41dd316d99dd52d99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d58e92367ee4047a40102a746014cb3bd160eef4","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        self.proxy \u003d auth.ProxyPlugin(self.base_auth)"},{"line_number":35,"context_line":"        self.session \u003d session.Session()"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_get_endpoint(self):"},{"line_number":38,"context_line":"        self.proxy.get_endpoint(session, a\u003d\u0027b\u0027)"},{"line_number":39,"context_line":"        self.base_auth.get_endpoint.assert_called_once_with(session, a\u003d\u0027b\u0027)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_ec0cbfee","line":37,"updated":"2015-03-12 21:08:48.000000000","message":"add a doc to say what this is testing.","commit_id":"79b66b9b04d9fc70551c0eb41dd316d99dd52d99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d58e92367ee4047a40102a746014cb3bd160eef4","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        self.session \u003d session.Session()"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_get_endpoint(self):"},{"line_number":38,"context_line":"        self.proxy.get_endpoint(session, a\u003d\u0027b\u0027)"},{"line_number":39,"context_line":"        self.base_auth.get_endpoint.assert_called_once_with(session, a\u003d\u0027b\u0027)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_get_token(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_cc0b7bd4","line":38,"updated":"2015-03-12 21:08:48.000000000","message":"this should be using a random option name and value.\n\nwas this supposed to be self.session?","commit_id":"79b66b9b04d9fc70551c0eb41dd316d99dd52d99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d58e92367ee4047a40102a746014cb3bd160eef4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        s \u003d self.v3_auth.add_service(TEST_SERVICE)"},{"line_number":58,"context_line":"        s.add_standard_endpoints(public\u003dTEST_PUBLIC_URL)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        self.requests.post(\u0027%s/auth/tokens\u0027 % TEST_AUTH_URL,"},{"line_number":61,"context_line":"                           json\u003dself.v3_auth,"},{"line_number":62,"context_line":"                           headers\u003d{\u0027X-Subject-Token\u0027: self.token_id})"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_8ceb43db","line":60,"updated":"2015-03-12 21:08:48.000000000","message":"this API is really confusing since it looks like it\u0027s making a request rather than recording one.","commit_id":"79b66b9b04d9fc70551c0eb41dd316d99dd52d99"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7d7dd6aa8989c57fc343acd0f5ebc034c10127a9","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        s \u003d self.v3_auth.add_service(TEST_SERVICE)"},{"line_number":58,"context_line":"        s.add_standard_endpoints(public\u003dTEST_PUBLIC_URL)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        self.requests.post(\u0027%s/auth/tokens\u0027 % TEST_AUTH_URL,"},{"line_number":61,"context_line":"                           json\u003dself.v3_auth,"},{"line_number":62,"context_line":"                           headers\u003d{\u0027X-Subject-Token\u0027: self.token_id})"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_0c3e73da","line":60,"in_reply_to":"9a80dd14_8ceb43db","updated":"2015-03-12 21:16:23.000000000","message":"++","commit_id":"79b66b9b04d9fc70551c0eb41dd316d99dd52d99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d58e92367ee4047a40102a746014cb3bd160eef4","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                                   endpoint\u003dendpoint,"},{"line_number":75,"context_line":"                                   token\u003dtoken)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def test_endpoint_override(self):"},{"line_number":78,"context_line":"        plugin \u003d self._get_plugin(endpoint\u003dTEST_ENDPOINT_OVERRIDE)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        self.assertEqual(TEST_PUBLIC_URL,"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_4c7a2b25","line":77,"updated":"2015-03-12 21:08:48.000000000","message":"these should have comments saying what they\u0027re testing.","commit_id":"79b66b9b04d9fc70551c0eb41dd316d99dd52d99"}],"keystoneclient/tests/unit/auth/test_proxy.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e71f31dd7cbe64e79972bf74383c6523e23b74f7","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        super(ProxyTests, self).setUp()"},{"line_number":33,"context_line":"        self.base_auth \u003d mock.MagicMock()"},{"line_number":34,"context_line":"        self.proxy \u003d auth.ProxyPlugin(self.base_auth)"},{"line_number":35,"context_line":"        self.session \u003d session.Session()"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_get_endpoint(self):"},{"line_number":38,"context_line":"        self.proxy.get_endpoint(session, a\u003d\u0027b\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5afe65bd_1c4fdb93","line":35,"updated":"2015-06-02 01:02:55.000000000","message":"this isn\u0027t used.","commit_id":"ae7cc8c8d4327aa5cc4d20a531940fe41dc40778"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e71f31dd7cbe64e79972bf74383c6523e23b74f7","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        self.proxy \u003d auth.ProxyPlugin(self.base_auth)"},{"line_number":35,"context_line":"        self.session \u003d session.Session()"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_get_endpoint(self):"},{"line_number":38,"context_line":"        self.proxy.get_endpoint(session, a\u003d\u0027b\u0027)"},{"line_number":39,"context_line":"        self.base_auth.get_endpoint.assert_called_once_with(session, a\u003d\u0027b\u0027)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5afe65bd_fc43df6a","line":37,"updated":"2015-06-02 01:02:55.000000000","message":"add a doc to say what this is testing.","commit_id":"ae7cc8c8d4327aa5cc4d20a531940fe41dc40778"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e71f31dd7cbe64e79972bf74383c6523e23b74f7","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        self.session \u003d session.Session()"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_get_endpoint(self):"},{"line_number":38,"context_line":"        self.proxy.get_endpoint(session, a\u003d\u0027b\u0027)"},{"line_number":39,"context_line":"        self.base_auth.get_endpoint.assert_called_once_with(session, a\u003d\u0027b\u0027)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_get_token(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5afe65bd_bc5e8743","line":38,"updated":"2015-06-02 01:02:55.000000000","message":"this should be using a random option name and value.\n\nI assume this is supposed to be self.session rather than the module.","commit_id":"ae7cc8c8d4327aa5cc4d20a531940fe41dc40778"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e71f31dd7cbe64e79972bf74383c6523e23b74f7","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        self.base_auth.get_endpoint.assert_called_once_with(session, a\u003d\u0027b\u0027)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_get_token(self):"},{"line_number":42,"context_line":"        self.proxy.get_token(session, a\u003d\u0027b\u0027)"},{"line_number":43,"context_line":"        self.base_auth.get_token.assert_called_once_with(session, a\u003d\u0027b\u0027)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def test_invalidate(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5afe65bd_5c031310","line":42,"updated":"2015-06-02 01:02:55.000000000","message":"I assume this is supposed to be self.session rather than the module.\n\nsince it doesn\u0027t actually matter, could use mock.sentinel.session instead.","commit_id":"ae7cc8c8d4327aa5cc4d20a531940fe41dc40778"}]}
