From 1f145a35cb2ac6ace7bed88374cb10d318d41ae3 Mon Sep 17 00:00:00 2001 From: Clay Gerrard Date: Tue, 30 Nov 2010 19:07:21 -0600 Subject: [PATCH] update common.middleware.auth tests for compat with webob 1.0 --- test/unit/common/middleware/test_auth.py | 66 +++++++++++++----------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/test/unit/common/middleware/test_auth.py b/test/unit/common/middleware/test_auth.py index 800ecb4cb7..b380d4f684 100644 --- a/test/unit/common/middleware/test_auth.py +++ b/test/unit/common/middleware/test_auth.py @@ -314,12 +314,19 @@ class TestAuth(unittest.TestCase): def test_authorize_bad_path(self): req = Request.blank('/badpath') - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('401'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 401) req = Request.blank('/badpath') req.remote_user = 'act:usr,act,AUTH_cfa' - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('403'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 403) + req = Request.blank('') + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 404) + req = Request.blank('') + req.environ['swift.cache'] = FakeMemcache() + result = ''.join(self.test_auth(req.environ, lambda x, y: None)) + self.assert_(result.startswith('404'), result) def test_authorize_account_access(self): req = Request.blank('/v1/AUTH_cfa') @@ -327,14 +334,14 @@ class TestAuth(unittest.TestCase): self.assertEquals(self.test_auth.authorize(req), None) req = Request.blank('/v1/AUTH_cfa') req.remote_user = 'act:usr,act' - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('403'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 403) def test_authorize_acl_group_access(self): req = Request.blank('/v1/AUTH_cfa') req.remote_user = 'act:usr,act' - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('403'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 403) req = Request.blank('/v1/AUTH_cfa') req.remote_user = 'act:usr,act' req.acl = 'act' @@ -346,27 +353,27 @@ class TestAuth(unittest.TestCase): req = Request.blank('/v1/AUTH_cfa') req.remote_user = 'act:usr,act' req.acl = 'act2' - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('403'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 403) req = Request.blank('/v1/AUTH_cfa') req.remote_user = 'act:usr,act' req.acl = 'act:usr2' - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('403'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 403) def test_deny_cross_reseller(self): # Tests that cross-reseller is denied, even if ACLs/group names match req = Request.blank('/v1/OTHER_cfa') req.remote_user = 'act:usr,act,AUTH_cfa' req.acl = 'act' - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('403'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 403) def test_authorize_acl_referrer_access(self): req = Request.blank('/v1/AUTH_cfa') req.remote_user = 'act:usr,act' - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('403'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 403) req = Request.blank('/v1/AUTH_cfa') req.remote_user = 'act:usr,act' req.acl = '.r:*' @@ -374,23 +381,23 @@ class TestAuth(unittest.TestCase): req = Request.blank('/v1/AUTH_cfa') req.remote_user = 'act:usr,act' req.acl = '.r:.example.com' - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('403'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 403) req = Request.blank('/v1/AUTH_cfa') req.remote_user = 'act:usr,act' req.referer = 'http://www.example.com/index.html' req.acl = '.r:.example.com' self.assertEquals(self.test_auth.authorize(req), None) req = Request.blank('/v1/AUTH_cfa') - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('401'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 401) req = Request.blank('/v1/AUTH_cfa') req.acl = '.r:*' self.assertEquals(self.test_auth.authorize(req), None) req = Request.blank('/v1/AUTH_cfa') req.acl = '.r:.example.com' - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('401'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 401) req = Request.blank('/v1/AUTH_cfa') req.referer = 'http://www.example.com/index.html' req.acl = '.r:.example.com' @@ -399,19 +406,19 @@ class TestAuth(unittest.TestCase): def test_account_put_permissions(self): req = Request.blank('/v1/AUTH_new', environ={'REQUEST_METHOD': 'PUT'}) req.remote_user = 'act:usr,act' - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('403'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 403) req = Request.blank('/v1/AUTH_new', environ={'REQUEST_METHOD': 'PUT'}) req.remote_user = 'act:usr,act,AUTH_other' - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('403'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 403) # Even PUTs to your own account as account admin should fail req = Request.blank('/v1/AUTH_old', environ={'REQUEST_METHOD': 'PUT'}) req.remote_user = 'act:usr,act,AUTH_old' - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('403'), resp) + resp = self.test_auth.authorize(req) + self.assertEquals(resp and resp.status_int, 403) req = Request.blank('/v1/AUTH_new', environ={'REQUEST_METHOD': 'PUT'}) req.remote_user = 'act:usr,act,.reseller_admin' @@ -423,8 +430,7 @@ class TestAuth(unittest.TestCase): req = Request.blank('/v1/AUTH_new', environ={'REQUEST_METHOD': 'PUT'}) req.remote_user = 'act:usr,act,.super_admin' resp = self.test_auth.authorize(req) - resp = str(self.test_auth.authorize(req)) - self.assert_(resp.startswith('403'), resp) + self.assertEquals(resp and resp.status_int, 403) if __name__ == '__main__':