aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_status_web_authz_Authz.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_status_web_authz_Authz.py')
-rw-r--r--lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_status_web_authz_Authz.py227
1 files changed, 0 insertions, 227 deletions
diff --git a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_status_web_authz_Authz.py b/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_status_web_authz_Authz.py
deleted file mode 100644
index a38201a2..00000000
--- a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_status_web_authz_Authz.py
+++ /dev/null
@@ -1,227 +0,0 @@
-# This file is part of Buildbot. Buildbot is free software: you can
-# redistribute it and/or modify it under the terms of the GNU General Public
-# License as published by the Free Software Foundation, version 2.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-# details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Copyright Buildbot Team Members
-
-from zope.interface import implements
-from twisted.trial import unittest
-from twisted.internet import defer
-
-from buildbot.status.web.authz import Authz
-from buildbot.status.web.auth import IAuth, AuthBase
-
-class StubRequest(object):
- # all we need from a request is username/password
- def __init__(self, username=None, passwd=None):
- self.args = {
- 'username' : [ username ],
- 'passwd' : [ passwd ],
- }
- self.received_cookies = {}
- self.send_cookies = []
- def getUser(self):
- return ''
-
- def getPassword(self):
- return None
- def addCookie(self, key, cookie, expires, path):
- self.send_cookies.append((key, cookie, expires, path))
-
-class StubHttpAuthRequest(object):
- # all we need from a request is username/password
- def __init__(self, username, passwd):
- self.args = {}
- self.username = username
- self.passwd = passwd
-
- def getUser(self):
- return self.username
-
- def getPassword(self):
- return self.passwd
-
-class StubAuth(AuthBase):
- implements(IAuth)
- def __init__(self, user):
- self.user = user
-
- def authenticate(self, user, pw):
- return user == self.user
-class TestAuthz(unittest.TestCase):
-
- def test_actionAllowed_Defaults(self):
- "by default, nothing is allowed"
- z = Authz()
- self.failedActions = []
- self.dl = []
- for a in Authz.knownActions:
- md = z.actionAllowed(a, StubRequest('foo', 'bar'))
- def check(res):
- if res:
- self.failedActions.append(a)
- return
- md.addCallback(check)
- self.dl.append(md)
- d = defer.DeferredList(self.dl)
- def check_failed(_):
- if self.failedActions:
- raise unittest.FailTest("action(s) %s do not default to False"
- % (self.failedActions,))
- d.addCallback(check_failed)
- return d
-
- def test_actionAllowed_Positive(self):
- "'True' should always permit access"
- z = Authz(forceBuild=True)
- d = z.actionAllowed('forceBuild', StubRequest('foo', 'bar'))
- def check(res):
- self.assertEqual(res, True)
- d.addCallback(check)
- return d
-
- def test_actionAllowed_AuthPositive(self):
- z = Authz(auth=StubAuth('jrobinson'),
- stopBuild='auth')
- d = z.actionAllowed('stopBuild', StubRequest('jrobinson', 'bar'))
- def check(res):
- self.assertEqual(res, True)
- d.addCallback(check)
- return d
-
- def test_actionAllowed_AuthNegative(self):
- z = Authz(auth=StubAuth('jrobinson'),
- stopBuild='auth')
- d = z.actionAllowed('stopBuild', StubRequest('apeterson', 'bar'))
- def check(res):
- self.assertEqual(res, False)
- d.addCallback(check)
- return d
-
- def test_actionAllowed_AuthCallable(self):
- myargs = []
- def myAuthzFn(*args):
- myargs.extend(args)
- z = Authz(auth=StubAuth('uu'),
- stopBuild=myAuthzFn)
- d = z.actionAllowed('stopBuild', StubRequest('uu', 'shh'), 'arg', 'arg2')
- def check(res):
- self.assertEqual(myargs, ['uu', 'arg', 'arg2'])
- d.addCallback(check)
- return d
-
- def test_actionAllowed_AuthCallableTrue(self):
- def myAuthzFn(*args):
- return True
- z = Authz(auth=StubAuth('uu'),
- stopBuild=myAuthzFn)
- d = z.actionAllowed('stopBuild', StubRequest('uu', 'shh'))
- def check(res):
- self.assertEqual(res, True)
- d.addCallback(check)
- return d
-
- def test_actionAllowed_AuthCallableFalse(self):
- def myAuthzFn(*args):
- return False
- z = Authz(auth=StubAuth('uu'),
- stopBuild=myAuthzFn)
- d = z.actionAllowed('stopBuild', StubRequest('uu', 'shh'))
- def check(res):
- self.assertEqual(res, False)
- d.addCallback(check)
- return d
-
- def test_advertiseAction_False(self):
- z = Authz(forceBuild = False)
- assert not z.advertiseAction('forceBuild',StubRequest())
-
- def test_advertiseAction_True(self):
- z = Authz(forceAllBuilds = True)
- assert z.advertiseAction('forceAllBuilds',StubRequest())
-
- def test_advertiseAction_auth(self):
- z = Authz(stopBuild = 'auth')
- assert not z.advertiseAction('stopBuild',StubRequest())
-
- def test_advertiseAction_auth_authenticated(self):
- z = Authz(auth=StubAuth('uu'),stopBuild = 'auth')
- r = StubRequest('uu','aa')
- d = z.login(r)
- def check(c):
- assert z.advertiseAction('stopBuild',r)
- d.addCallback(check)
-
- def test_advertiseAction_callable(self):
- z = Authz(auth=StubAuth('uu'), stopAllBuilds = lambda u : False)
- r = StubRequest('uu','aa')
- d = z.login(r)
- @d.addCallback
- def check(c):
- assert z.advertiseAction('stopAllBuilds',r)
- return d
-
- def test_authenticated_False(self):
- z = Authz(forceBuild = False)
- assert not z.authenticated(StubRequest())
-
- def test_authenticated_True(self):
- z = Authz(auth=StubAuth('uu'), forceBuild = True)
- r = StubRequest('uu','aa')
- d = z.login(r)
- @d.addCallback
- def check(c):
- assert z.authenticated(r)
- return d
-
- def test_authenticated_http_False(self):
- z = Authz(useHttpHeader = True)
- assert not z.authenticated(StubRequest())
-
- def test_authenticated_http_True(self):
- z = Authz(useHttpHeader = True)
- assert z.authenticated(StubHttpAuthRequest('foo', 'bar'))
-
- def test_constructor_invalidAction(self):
- self.assertRaises(ValueError, Authz, someRandomAction=3)
-
- def test_getUsername_http(self):
- z = Authz(useHttpHeader = True)
- assert z.getUsername(StubHttpAuthRequest('foo', 'bar')) == 'foo'
-
- def test_getPassword_http(self):
- z = Authz(useHttpHeader = True)
- assert z.getPassword(StubHttpAuthRequest('foo', 'bar')) == 'bar'
-
- def test_getUsername_http_missing(self):
- z = Authz(useHttpHeader = True)
- assert z.getUsername(StubRequest('foo', 'bar')) == ''
-
- def test_getPassword_http_missing(self):
- z = Authz(useHttpHeader = True)
- assert z.getPassword(StubRequest('foo', 'bar')) == None
-
- def test_getUsername_request(self):
- z = Authz()
- assert z.getUsername(StubRequest('foo', 'bar')) == 'foo'
-
- def test_getPassword_request(self):
- z = Authz()
- assert z.getPassword(StubRequest('foo', 'bar')) == 'bar'
-
- def test_advertiseAction_invalidAction(self):
- z = Authz()
- self.assertRaises(KeyError, z.advertiseAction, 'someRandomAction', StubRequest('snow', 'foo'))
-
- def test_actionAllowed_invalidAction(self):
- z = Authz()
- self.assertRaises(KeyError, z.actionAllowed, 'someRandomAction', StubRequest('snow', 'foo'))