summaryrefslogtreecommitdiff
path: root/docs/tutorials/wiki2
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2016-02-08 23:00:58 -0600
committerMichael Merickel <michael@merickel.org>2016-02-08 23:04:30 -0600
commit62f0411a12a7f86bd7e3060b14f223cfb96322ad (patch)
tree535dbbff81d8b4c45fc9d4944ca3e1486db6d02b /docs/tutorials/wiki2
parent91ffccabafd2f074ac7620b5b64e52a8eb3cb31a (diff)
downloadpyramid-62f0411a12a7f86bd7e3060b14f223cfb96322ad.tar.gz
pyramid-62f0411a12a7f86bd7e3060b14f223cfb96322ad.tar.bz2
pyramid-62f0411a12a7f86bd7e3060b14f223cfb96322ad.zip
fix functional tests
Diffstat (limited to 'docs/tutorials/wiki2')
-rw-r--r--docs/tutorials/wiki2/src/tests/setup.py5
-rw-r--r--docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py57
2 files changed, 23 insertions, 39 deletions
diff --git a/docs/tutorials/wiki2/src/tests/setup.py b/docs/tutorials/wiki2/src/tests/setup.py
index d4e5a4072..93195a68c 100644
--- a/docs/tutorials/wiki2/src/tests/setup.py
+++ b/docs/tutorials/wiki2/src/tests/setup.py
@@ -20,6 +20,10 @@ requires = [
'docutils',
]
+tests_require = [
+ 'WebTest',
+]
+
setup(name='tutorial',
version='0.0',
description='tutorial',
@@ -39,6 +43,7 @@ setup(name='tutorial',
zip_safe=False,
test_suite='tutorial',
install_requires=requires,
+ tests_require=tests_require,
entry_points="""\
[paste.app_factory]
main = tutorial:main
diff --git a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py b/docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py
index eda47c064..2c08f9a64 100644
--- a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py
+++ b/docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py
@@ -1,4 +1,6 @@
+import transaction
import unittest
+from webtest import TestApp
class FunctionalTests(unittest.TestCase):
@@ -10,55 +12,32 @@ class FunctionalTests(unittest.TestCase):
editor_login = '/login?login=editor&password=editor' \
'&came_from=FrontPage&form.submitted=Login'
- engine = None
-
- @staticmethod
- def setup_database():
- import transaction
- from tutorial.models import Page
- from tutorial.models.meta import Base
-
-
- def initialize_db(dbsession, engine):
- Base.metadata.create_all(engine)
- with transaction.manager:
- model = Page(name='FrontPage', data='This is the front page')
- dbsession.add(model)
-
- def wrap_get_tm_session(session_factory, transaction_manager):
- dbsession = get_tm_session(session_factory, transaction_manager)
- initialize_db(dbsession, engine)
- return dbsession
-
- def wrap_get_engine(settings):
- global engine
- engine = get_engine(settings)
- return engine
-
- get_session = tutorial.models.meta.get_session
- tutorial.models.get_tm_session = wrap_get_tm_session
-
- get_engine = tutorial.models.meta.get_engine
- tutorial.models.get_engine = wrap_get_engine
-
@classmethod
def setUpClass(cls):
- cls.setup_database()
-
- from webtest import TestApp
+ from tutorial.models.meta import Base
+ from tutorial.models import (
+ Page,
+ get_tm_session,
+ )
from tutorial import main
+
settings = {'sqlalchemy.url': 'sqlite://'}
app = main({}, **settings)
cls.testapp = TestApp(app)
+ session_factory = app.registry['dbsession_factory']
+ cls.engine = session_factory.kw['bind']
+ Base.metadata.create_all(bind=cls.engine)
+
+ with transaction.manager:
+ dbsession = get_tm_session(session_factory, transaction.manager)
+ model = Page(name='FrontPage', data='This is the front page')
+ dbsession.add(model)
+
@classmethod
def tearDownClass(cls):
from tutorial.models.meta import Base
- Base.metadata.drop_all(engine)
-
- def tearDown(self):
- import transaction
- transaction.abort()
+ Base.metadata.drop_all(bind=cls.engine)
def test_root(self):
res = self.testapp.get('/', status=302)