def setUp(self): SetupMixin.setUp(self) d=self.config.db.lookup('cn=fred,dc=example,dc=com') ldapconfig.loadConfig(configFiles=[], reload=True) def _setPassword(e, password): return e.setPassword(password) d.addCallback(_setPassword, 'flintstone') ldaptestutil.pumpingDeferredResult(d) os.mkdir(os.path.join(self.spool, 'example.com', 'h1'))
def test_existing(self): # TODO cookies don't work because there's nothing that would carry over their state data = self.checkPage( 'http://localhost/dc=example,dc=com/delete/uid=foo,dc=example,dc=com', cookies=False) self.assertEquals(data['title'], u'Ldaptor Delete Page') self.failUnless('<p>Remove <span>uid=foo,dc=example,dc=com</span>?</p>' in data['page']) # fill form, submit forms = data['tree'].getElementsByTagName('form') self.assertEquals(len(forms), 1) form = forms[0] # TODO support multipart/form-data, that's what the form tells us to use ## self.assertEquals(form.getAttribute('enctype', 'application/x-www-form-urlencoded'), ## 'application/x-www-form-urlencoded') action = data['url'].clear().click(form.getAttribute('action')) data = self.getPage( action, cookies=False, method=form.getAttribute('method', 'get').upper(), headers={'Content-Type': 'application/x-www-form-urlencoded'}, ) self.assertEquals(data['title'], 'Ldaptor Search Page') self.failUnless('Deleted uid=foo,dc=example,dc=com.' in data['page']) d = self.example.children() children = util.pumpingDeferredResult(d) self.assertEquals(children, [])
def test_existing(self): # TODO cookies don't work because there's nothing that would carry over their state data = self.checkPage('http://localhost/dc=example,dc=com/delete/uid=foo,dc=example,dc=com', cookies=False) self.assertEquals(data['title'], u'Ldaptor Delete Page') self.failUnless('<p>Remove <span>uid=foo,dc=example,dc=com</span>?</p>' in data['page']) # fill form, submit forms = data['tree'].getElementsByTagName('form') self.assertEquals(len(forms), 1) form = forms[0] # TODO support multipart/form-data, that's what the form tells us to use ## self.assertEquals(form.getAttribute('enctype', 'application/x-www-form-urlencoded'), ## 'application/x-www-form-urlencoded') action = data['url'].clear().click(form.getAttribute('action')) data = self.getPage(action, cookies=False, method=form.getAttribute('method', 'get').upper(), headers={'Content-Type': 'application/x-www-form-urlencoded'}, ) self.assertEquals(data['title'], 'Ldaptor Search Page') self.failUnless('Deleted uid=foo,dc=example,dc=com.' in data['page']) d = self.example.children() children = util.pumpingDeferredResult(d) self.assertEquals(children, [])
def test_map_alias_multiple(self): d = self.map.get('*****@*****.**') r = ldaptestutil.pumpingDeferredResult(d) got = r.split(', ') got.sort() wanted = ['*****@*****.**', '*****@*****.**'] wanted.sort() self.assertEquals(got, wanted)
def testSimple(self): d = fetchschema.fetch(self.client, 'dc=example,dc=com') (attributeTypes, objectClasses) = util.pumpingDeferredResult(d) self.failUnlessEqual( [to_bytes(x) for x in attributeTypes], [to_bytes(schema.AttributeTypeDescription(x)) for x in [ test_schema.AttributeType_KnownValues.knownValues[0][0]]]) self.failUnlessEqual( [to_bytes(x) for x in objectClasses], [to_bytes(schema.ObjectClassDescription(x)) for x in [ test_schema.OBJECTCLASSES['organization'], test_schema.OBJECTCLASSES['organizationalUnit']]])
def test_success(self): env = {} d = defer.maybeDeferred(courier_login.main, config=self.config, argv=['you', 'someone-else', 'foo'], env=env, service='fakeserv', authtype='login', authdata='[email protected]\nflintstone') r = ldaptestutil.pumpingDeferredResult(d) self.assertEquals(r, (os.path.join(self.spool, 'example.com', 'h1', 'fr'), 'fred')) self.assertEquals(env.get('AUTHENTICATED'), '*****@*****.**') self.assertEquals(env.get('MAILDIR'), '.')
def getPage(self, url, cookies, *a, **kw): parse = kw.pop('parse', True) if cookies: getter = mockweb.getPage else: getter = mockweb.getPage_noCookies kw['extraInfo'] = True d = getter(self.site, url, *a, **kw) data = util.pumpingDeferredResult(d) if parse: tree = microdom.parseString(data['page'], beExtremelyLenient=True) assert 'tree' not in data data['tree'] = tree title = data['tree'].getElementsByTagName('title')[0] assert 'title' not in data data['title'] = getTextContents(title) return data
def test_extension_alias(self): d = self.map.get('*****@*****.**') r = ldaptestutil.pumpingDeferredResult(d) self.assertEquals(r, '*****@*****.**')
def test_extension_simple(self): d = self.map.get('*****@*****.**') r = ldaptestutil.pumpingDeferredResult(d) self.assertEquals(r, '*****@*****.**')
def testUgly_has_local(self): d = defer.execute(self.map.get, 'foo@') r = ldaptestutil.pumpingDeferredResult(d) self.failUnlessIdentical(r, None)
def test_map_alias_simple(self): d = self.map.get('*****@*****.**') r = ldaptestutil.pumpingDeferredResult(d) self.assertEquals(r, '*****@*****.**')
def test_map_hasUser_noBox_validDomain_noUser(self): d = self.map.get('*****@*****.**') r = ldaptestutil.pumpingDeferredResult(d) self.assertEquals(r, None)
def test_map_hasUser_noBox_validDomain_validUser(self): d = self.map.get('*****@*****.**') r = ldaptestutil.pumpingDeferredResult(d) self.assertEquals(r, '*****@*****.**')