diff options
author | Thiago da Silva <thiago@redhat.com> | 2013-11-15 17:13:53 -0500 |
---|---|---|
committer | Luis Pabon <lpabon@redhat.com> | 2013-11-20 11:38:10 -0800 |
commit | 3f504879c4a41fa688e5f3d336c8f5f9f9d3f49a (patch) | |
tree | 31a2926037bbd011aeec311dc50c246da7682d10 | |
parent | adb7301b23dcb6759c417ad5f89ad76a7f511493 (diff) |
fix error with swauth-clean-tokens
Error is caused by left-over code from swauth. It had hard-coded
the auth account to .auth. Changed code to use volume specified
in the config file
Change-Id: Id00eb3964b6b26a84511e4753ab80b2dea5654da
Signed-off-by: Thiago da Silva <thiago@redhat.com>
Reviewed-on: http://review.gluster.org/6280
Reviewed-by: Luis Pabon <lpabon@redhat.com>
Tested-by: Luis Pabon <lpabon@redhat.com>
Reviewed-on: http://review.gluster.org/6312
-rw-r--r-- | gluster/swift/common/middleware/gswauth/swauth/middleware.py | 2 | ||||
-rw-r--r-- | test/unit/common/middleware/gswauth/swauth/test_middleware.py | 34 |
2 files changed, 35 insertions, 1 deletions
diff --git a/gluster/swift/common/middleware/gswauth/swauth/middleware.py b/gluster/swift/common/middleware/gswauth/swauth/middleware.py index 0a1c808..996228d 100644 --- a/gluster/swift/common/middleware/gswauth/swauth/middleware.py +++ b/gluster/swift/common/middleware/gswauth/swauth/middleware.py @@ -1158,7 +1158,7 @@ class Swauth(object): if user == '.super_admin' and self.super_admin_key and \ key == self.super_admin_key: token = self.get_itoken(req.environ) - url = '%s/%s.auth' % (self.dsc_url, self.reseller_prefix) + url = '%s/%s' % (self.dsc_url, self.auth_account) return Response( request=req, body=json.dumps( diff --git a/test/unit/common/middleware/gswauth/swauth/test_middleware.py b/test/unit/common/middleware/gswauth/swauth/test_middleware.py index 9ecd7d6..46d634f 100644 --- a/test/unit/common/middleware/gswauth/swauth/test_middleware.py +++ b/test/unit/common/middleware/gswauth/swauth/test_middleware.py @@ -804,6 +804,40 @@ class TestAuth(unittest.TestCase): self.assertEquals(resp.status_int, 500) self.assertEquals(self.test_auth.app.calls, 2) + def test_get_token_for_auth_acct_success(self): + local_auth = \ + auth.filter_factory({ + 'super_admin_key': 'supertest', + 'metadata_volume': 'gsmd', + 'token_life': str(DEFAULT_TOKEN_LIFE), + 'max_token_life': str(MAX_TOKEN_LIFE)})(FakeApp()) + resp = Request.blank( + '/auth/v1.0', + environ={'REQUEST_METHOD': 'GET', + 'swift.cache': FakeMemcache()}, + headers={'X-Auth-User': 'act:.super_admin', + 'X-Auth-Key': 'supertest'}).get_response(local_auth) + self.assertEquals(resp.status_int, 200) + itk = resp.headers.get('x-auth-token') + self.assertTrue(itk.startswith('AUTH_itk'), itk) + self.assertEquals(resp.headers.get('x-storage-url'), + 'http://127.0.0.1:8080/v1/AUTH_gsmd') + + def test_get_token_for_auth_acct_fail_passwd(self): + local_auth = \ + auth.filter_factory({ + 'super_admin_key': 'supertest', + 'metadata_volume': 'gsmd', + 'token_life': str(DEFAULT_TOKEN_LIFE), + 'max_token_life': str(MAX_TOKEN_LIFE)})(FakeApp()) + resp = Request.blank( + '/auth/v1.0', + environ={'REQUEST_METHOD': 'GET', + 'swift.cache': FakeMemcache()}, + headers={'X-Auth-User': 'act:.super_admin', + 'X-Auth-Key': 'invalidpasswd'}).get_response(local_auth) + self.assertEquals(resp.status_int, 401) + def test_get_token_success_v1_0(self): self.test_auth.app = FakeApp(iter([ # GET of user object |