)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b1c627849dd2f96cbb99ff0a53f5dbc5a2ea2900","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix dict wrong use in ec2 auth"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"dict object has no attribute signature"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I9672670f9824c08e2dfa12b6b7ad7878ba838139"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAAXH%2F%2FcKY%3D","line":10,"updated":"2014-04-21 19:33:20.000000000","message":"is there a bug open for this?","commit_id":"030f351d371e5a6e5a81f72011d84fcd4873b71d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"2f8bbb73cafbe06239f318dc3e969c26c41b5b9e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix dict wrong use in ec2 auth"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"dict object has no attribute signature"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I9672670f9824c08e2dfa12b6b7ad7878ba838139"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1ae5cdf2_b4bc7f6d","line":10,"in_reply_to":"AAAAXH%2F%2FcKY%3D","updated":"2014-06-28 04:11:10.000000000","message":"add\n\n    Closes-Bug: #1289115","commit_id":"030f351d371e5a6e5a81f72011d84fcd4873b71d"}],"keystone/tests/test_contrib_ec2.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"14b922bd95d5a4a5e11fda06da94b773fc4f5131","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        creds[\u0027signature\u0027] \u003d signature"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        self.assertIsNone(self.controller.check_signature(creds_ref,"},{"line_number":50,"context_line":"                                                          creds))"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def test_check_signature_no_port_ok(self):"},{"line_number":53,"context_line":"        creds_ref \u003d {\u0027access\u0027: uuid.uuid4().hex,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F99mk%3D","line":50,"updated":"2014-03-31 22:06:29.000000000","message":"the test doesn\u0027t have to validate that the function returns None, and it makes the test confusing.","commit_id":"2f969b08253c25e3f8269cba00e9aae4a1029eb3"},{"author":{"_account_id":10018,"name":"Zhang Yang","email":"neil.zhangyang@huawei.com","username":"neil"},"change_message_id":"d82fdde3b0bba7e1823e4787d5270cfd076c4625","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        creds[\u0027signature\u0027] \u003d signature"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        self.assertIsNone(self.controller.check_signature(creds_ref,"},{"line_number":50,"context_line":"                                                          creds))"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def test_check_signature_no_port_ok(self):"},{"line_number":53,"context_line":"        creds_ref \u003d {\u0027access\u0027: uuid.uuid4().hex,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F98iE%3D","line":50,"in_reply_to":"AAAAWH%2F99mk%3D","updated":"2014-04-01 02:35:39.000000000","message":"Done","commit_id":"2f969b08253c25e3f8269cba00e9aae4a1029eb3"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"b80136c149b7f806caf7a0a13e7f27a4684cd6cf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAXH%2F%2F49E%3D","line":1,"updated":"2014-04-16 17:04:00.000000000","message":"Remove the copyright line and the line below it.","commit_id":"f5c6deca68d3d062d70e2c5fe7871cbca4941289"},{"author":{"_account_id":10018,"name":"Zhang Yang","email":"neil.zhangyang@huawei.com","username":"neil"},"change_message_id":"c672cbdd6f9bc6daef16a8f8df562ab1701f66a0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAXH%2F%2FjRQ%3D","line":1,"in_reply_to":"AAAAXH%2F%2F49E%3D","updated":"2014-04-19 16:02:40.000000000","message":"really sorry, I didn\u0027t notice your commits, the copyright lines are already removed","commit_id":"f5c6deca68d3d062d70e2c5fe7871cbca4941289"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"35368d661babaafc584406e5986a8cd4f7bb864a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        self.controller \u003d controllers.Ec2Controller()"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def test_check_signature_ok(self):"},{"line_number":33,"context_line":"        creds_ref \u003d {\u0027access\u0027: uuid.uuid4().hex,"},{"line_number":34,"context_line":"                     \u0027secret\u0027: uuid.uuid4().hex}"},{"line_number":35,"context_line":"        params \u003d {\u0027SignatureMethod\u0027: \u0027HmacSHA256\u0027,"},{"line_number":36,"context_line":"                  \u0027SignatureVersion\u0027: \u00272\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAXH%2F%2F00E%3D","line":33,"updated":"2014-04-17 06:20:11.000000000","message":"line 33-42, 52-60 and 72-80 are mostly repeated, suggest putting these in setup, or somewhere common? \n\nI think the only part that is changed is the host value in the second test, which you can override","commit_id":"f5c6deca68d3d062d70e2c5fe7871cbca4941289"},{"author":{"_account_id":10018,"name":"Zhang Yang","email":"neil.zhangyang@huawei.com","username":"neil"},"change_message_id":"c672cbdd6f9bc6daef16a8f8df562ab1701f66a0","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        self.controller \u003d controllers.Ec2Controller()"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def test_check_signature_ok(self):"},{"line_number":33,"context_line":"        creds_ref \u003d {\u0027access\u0027: uuid.uuid4().hex,"},{"line_number":34,"context_line":"                     \u0027secret\u0027: uuid.uuid4().hex}"},{"line_number":35,"context_line":"        params \u003d {\u0027SignatureMethod\u0027: \u0027HmacSHA256\u0027,"},{"line_number":36,"context_line":"                  \u0027SignatureVersion\u0027: \u00272\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAXH%2F%2FjRA%3D","line":33,"in_reply_to":"AAAAXH%2F%2F00E%3D","updated":"2014-04-19 16:02:40.000000000","message":"agree.","commit_id":"f5c6deca68d3d062d70e2c5fe7871cbca4941289"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b1c627849dd2f96cbb99ff0a53f5dbc5a2ea2900","unresolved":false,"context_lines":[{"line_number":31,"context_line":"                  \u0027verb\u0027: \u0027GET\u0027,"},{"line_number":32,"context_line":"                  \u0027path\u0027: \u0027/bar\u0027,"},{"line_number":33,"context_line":"                  \u0027params\u0027: sign_params}"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def setUp(self):"},{"line_number":36,"context_line":"        super(Ec2ControllerTest, self).setUp()"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAXH%2F%2FcE0%3D","line":34,"updated":"2014-04-21 19:33:20.000000000","message":"these *could* be moved to setup() but I can let stevemar follow up on that since he had the original comment.","commit_id":"030f351d371e5a6e5a81f72011d84fcd4873b71d"}]}
