diff options
| author | Chris McDonough <chrism@plope.com> | 2013-10-01 10:49:37 -0400 |
|---|---|---|
| committer | Chris McDonough <chrism@plope.com> | 2013-10-01 10:49:37 -0400 |
| commit | 5f3405096173450e43152c2d7172cca97512ac4e (patch) | |
| tree | 0f6b27ad2f0244d488454c572b869a3501d2acda /docs/quick_tutorial/routing/tutorial | |
| parent | d65b1597ddbdfb161a0c83c46b5ebad878571c76 (diff) | |
| parent | 1a76ed41b133ea73c7d40997c6f564fd72d7273e (diff) | |
| download | pyramid-5f3405096173450e43152c2d7172cca97512ac4e.tar.gz pyramid-5f3405096173450e43152c2d7172cca97512ac4e.tar.bz2 pyramid-5f3405096173450e43152c2d7172cca97512ac4e.zip | |
Merge branch 'master' of github.com:Pylons/pyramid
Diffstat (limited to 'docs/quick_tutorial/routing/tutorial')
| -rw-r--r-- | docs/quick_tutorial/routing/tutorial/__init__.py | 9 | ||||
| -rw-r--r-- | docs/quick_tutorial/routing/tutorial/home.pt | 10 | ||||
| -rw-r--r-- | docs/quick_tutorial/routing/tutorial/tests.py | 36 | ||||
| -rw-r--r-- | docs/quick_tutorial/routing/tutorial/views.py | 20 |
4 files changed, 75 insertions, 0 deletions
diff --git a/docs/quick_tutorial/routing/tutorial/__init__.py b/docs/quick_tutorial/routing/tutorial/__init__.py new file mode 100644 index 000000000..4b2dac36d --- /dev/null +++ b/docs/quick_tutorial/routing/tutorial/__init__.py @@ -0,0 +1,9 @@ +from pyramid.config import Configurator + + +def main(global_config, **settings): + config = Configurator(settings=settings) + config.include('pyramid_chameleon') + config.add_route('home', '/howdy/{first}/{last}') + config.scan('.views') + return config.make_wsgi_app()
\ No newline at end of file diff --git a/docs/quick_tutorial/routing/tutorial/home.pt b/docs/quick_tutorial/routing/tutorial/home.pt new file mode 100644 index 000000000..f2b991059 --- /dev/null +++ b/docs/quick_tutorial/routing/tutorial/home.pt @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <title>Quick Tour: ${name}</title> +</head> +<body> +<h1>${name}</h1> +<p>First: ${first}, Last: ${last}</p> +</body> +</html>
\ No newline at end of file diff --git a/docs/quick_tutorial/routing/tutorial/tests.py b/docs/quick_tutorial/routing/tutorial/tests.py new file mode 100644 index 000000000..572f389fb --- /dev/null +++ b/docs/quick_tutorial/routing/tutorial/tests.py @@ -0,0 +1,36 @@ +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() + request.matchdict['first'] = 'First' + request.matchdict['last'] = 'Last' + inst = TutorialViews(request) + response = inst.home() + self.assertEqual(response['first'], 'First') + self.assertEqual(response['last'], 'Last') + + +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('/howdy/Jane/Doe', status=200) + self.assertIn(b'Jane', res.body) + self.assertIn(b'Doe', res.body) diff --git a/docs/quick_tutorial/routing/tutorial/views.py b/docs/quick_tutorial/routing/tutorial/views.py new file mode 100644 index 000000000..8a9211e92 --- /dev/null +++ b/docs/quick_tutorial/routing/tutorial/views.py @@ -0,0 +1,20 @@ +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): + first = self.request.matchdict['first'] + last = self.request.matchdict['last'] + return { + 'name': 'Home View', + 'first': first, + 'last': last + } |
