blob: d3d4628ff825329815e57b456c0de1ebcf4e4aa7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
import unittest
class ViewTests(unittest.TestCase):
def setUp(self):
# This sets up the application registry with the registrations
# your application declares in its configure.zcml (including
# dependent registrations for repoze.bfg itself). This is a
# heavy-hammer way of making sure that your tests have enough
# context to run properly. But tests will run faster if you
# use only the registrations you need programmatically, so you
# should explore ways to do that rather than rely on ZCML (see
# the repoze.bfg tests for inspiration).
self._cleanup()
import myproject
import zope.configuration.xmlconfig
zope.configuration.xmlconfig.file('configure.zcml',
package=myproject)
def tearDown(self):
self._cleanup()
def _cleanup(self):
# this clears the application registry
from zope.testing.cleanup import cleanUp
cleanUp()
def test_my_view(self):
from myproject.views import my_view
context = DummyContext()
request = DummyRequest()
result = my_view(context, request)
self.assertEqual(result.status, '200 OK')
body = result.app_iter[0]
self.failUnless('Welcome to myproject' in body)
self.assertEqual(len(result.headerlist), 2)
self.assertEqual(result.headerlist[0],
('content-type', 'text/html; charset=UTF-8'))
self.assertEqual(result.headerlist[1], ('Content-Length',
str(len(body))))
class DummyContext:
pass
class DummyRequest:
pass
|