summaryrefslogtreecommitdiff
path: root/docs/quick_tutorial/functional_testing
diff options
context:
space:
mode:
authorPaul Everitt <paul@agendaless.com>2013-09-16 09:22:24 -0400
committerPaul Everitt <paul@agendaless.com>2013-09-16 09:22:24 -0400
commit55867d510658e5454e6b73055b944694b69f5668 (patch)
tree4bc2ce31579d467494f7424eb15a8aa39477f988 /docs/quick_tutorial/functional_testing
parent63e18d797b4f10f6d06ec7ad25d3dadc85147ae2 (diff)
parent4524d905975b481aee7f84b079a3abc5036508a6 (diff)
downloadpyramid-55867d510658e5454e6b73055b944694b69f5668.tar.gz
pyramid-55867d510658e5454e6b73055b944694b69f5668.tar.bz2
pyramid-55867d510658e5454e6b73055b944694b69f5668.zip
Merge branch 'docs.quicktutorial'
Diffstat (limited to 'docs/quick_tutorial/functional_testing')
-rw-r--r--docs/quick_tutorial/functional_testing/development.ini40
-rw-r--r--docs/quick_tutorial/functional_testing/setup.py13
-rw-r--r--docs/quick_tutorial/functional_testing/tutorial/__init__.py13
-rw-r--r--docs/quick_tutorial/functional_testing/tutorial/tests.py31
4 files changed, 97 insertions, 0 deletions
diff --git a/docs/quick_tutorial/functional_testing/development.ini b/docs/quick_tutorial/functional_testing/development.ini
new file mode 100644
index 000000000..470d92c57
--- /dev/null
+++ b/docs/quick_tutorial/functional_testing/development.ini
@@ -0,0 +1,40 @@
+[app:main]
+use = egg:tutorial
+pyramid.includes =
+ pyramid_debugtoolbar
+
+[server:main]
+use = egg:pyramid#wsgiref
+host = 0.0.0.0
+port = 6543
+
+# Begin logging configuration
+
+[loggers]
+keys = root, tutorial
+
+[logger_tutorial]
+level = DEBUG
+handlers =
+qualname = tutorial
+
+[handlers]
+keys = console
+
+[formatters]
+keys = generic
+
+[logger_root]
+level = INFO
+handlers = console
+
+[handler_console]
+class = StreamHandler
+args = (sys.stderr,)
+level = NOTSET
+formatter = generic
+
+[formatter_generic]
+format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s
+
+# End logging configuration
diff --git a/docs/quick_tutorial/functional_testing/setup.py b/docs/quick_tutorial/functional_testing/setup.py
new file mode 100644
index 000000000..9997984d3
--- /dev/null
+++ b/docs/quick_tutorial/functional_testing/setup.py
@@ -0,0 +1,13 @@
+from setuptools import setup
+
+requires = [
+ 'pyramid',
+]
+
+setup(name='tutorial',
+ install_requires=requires,
+ entry_points="""\
+ [paste.app_factory]
+ main = tutorial:main
+ """,
+) \ No newline at end of file
diff --git a/docs/quick_tutorial/functional_testing/tutorial/__init__.py b/docs/quick_tutorial/functional_testing/tutorial/__init__.py
new file mode 100644
index 000000000..2b4e84f30
--- /dev/null
+++ b/docs/quick_tutorial/functional_testing/tutorial/__init__.py
@@ -0,0 +1,13 @@
+from pyramid.config import Configurator
+from pyramid.response import Response
+
+
+def hello_world(request):
+ return Response('<body><h1>Hello World!</h1></body>')
+
+
+def main(global_config, **settings):
+ config = Configurator(settings=settings)
+ config.add_route('hello', '/')
+ config.add_view(hello_world, route_name='hello')
+ return config.make_wsgi_app() \ No newline at end of file
diff --git a/docs/quick_tutorial/functional_testing/tutorial/tests.py b/docs/quick_tutorial/functional_testing/tutorial/tests.py
new file mode 100644
index 000000000..4248acbe7
--- /dev/null
+++ b/docs/quick_tutorial/functional_testing/tutorial/tests.py
@@ -0,0 +1,31 @@
+import unittest
+
+from pyramid import testing
+
+
+class TutorialViewTests(unittest.TestCase):
+ def setUp(self):
+ self.config = testing.setUp()
+
+ def tearDown(self):
+ testing.tearDown()
+
+ def test_hello_world(self):
+ from tutorial import hello_world
+
+ request = testing.DummyRequest()
+ response = hello_world(request)
+ self.assertEqual(response.status_code, 200)
+
+
+class TutorialFunctionalTests(unittest.TestCase):
+ def setUp(self):
+ from tutorial import main
+ app = main({})
+ from webtest import TestApp
+
+ self.testapp = TestApp(app)
+
+ def test_hello_world(self):
+ res = self.testapp.get('/', status=200)
+ self.assertIn(b'<h1>Hello World!</h1>', res.body)