summaryrefslogtreecommitdiff
path: root/docs/quick_tutorial/json
diff options
context:
space:
mode:
authorChristoph Zwerschke <cito@online.de>2016-04-19 20:07:12 +0200
committerChristoph Zwerschke <cito@online.de>2016-04-19 20:07:12 +0200
commit3629c49e46207ff5162a82883c14937e6ef4c186 (patch)
tree1306181202cb8313f16080789f5b9ab1eeb61d53 /docs/quick_tutorial/json
parent804ba0b2f434781e77d2b5191f1cd76a490f6610 (diff)
parent6c16fb020027fac47e4d2e335cd9e264dba8aa3b (diff)
downloadpyramid-3629c49e46207ff5162a82883c14937e6ef4c186.tar.gz
pyramid-3629c49e46207ff5162a82883c14937e6ef4c186.tar.bz2
pyramid-3629c49e46207ff5162a82883c14937e6ef4c186.zip
Merge remote-tracking branch 'refs/remotes/Pylons/master'
Diffstat (limited to 'docs/quick_tutorial/json')
-rw-r--r--docs/quick_tutorial/json/development.ini10
-rw-r--r--docs/quick_tutorial/json/setup.py14
-rw-r--r--docs/quick_tutorial/json/tutorial/__init__.py11
-rw-r--r--docs/quick_tutorial/json/tutorial/home.pt9
-rw-r--r--docs/quick_tutorial/json/tutorial/tests.py50
-rw-r--r--docs/quick_tutorial/json/tutorial/views.py19
6 files changed, 113 insertions, 0 deletions
diff --git a/docs/quick_tutorial/json/development.ini b/docs/quick_tutorial/json/development.ini
new file mode 100644
index 000000000..4d47e54a5
--- /dev/null
+++ b/docs/quick_tutorial/json/development.ini
@@ -0,0 +1,10 @@
+[app:main]
+use = egg:tutorial
+pyramid.reload_templates = true
+pyramid.includes =
+ pyramid_debugtoolbar
+
+[server:main]
+use = egg:pyramid#wsgiref
+host = 0.0.0.0
+port = 6543
diff --git a/docs/quick_tutorial/json/setup.py b/docs/quick_tutorial/json/setup.py
new file mode 100644
index 000000000..2221b72e9
--- /dev/null
+++ b/docs/quick_tutorial/json/setup.py
@@ -0,0 +1,14 @@
+from setuptools import setup
+
+requires = [
+ 'pyramid',
+ 'pyramid_chameleon'
+]
+
+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/json/tutorial/__init__.py b/docs/quick_tutorial/json/tutorial/__init__.py
new file mode 100644
index 000000000..6652544c3
--- /dev/null
+++ b/docs/quick_tutorial/json/tutorial/__init__.py
@@ -0,0 +1,11 @@
+from pyramid.config import Configurator
+
+
+def main(global_config, **settings):
+ config = Configurator(settings=settings)
+ config.include('pyramid_chameleon')
+ config.add_route('home', '/')
+ config.add_route('hello', '/howdy')
+ config.add_route('hello_json', 'howdy.json')
+ config.scan('.views')
+ return config.make_wsgi_app() \ No newline at end of file
diff --git a/docs/quick_tutorial/json/tutorial/home.pt b/docs/quick_tutorial/json/tutorial/home.pt
new file mode 100644
index 000000000..fd4ef8764
--- /dev/null
+++ b/docs/quick_tutorial/json/tutorial/home.pt
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <title>Quick Tutorial: ${name}</title>
+</head>
+<body>
+<h1>Hi ${name}</h1>
+</body>
+</html>
diff --git a/docs/quick_tutorial/json/tutorial/tests.py b/docs/quick_tutorial/json/tutorial/tests.py
new file mode 100644
index 000000000..c3cdacbdb
--- /dev/null
+++ b/docs/quick_tutorial/json/tutorial/tests.py
@@ -0,0 +1,50 @@
+import unittest
+
+from pyramid import testing
+
+
+class TutorialViewTests(unittest.TestCase):
+ def setUp(self):
+ self.config = testing.setUp()
+
+ def tearDown(self):
+ testing.tearDown()
+
+ def test_home(self):
+ from .views import TutorialViews
+
+ request = testing.DummyRequest()
+ inst = TutorialViews(request)
+ response = inst.home()
+ self.assertEqual('Home View', response['name'])
+
+ def test_hello(self):
+ from .views import TutorialViews
+
+ request = testing.DummyRequest()
+ inst = TutorialViews(request)
+ response = inst.hello()
+ self.assertEqual('Hello View', response['name'])
+
+
+class TutorialFunctionalTests(unittest.TestCase):
+ def setUp(self):
+ from tutorial import main
+ app = main({})
+ from webtest import TestApp
+
+ self.testapp = TestApp(app)
+
+ def test_home(self):
+ res = self.testapp.get('/', status=200)
+ self.assertIn(b'<h1>Hi Home View', res.body)
+
+ def test_hello(self):
+ res = self.testapp.get('/howdy', status=200)
+ self.assertIn(b'<h1>Hi Hello View', res.body)
+
+ def test_hello_json(self):
+ res = self.testapp.get('/howdy.json', status=200)
+ self.assertIn(b'{"name": "Hello View"}', res.body)
+ self.assertEqual(res.content_type, 'application/json')
+
diff --git a/docs/quick_tutorial/json/tutorial/views.py b/docs/quick_tutorial/json/tutorial/views.py
new file mode 100644
index 000000000..f15e55d1b
--- /dev/null
+++ b/docs/quick_tutorial/json/tutorial/views.py
@@ -0,0 +1,19 @@
+from pyramid.view import (
+ view_config,
+ view_defaults
+ )
+
+
+@view_defaults(renderer='home.pt')
+class TutorialViews:
+ def __init__(self, request):
+ self.request = request
+
+ @view_config(route_name='home')
+ def home(self):
+ return {'name': 'Home View'}
+
+ @view_config(route_name='hello')
+ @view_config(route_name='hello_json', renderer='json')
+ def hello(self):
+ return {'name': 'Hello View'}