)]}'
{"glance/common/auth.py":[{"author":{"_account_id":494,"name":"termie","email":"termie@openstack.org","username":"termie"},"change_message_id":"363be7c612c446ed34ba6bb8713217265a32bc7c","unresolved":false,"context_lines":[{"line_number":82,"context_line":"           case, we rewrite the url to contain /v2.0/ and retry using the v2"},{"line_number":83,"context_line":"           protocol."},{"line_number":84,"context_line":"        \"\"\""},{"line_number":85,"context_line":"        def check_auth_params():"},{"line_number":86,"context_line":"            # Ensure that supplied credential parameters are as required"},{"line_number":87,"context_line":"            for required in (\u0027username\u0027, \u0027password\u0027, \u0027auth_url\u0027):"},{"line_number":88,"context_line":"                if required not in self.creds:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAC3%2F%2F9nk%3D","line":85,"updated":"2011-12-12 21:03:18.000000000","message":"why are we checking these here? seems like it will generate a problem when keystone changes what is required","commit_id":"3e4857f5a4219ad33ad56c1d4c1972d2c5123260"}],"glance/tests/unit/test_auth.py":[{"author":{"_account_id":494,"name":"termie","email":"termie@openstack.org","username":"termie"},"change_message_id":"363be7c612c446ed34ba6bb8713217265a32bc7c","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class TestKeystoneAuthPlugin(unittest.TestCase):"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    \"\"\"Test that the Keystone auth plugin works properly\"\"\""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAC3%2F%2F9oA%3D","line":44,"updated":"2011-12-12 21:03:18.000000000","message":"whitespace","commit_id":"3e4857f5a4219ad33ad56c1d4c1972d2c5123260"},{"author":{"_account_id":494,"name":"termie","email":"termie@openstack.org","username":"termie"},"change_message_id":"363be7c612c446ed34ba6bb8713217265a32bc7c","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class TestKeystoneAuthPlugin(unittest.TestCase):"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    \"\"\"Test that the Keystone auth plugin works properly\"\"\""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def setUp(self):"},{"line_number":48,"context_line":"        self.stubs \u003d stubout.StubOutForTesting()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAC3%2F%2F9n8%3D","line":45,"updated":"2011-12-12 21:03:18.000000000","message":".","commit_id":"3e4857f5a4219ad33ad56c1d4c1972d2c5123260"},{"author":{"_account_id":494,"name":"termie","email":"termie@openstack.org","username":"termie"},"change_message_id":"363be7c612c446ed34ba6bb8713217265a32bc7c","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    def test_required_creds(self):"},{"line_number":54,"context_line":"        \"\"\""},{"line_number":55,"context_line":"        Test that plugin created without required"},{"line_number":56,"context_line":"        credential pieces raises an exception"},{"line_number":57,"context_line":"        \"\"\""},{"line_number":58,"context_line":"        bad_creds \u003d ["},{"line_number":59,"context_line":"            {},  # missing everything"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAC3%2F%2F9n4%3D","line":56,"updated":"2011-12-12 21:03:18.000000000","message":".","commit_id":"3e4857f5a4219ad33ad56c1d4c1972d2c5123260"},{"author":{"_account_id":494,"name":"termie","email":"termie@openstack.org","username":"termie"},"change_message_id":"363be7c612c446ed34ba6bb8713217265a32bc7c","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def test_v1_auth(self):"},{"line_number":120,"context_line":"        \"\"\""},{"line_number":121,"context_line":"        Test v1 auth code paths"},{"line_number":122,"context_line":"        \"\"\""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        def fake_do_request(cls, url, method, headers\u003dNone, body\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAC3%2F%2F9n0%3D","line":121,"updated":"2011-12-12 21:03:18.000000000","message":"one-liner.","commit_id":"3e4857f5a4219ad33ad56c1d4c1972d2c5123260"},{"author":{"_account_id":494,"name":"termie","email":"termie@openstack.org","username":"termie"},"change_message_id":"363be7c612c446ed34ba6bb8713217265a32bc7c","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                headers.get(\u0027X-Auth-Key\u0027) !\u003d \u0027pass\u0027):"},{"line_number":131,"context_line":"                resp.status \u003d 401"},{"line_number":132,"context_line":"            else:"},{"line_number":133,"context_line":"                resp.status \u003d\u003d 200"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"            return FakeResponse(resp), \"\""},{"line_number":136,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAC3%2F%2F9nw%3D","line":133,"updated":"2011-12-12 21:03:18.000000000","message":"probably want \u003d instead of \u003d\u003d","commit_id":"3e4857f5a4219ad33ad56c1d4c1972d2c5123260"},{"author":{"_account_id":494,"name":"termie","email":"termie@openstack.org","username":"termie"},"change_message_id":"363be7c612c446ed34ba6bb8713217265a32bc7c","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                tenant !\u003d \u0027tenant-ok\u0027):"},{"line_number":189,"context_line":"                resp.status \u003d 401"},{"line_number":190,"context_line":"            else:"},{"line_number":191,"context_line":"                resp.status \u003d\u003d 200"},{"line_number":192,"context_line":"                # Mock up a token to satisfy v2 auth"},{"line_number":193,"context_line":"                body \u003d {"},{"line_number":194,"context_line":"                    \"access\": {"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAC3%2F%2F9no%3D","line":191,"updated":"2011-12-12 21:03:18.000000000","message":"\u003d !\u003d \u003d\u003d","commit_id":"3e4857f5a4219ad33ad56c1d4c1972d2c5123260"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2aa00ff702352ae2e40cbcb50c5a8cb694355e0e","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                \u0027auth_url\u0027: \u0027http://localhost/v2.0\u0027,"},{"line_number":257,"context_line":"                \u0027password\u0027: \u0027pass\u0027,"},{"line_number":258,"context_line":"                \u0027tenant\u0027: \u0027tenant-ok\u0027"},{"line_number":259,"context_line":"            }"},{"line_number":260,"context_line":"        ]"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        for creds in good_creds:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F8Ss%3D","line":259,"updated":"2011-12-16 17:32:07.000000000","message":"Can we add another cred set here to test the trailing slash auth URL variant, too?","commit_id":"18aad746096795346274b98b3bb8c3220877229b"}]}
