summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests/test_integration.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2010-10-25 10:29:31 -0400
committerChris McDonough <chrism@plope.com>2010-10-25 10:29:31 -0400
commit64372401084889a440c9d990a0febc221e3e4b5c (patch)
treec8939a341505d19f19fa6918d264b4e1d95326f8 /repoze/bfg/tests/test_integration.py
parentc8e78c2037806f3e5dab57de635bf80865b7061d (diff)
downloadpyramid-64372401084889a440c9d990a0febc221e3e4b5c.tar.gz
pyramid-64372401084889a440c9d990a0febc221e3e4b5c.tar.bz2
pyramid-64372401084889a440c9d990a0febc221e3e4b5c.zip
first pass at converting bfg to pyramid namespace
Diffstat (limited to 'repoze/bfg/tests/test_integration.py')
-rw-r--r--repoze/bfg/tests/test_integration.py236
1 files changed, 0 insertions, 236 deletions
diff --git a/repoze/bfg/tests/test_integration.py b/repoze/bfg/tests/test_integration.py
deleted file mode 100644
index b6eb860ee..000000000
--- a/repoze/bfg/tests/test_integration.py
+++ /dev/null
@@ -1,236 +0,0 @@
-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 import testing
-
-class INothing(Interface):
- pass
-
-@bfg_view(for_=INothing)
-@wsgiapp
-def wsgiapptest(environ, start_response):
- """ """
- return '123'
-
-class WGSIAppPlusBFGViewTests(unittest.TestCase):
- def test_it(self):
- from venusian import ATTACH_ATTR
- import types
- self.failUnless(getattr(wsgiapptest, ATTACH_ATTR))
- 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.interfaces import IViewClassifier
- 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(
- (IViewClassifier, IRequest, INothing), 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 TwillBase(unittest.TestCase):
- root_factory = None
- def setUp(self):
- import sys
- import twill
- from repoze.bfg.configuration import Configurator
- config = Configurator(root_factory=self.root_factory)
- config.load_zcml(self.config)
- twill.add_wsgi_intercept('localhost', 6543, config.make_wsgi_app)
- if sys.platform is 'win32': # pragma: no cover
- out = open('nul:', 'wb')
- else:
- out = open('/dev/null', 'wb')
- twill.set_output(out)
- testing.setUp(registry=config.registry)
-
- def tearDown(self):
- import twill
- import twill.commands
- twill.commands.reset_browser()
- twill.remove_wsgi_intercept('localhost', 6543)
- twill.set_output(None)
- testing.tearDown()
-
-class TestFixtureApp(TwillBase):
- config = 'repoze.bfg.tests.fixtureapp:configure.zcml'
- def test_it(self):
- import twill.commands
- browser = twill.commands.get_browser()
- browser.go('http://localhost:6543/another.html')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'fixture')
- browser.go('http://localhost:6543')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'fixture')
- browser.go('http://localhost:6543/dummyskin.html')
- self.assertEqual(browser.get_code(), 404)
- browser.go('http://localhost:6543/error.html')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'supressed')
- browser.go('http://localhost:6543/protected.html')
- self.assertEqual(browser.get_code(), 401)
-
-class TestCCBug(TwillBase):
- # "unordered" as reported in IRC by author of
- # http://labs.creativecommons.org/2010/01/13/cc-engine-and-web-non-frameworks/
- config = 'repoze.bfg.tests.ccbugapp:configure.zcml'
- def test_it(self):
- import twill.commands
- browser = twill.commands.get_browser()
- browser.go('http://localhost:6543/licenses/1/v1/rdf')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'rdf')
- browser.go('http://localhost:6543/licenses/1/v1/juri')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'juri')
-
-class TestHybridApp(TwillBase):
- # make sure views registered for a route "win" over views registered
- # without one, even though the context of the non-route view may
- # be more specific than the route view.
- config = 'repoze.bfg.tests.hybridapp:configure.zcml'
- def test_it(self):
- import twill.commands
- browser = twill.commands.get_browser()
- browser.go('http://localhost:6543/')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'global')
- browser.go('http://localhost:6543/abc')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'route')
- browser.go('http://localhost:6543/def')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'route2')
- browser.go('http://localhost:6543/ghi')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'global')
- browser.go('http://localhost:6543/jkl')
- self.assertEqual(browser.get_code(), 404)
- browser.go('http://localhost:6543/mno/global2')
- self.assertEqual(browser.get_code(), 404)
- browser.go('http://localhost:6543/pqr/global2')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'global2')
- browser.go('http://localhost:6543/error')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'supressed')
- browser.go('http://localhost:6543/error2')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'supressed2')
- browser.go('http://localhost:6543/error_sub')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'supressed2')
-
-class TestRestBugApp(TwillBase):
- # test bug reported by delijati 2010/2/3 (http://pastebin.com/d4cc15515)
- config = 'repoze.bfg.tests.restbugapp:configure.zcml'
- def test_it(self):
- import twill.commands
- browser = twill.commands.get_browser()
- browser.go('http://localhost:6543/pet')
- self.assertEqual(browser.get_code(), 200)
- self.assertEqual(browser.get_html(), 'gotten')
-
-class TestViewDecoratorApp(TwillBase):
- config = 'repoze.bfg.tests.viewdecoratorapp:configure.zcml'
- def test_it(self):
- import twill.commands
- browser = twill.commands.get_browser()
- browser.go('http://localhost:6543/first')
- self.assertEqual(browser.get_code(), 200)
- self.failUnless('OK' in browser.get_html())
-
- browser.go('http://localhost:6543/second')
- self.assertEqual(browser.get_code(), 200)
- self.failUnless('OK2' in browser.get_html())
-
- browser.go('http://localhost:6543/third')
- self.assertEqual(browser.get_code(), 200)
- self.failUnless('OK3' in browser.get_html())
-
-from repoze.bfg.tests.exceptionviewapp.models import AnException, NotAnException
-excroot = {'anexception':AnException(),
- 'notanexception':NotAnException()}
-
-class TestExceptionViewsApp(TwillBase):
- config = 'repoze.bfg.tests.exceptionviewapp:configure.zcml'
- root_factory = lambda *arg: excroot
- def test_it(self):
- import twill.commands
- browser = twill.commands.get_browser()
- browser.go('http://localhost:6543/')
- self.assertEqual(browser.get_code(), 200)
- self.failUnless('maybe' in browser.get_html())
-
- browser.go('http://localhost:6543/notanexception')
- self.assertEqual(browser.get_code(), 200)
- self.failUnless('no' in browser.get_html())
-
- browser.go('http://localhost:6543/anexception')
- self.assertEqual(browser.get_code(), 200)
- self.failUnless('yes' in browser.get_html())
-
- browser.go('http://localhost:6543/route_raise_exception')
- self.assertEqual(browser.get_code(), 200)
- self.failUnless('yes' in browser.get_html())
-
- browser.go('http://localhost:6543/route_raise_exception2')
- self.assertEqual(browser.get_code(), 200)
- self.failUnless('yes' in browser.get_html())
-
- browser.go('http://localhost:6543/route_raise_exception3')
- self.assertEqual(browser.get_code(), 200)
- self.failUnless('whoa' in browser.get_html())
-
- browser.go('http://localhost:6543/route_raise_exception4')
- self.assertEqual(browser.get_code(), 200)
- self.failUnless('whoa' in browser.get_html())
-
-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)
-