Package repoze :: Package who :: Package tests :: Module test_classifiers
[hide private]

Source Code for Module repoze.who.tests.test_classifiers

 1  import unittest 
 2   
3 -class TestDefaultRequestClassifier(unittest.TestCase):
4
5 - def _getFUT(self):
8
9 - def _makeEnviron(self, kw=None):
10 environ = {} 11 environ['wsgi.version'] = (1,0) 12 if kw is not None: 13 environ.update(kw) 14 return environ
15
17 classifier = self._getFUT() 18 environ = self._makeEnviron({'REQUEST_METHOD':'COPY'}) 19 result = classifier(environ) 20 self.assertEqual(result, 'dav')
21
23 classifier = self._getFUT() 24 environ = self._makeEnviron({'HTTP_USER_AGENT':'WebDrive'}) 25 result = classifier(environ) 26 self.assertEqual(result, 'dav')
27
28 - def test_classify_xmlpost(self):
29 classifier = self._getFUT() 30 environ = self._makeEnviron({'CONTENT_TYPE':'text/xml', 31 'REQUEST_METHOD':'POST'}) 32 result = classifier(environ) 33 self.assertEqual(result, 'xmlpost')
34
35 - def test_classify_browser(self):
36 classifier = self._getFUT() 37 environ = self._makeEnviron({'CONTENT_TYPE':'text/xml', 38 'REQUEST_METHOD':'GET'}) 39 result = classifier(environ) 40 self.assertEqual(result, 'browser')
41 42
43 -class TestDefaultChallengeDecider(unittest.TestCase):
44
45 - def _getFUT(self):
48
49 - def _makeEnviron(self, kw=None):
50 environ = {} 51 environ['wsgi.version'] = (1,0) 52 if kw is not None: 53 environ.update(kw) 54 return environ
55
56 - def test_challenges_on_401(self):
57 decider = self._getFUT() 58 self.failUnless(decider({}, '401 Unauthorized', []))
59
61 decider = self._getFUT() 62 self.failIf(decider({}, '200 Ok', []))
63
64 -class TestPassthroughChallengeDecider(unittest.TestCase):
65
66 - def _getFUT(self):
69
70 - def _makeEnviron(self, kw=None):
71 environ = {} 72 environ['wsgi.version'] = (1,0) 73 if kw is not None: 74 environ.update(kw) 75 return environ
76
78 decider = self._getFUT() 79 self.failUnless(decider({}, '401 Unauthorized', []))
80
82 decider = self._getFUT() 83 self.failIf(decider({}, '200 Ok', []))
84
86 decider = self._getFUT() 87 self.failIf(decider({}, '401 Ok', [('WWW-Authenticate', 'xxx')]))
88
90 decider = self._getFUT() 91 self.failIf(decider({}, '401 Ok', [('Content-Type', 'text/html')]))
92