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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
import os
import unittest
from repoze.bfg.wsgi import wsgiapp
from repoze.bfg.view import bfg_view
from repoze.bfg.view import static
from zope.interface import Interface
from repoze.bfg.testing import cleanUp
class INothing(Interface):
pass
@bfg_view(for_=INothing)
@wsgiapp
def wsgiapptest(environ, start_response):
""" """
return '123'
class WGSIAppPlusBFGViewTests(unittest.TestCase):
def test_it(self):
import types
self.failUnless(wsgiapptest.__bfg_view_settings__)
self.failUnless(type(wsgiapptest) is types.FunctionType)
context = DummyContext()
request = DummyRequest()
result = wsgiapptest(context, request)
self.assertEqual(result, '123')
def test_scanned(self):
from repoze.bfg.interfaces import IRequest
from repoze.bfg.interfaces import IView
from repoze.bfg.configuration import Configurator
from repoze.bfg.tests import test_integration
config = Configurator()
config.scan(test_integration)
reg = config.registry
view = reg.adapters.lookup((INothing, IRequest), IView, name='')
self.assertEqual(view, wsgiapptest)
here = os.path.dirname(__file__)
staticapp = static(os.path.join(here, 'fixtures'))
class TestStaticApp(unittest.TestCase):
def test_it(self):
from webob import Request
context = DummyContext()
from StringIO import StringIO
request = Request({'PATH_INFO':'',
'SCRIPT_NAME':'',
'SERVER_NAME':'localhost',
'SERVER_PORT':'80',
'REQUEST_METHOD':'GET',
'wsgi.version':(1,0),
'wsgi.url_scheme':'http',
'wsgi.input':StringIO()})
request.subpath = ['minimal.pt']
result = staticapp(context, request)
self.assertEqual(result.status, '200 OK')
self.assertEqual(
result.body,
open(os.path.join(here, 'fixtures/minimal.pt'), 'r').read())
class TestFixtureApp(unittest.TestCase):
def setUp(self):
cleanUp()
def tearDown(self):
cleanUp()
def test_execute_actions(self):
import repoze.bfg.tests.fixtureapp as package
from zope.configuration import config
from zope.configuration import xmlconfig
context = config.ConfigurationMachine()
xmlconfig.registerCommonDirectives(context)
context.package = package
xmlconfig.include(context, 'configure.zcml', package)
context.execute_actions(clear=False)
class DummyContext(object):
pass
class DummyRequest:
subpath = ('__init__.py',)
traversed = None
environ = {'REQUEST_METHOD':'GET', 'wsgi.version':(1,0)}
def get_response(self, application):
return application(None, None)
|