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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
import unittest
from zope.component.testing import PlacelessSetup
class Base(PlacelessSetup):
def setUp(self):
PlacelessSetup.setUp(self)
def tearDown(self):
PlacelessSetup.tearDown(self)
def _zcmlConfigure(self):
import repoze.bfg
import zope.configuration.xmlconfig
zope.configuration.xmlconfig.file('configure.zcml', package=repoze.bfg)
def _getTemplatePath(self, name):
import os
here = os.path.abspath(os.path.dirname(__file__))
return os.path.join(here, 'fixtures', name)
class ViewTests(unittest.TestCase):
def _getTargetClass(self):
from repoze.bfg.view import View
return View
def _makeOne(self, *arg, **kw):
klass = self._getTargetClass()
return klass(*arg, **kw)
def test_call(self):
view = self._makeOne(None, None)
self.assertRaises(NotImplementedError, view)
class TemplateViewTests(unittest.TestCase, Base):
def setUp(self):
Base.setUp(self)
def tearDown(self):
Base.tearDown(self)
def _getTargetClass(self):
from repoze.bfg.view import TemplateView
return TemplateView
def _makeOne(self, *arg, **kw):
klass = self._getTargetClass()
return klass(*arg, **kw)
def test_call(self):
self._zcmlConfigure()
view = self._makeOne(None, None)
view.template = self._getTemplatePath('minimal.pt')
result = view(foo='foo')
from webob import Response
self.failUnless(isinstance(result, Response))
self.assertEqual(result.app_iter, ['<div>\n</div>'])
self.assertEqual(result.status, '200 OK')
self.assertEqual(len(result.headerlist), 2)
def test_call_no_template(self):
self._zcmlConfigure()
view = self._makeOne(None, None)
self.assertRaises(ValueError, view)
|