summaryrefslogtreecommitdiff
path: root/docs/tutorials/bfgwiki/src
diff options
context:
space:
mode:
Diffstat (limited to 'docs/tutorials/bfgwiki/src')
-rw-r--r--docs/tutorials/bfgwiki/src/authorization/tutorial/login.py7
-rw-r--r--docs/tutorials/bfgwiki/src/authorization/tutorial/tests.py30
-rw-r--r--docs/tutorials/bfgwiki/src/authorization/tutorial/views.py35
-rw-r--r--docs/tutorials/bfgwiki/src/basiclayout/tutorial/configure.zcml1
-rw-r--r--docs/tutorials/bfgwiki/src/basiclayout/tutorial/tests.py66
-rw-r--r--docs/tutorials/bfgwiki/src/basiclayout/tutorial/views.py6
-rw-r--r--docs/tutorials/bfgwiki/src/models/tutorial/tests.py23
-rw-r--r--docs/tutorials/bfgwiki/src/viewdecorators/tutorial/tests.py30
-rw-r--r--docs/tutorials/bfgwiki/src/viewdecorators/tutorial/views.py30
-rw-r--r--docs/tutorials/bfgwiki/src/views/tutorial/configure.zcml3
-rw-r--r--docs/tutorials/bfgwiki/src/views/tutorial/tests.py27
-rw-r--r--docs/tutorials/bfgwiki/src/views/tutorial/views.py20
12 files changed, 78 insertions, 200 deletions
diff --git a/docs/tutorials/bfgwiki/src/authorization/tutorial/login.py b/docs/tutorials/bfgwiki/src/authorization/tutorial/login.py
index 70697ec2e..d9d65bdca 100644
--- a/docs/tutorials/bfgwiki/src/authorization/tutorial/login.py
+++ b/docs/tutorials/bfgwiki/src/authorization/tutorial/login.py
@@ -1,6 +1,5 @@
from webob.exc import HTTPFound
-from repoze.bfg.chameleon_zpt import render_template_to_response
from repoze.bfg.view import bfg_view
from repoze.bfg.url import model_url
@@ -10,7 +9,7 @@ from repoze.bfg.security import forget
from tutorial.models import Wiki
from tutorial.security import USERS
-@bfg_view(for_=Wiki, name='login')
+@bfg_view(for_=Wiki, name='login', renderer='templates/login.pt')
def login(context, request):
login_url = model_url(context, request, 'login')
referrer = request.url
@@ -29,14 +28,12 @@ def login(context, request):
headers = headers)
message = 'Failed login'
- return render_template_to_response(
- 'templates/login.pt',
+ return dict(
message = message,
url = request.application_url + '/login',
came_from = came_from,
login = login,
password = password,
- request =request,
)
@bfg_view(for_=Wiki, name='logout')
diff --git a/docs/tutorials/bfgwiki/src/authorization/tutorial/tests.py b/docs/tutorials/bfgwiki/src/authorization/tutorial/tests.py
index 84a3a0f37..cd29d6ff4 100644
--- a/docs/tutorials/bfgwiki/src/authorization/tutorial/tests.py
+++ b/docs/tutorials/bfgwiki/src/authorization/tutorial/tests.py
@@ -72,18 +72,17 @@ class ViewPageTests(unittest.TestCase):
context.__parent__ = wiki
context.__name__ = 'thepage'
request = testing.DummyRequest()
- renderer = testing.registerDummyRenderer('templates/view.pt')
- response = self._callFUT(context, request)
- self.assertEqual(renderer.request, request)
+ info = self._callFUT(context, request)
+ self.assertEqual(info['page'], context)
self.assertEqual(
- renderer.content,
+ info['content'],
'<div class="document">\n'
'<p>Hello <a href="http://example.com/add_page/CruelWorld">'
'CruelWorld</a> '
'<a href="http://example.com/IDoExist/">'
'IDoExist</a>'
'</p>\n</div>\n')
- self.assertEqual(renderer.edit_url,
+ self.assertEqual(info['edit_url'],
'http://example.com/thepage/edit_page')
@@ -99,13 +98,14 @@ class AddPageTests(unittest.TestCase):
return add_page(context, request)
def test_it_notsubmitted(self):
+ from repoze.bfg.url import model_url
context = testing.DummyModel()
request = testing.DummyRequest()
request.subpath = ['AnotherPage']
- renderer = testing.registerDummyRenderer('templates/edit.pt')
- response = self._callFUT(context, request)
- self.assertEqual(renderer.request, request)
- self.assertEqual(renderer.page.data, '')
+ info = self._callFUT(context, request)
+ self.assertEqual(info['page'].data,'')
+ self.assertEqual(info['save_url'],
+ model_url(context, request, 'add_page', 'AnotherPage'))
def test_it_submitted(self):
context = testing.DummyModel()
@@ -130,12 +130,13 @@ class EditPageTests(unittest.TestCase):
return edit_page(context, request)
def test_it_notsubmitted(self):
+ from repoze.bfg.url import model_url
context = testing.DummyModel()
request = testing.DummyRequest()
- renderer = testing.registerDummyRenderer('templates/edit.pt')
- response = self._callFUT(context, request)
- self.assertEqual(renderer.request, request)
- self.assertEqual(renderer.page, context)
+ info = self._callFUT(context, request)
+ self.assertEqual(info['page'], context)
+ self.assertEqual(info['save_url'],
+ model_url(context, request, 'edit_page'))
def test_it_submitted(self):
context = testing.DummyModel()
@@ -145,6 +146,3 @@ class EditPageTests(unittest.TestCase):
response = self._callFUT(context, request)
self.assertEqual(response.location, 'http://example.com/')
self.assertEqual(context.data, 'Hello yo!')
-
-
-
diff --git a/docs/tutorials/bfgwiki/src/authorization/tutorial/views.py b/docs/tutorials/bfgwiki/src/authorization/tutorial/views.py
index beb52e1b7..26a44fcda 100644
--- a/docs/tutorials/bfgwiki/src/authorization/tutorial/views.py
+++ b/docs/tutorials/bfgwiki/src/authorization/tutorial/views.py
@@ -3,7 +3,6 @@ import re
from webob.exc import HTTPFound
from repoze.bfg.url import model_url
-from repoze.bfg.chameleon_zpt import render_template_to_response
from repoze.bfg.security import authenticated_userid
@@ -19,7 +18,7 @@ wikiwords = re.compile(r"\b([A-Z]\w+[A-Z]+\w+)")
def view_wiki(context, request):
return HTTPFound(location = model_url(context, request, 'FrontPage'))
-@bfg_view(for_=Page, permission='view')
+@bfg_view(for_=Page, renderer='templates/view.pt', permission='view')
def view_page(context, request):
wiki = context.__parent__
@@ -39,14 +38,11 @@ def view_page(context, request):
logged_in = authenticated_userid(request)
- return render_template_to_response('templates/view.pt',
- request = request,
- page = context,
- content = content,
- logged_in = logged_in,
- edit_url = edit_url)
+ return dict(page = context, content = content, edit_url = edit_url,
+ logged_in = logged_in)
-@bfg_view(for_=Wiki, name='add_page', permission='edit')
+@bfg_view(for_=Wiki, name='add_page', renderer='templates/edit.pt',
+ permission='edit')
def add_page(context, request):
name = request.subpath[0]
if 'form.submitted' in request.params:
@@ -63,13 +59,10 @@ def add_page(context, request):
logged_in = authenticated_userid(request)
- return render_template_to_response('templates/edit.pt',
- request = request,
- page = page,
- logged_in = logged_in,
- save_url = save_url)
+ return dict(page = page, save_url = save_url, logged_in = logged_in)
-@bfg_view(for_=Page, name='edit_page', permission='edit')
+@bfg_view(for_=Page, name='edit_page', renderer='templates/edit.pt',
+ permission='edit')
def edit_page(context, request):
if 'form.submitted' in request.params:
context.data = request.params['body']
@@ -77,11 +70,7 @@ def edit_page(context, request):
logged_in = authenticated_userid(request)
- return render_template_to_response('templates/edit.pt',
- request = request,
- page = context,
- logged_in = logged_in,
- save_url = model_url(context, request,
- 'edit_page')
- )
-
+ return dict(page = context,
+ save_url = model_url(context, request, 'edit_page'),
+ logged_in = logged_in)
+
diff --git a/docs/tutorials/bfgwiki/src/basiclayout/tutorial/configure.zcml b/docs/tutorials/bfgwiki/src/basiclayout/tutorial/configure.zcml
index f990298c5..e15d3a65d 100644
--- a/docs/tutorials/bfgwiki/src/basiclayout/tutorial/configure.zcml
+++ b/docs/tutorials/bfgwiki/src/basiclayout/tutorial/configure.zcml
@@ -6,6 +6,7 @@
<view
for=".models.MyModel"
view=".views.my_view"
+ renderer="templates/mytemplate.pt"
/>
<static
diff --git a/docs/tutorials/bfgwiki/src/basiclayout/tutorial/tests.py b/docs/tutorials/bfgwiki/src/basiclayout/tutorial/tests.py
index 408645fcb..f8c0ceb20 100644
--- a/docs/tutorials/bfgwiki/src/basiclayout/tutorial/tests.py
+++ b/docs/tutorials/bfgwiki/src/basiclayout/tutorial/tests.py
@@ -3,71 +3,9 @@ import unittest
from repoze.bfg import testing
class ViewTests(unittest.TestCase):
-
- """ These tests are unit tests for the view. They test the
- functionality of *only* the view. They register and use dummy
- implementations of repoze.bfg functionality to allow you to avoid
- testing 'too much'"""
-
- def setUp(self):
- """ cleanUp() is required to clear out the application registry
- between tests (done in setUp for good measure too)
- """
- testing.cleanUp()
-
- def tearDown(self):
- """ cleanUp() is required to clear out the application registry
- between tests
- """
- testing.cleanUp()
-
def test_my_view(self):
from tutorial.views import my_view
context = testing.DummyModel()
request = testing.DummyRequest()
- renderer = testing.registerDummyRenderer('templates/mytemplate.pt')
- response = my_view(context, request)
- renderer.assert_(project='tutorial')
-
-class ViewIntegrationTests(unittest.TestCase):
- """ These tests are integration tests for the view. These test
- the functionality the view *and* its integration with the rest of
- the repoze.bfg framework. They cause the entire environment to be
- set up and torn down as if your application was running 'for
- real'. This is a heavy-hammer way of making sure that your tests
- have enough context to run properly, and it tests your view's
- integration with the rest of BFG. You should not use this style
- of test to perform 'true' unit testing as tests will run faster
- and will be easier to write if you use the testing facilities
- provided by bfg and only the registrations you need, as in the
- above ViewTests.
- """
- def setUp(self):
- """ This sets up the application registry with the
- registrations your application declares in its configure.zcml
- (including dependent registrations for repoze.bfg itself).
- """
- testing.cleanUp()
- import tutorial
- import zope.configuration.xmlconfig
- zope.configuration.xmlconfig.file('configure.zcml',
- package=tutorial)
-
- def tearDown(self):
- """ Clear out the application registry """
- testing.cleanUp()
-
- def test_my_view(self):
- from tutorial.views import my_view
- context = testing.DummyModel()
- request = testing.DummyRequest()
- result = my_view(context, request)
- self.assertEqual(result.status, '200 OK')
- body = result.app_iter[0]
- self.failUnless('Welcome to' in body)
- self.assertEqual(len(result.headerlist), 2)
- self.assertEqual(result.headerlist[0],
- ('Content-Type', 'text/html; charset=UTF-8'))
- self.assertEqual(result.headerlist[1], ('Content-Length',
- str(len(body))))
-
+ info = my_view(context, request)
+ self.assertEqual(info['project'], 'tutorial')
diff --git a/docs/tutorials/bfgwiki/src/basiclayout/tutorial/views.py b/docs/tutorials/bfgwiki/src/basiclayout/tutorial/views.py
index 923c1fffa..9a2c37bc3 100644
--- a/docs/tutorials/bfgwiki/src/basiclayout/tutorial/views.py
+++ b/docs/tutorials/bfgwiki/src/basiclayout/tutorial/views.py
@@ -1,6 +1,2 @@
-from repoze.bfg.chameleon_zpt import render_template_to_response
-
def my_view(context, request):
- return render_template_to_response('templates/mytemplate.pt',
- request = request,
- project = 'tutorial')
+ return {'project':'tutorial'}
diff --git a/docs/tutorials/bfgwiki/src/models/tutorial/tests.py b/docs/tutorials/bfgwiki/src/models/tutorial/tests.py
index f367b7da0..1b540a60c 100644
--- a/docs/tutorials/bfgwiki/src/models/tutorial/tests.py
+++ b/docs/tutorials/bfgwiki/src/models/tutorial/tests.py
@@ -48,28 +48,9 @@ class AppmakerTests(unittest.TestCase):
self.failUnless(root['app_root'] is app_root)
class ViewTests(unittest.TestCase):
-
- """ These tests are unit tests for the view. They test the
- functionality of *only* the view. They register and use dummy
- implementations of repoze.bfg functionality to allow you to avoid
- testing 'too much'"""
-
- def setUp(self):
- """ cleanUp() is required to clear out the application registry
- between tests (done in setUp for good measure too)
- """
- testing.cleanUp()
-
- def tearDown(self):
- """ cleanUp() is required to clear out the application registry
- between tests
- """
- testing.cleanUp()
-
def test_my_view(self):
from tutorial.views import my_view
context = testing.DummyModel()
request = testing.DummyRequest()
- renderer = testing.registerDummyRenderer('templates/mytemplate.pt')
- response = my_view(context, request)
- renderer.assert_(project='tutorial')
+ info = my_view(context, request)
+ self.assertEqual(info['project'], 'tutorial')
diff --git a/docs/tutorials/bfgwiki/src/viewdecorators/tutorial/tests.py b/docs/tutorials/bfgwiki/src/viewdecorators/tutorial/tests.py
index 84a3a0f37..cd29d6ff4 100644
--- a/docs/tutorials/bfgwiki/src/viewdecorators/tutorial/tests.py
+++ b/docs/tutorials/bfgwiki/src/viewdecorators/tutorial/tests.py
@@ -72,18 +72,17 @@ class ViewPageTests(unittest.TestCase):
context.__parent__ = wiki
context.__name__ = 'thepage'
request = testing.DummyRequest()
- renderer = testing.registerDummyRenderer('templates/view.pt')
- response = self._callFUT(context, request)
- self.assertEqual(renderer.request, request)
+ info = self._callFUT(context, request)
+ self.assertEqual(info['page'], context)
self.assertEqual(
- renderer.content,
+ info['content'],
'<div class="document">\n'
'<p>Hello <a href="http://example.com/add_page/CruelWorld">'
'CruelWorld</a> '
'<a href="http://example.com/IDoExist/">'
'IDoExist</a>'
'</p>\n</div>\n')
- self.assertEqual(renderer.edit_url,
+ self.assertEqual(info['edit_url'],
'http://example.com/thepage/edit_page')
@@ -99,13 +98,14 @@ class AddPageTests(unittest.TestCase):
return add_page(context, request)
def test_it_notsubmitted(self):
+ from repoze.bfg.url import model_url
context = testing.DummyModel()
request = testing.DummyRequest()
request.subpath = ['AnotherPage']
- renderer = testing.registerDummyRenderer('templates/edit.pt')
- response = self._callFUT(context, request)
- self.assertEqual(renderer.request, request)
- self.assertEqual(renderer.page.data, '')
+ info = self._callFUT(context, request)
+ self.assertEqual(info['page'].data,'')
+ self.assertEqual(info['save_url'],
+ model_url(context, request, 'add_page', 'AnotherPage'))
def test_it_submitted(self):
context = testing.DummyModel()
@@ -130,12 +130,13 @@ class EditPageTests(unittest.TestCase):
return edit_page(context, request)
def test_it_notsubmitted(self):
+ from repoze.bfg.url import model_url
context = testing.DummyModel()
request = testing.DummyRequest()
- renderer = testing.registerDummyRenderer('templates/edit.pt')
- response = self._callFUT(context, request)
- self.assertEqual(renderer.request, request)
- self.assertEqual(renderer.page, context)
+ info = self._callFUT(context, request)
+ self.assertEqual(info['page'], context)
+ self.assertEqual(info['save_url'],
+ model_url(context, request, 'edit_page'))
def test_it_submitted(self):
context = testing.DummyModel()
@@ -145,6 +146,3 @@ class EditPageTests(unittest.TestCase):
response = self._callFUT(context, request)
self.assertEqual(response.location, 'http://example.com/')
self.assertEqual(context.data, 'Hello yo!')
-
-
-
diff --git a/docs/tutorials/bfgwiki/src/viewdecorators/tutorial/views.py b/docs/tutorials/bfgwiki/src/viewdecorators/tutorial/views.py
index 0725ffe28..a5d8f6b6a 100644
--- a/docs/tutorials/bfgwiki/src/viewdecorators/tutorial/views.py
+++ b/docs/tutorials/bfgwiki/src/viewdecorators/tutorial/views.py
@@ -3,7 +3,6 @@ import re
from webob.exc import HTTPFound
from repoze.bfg.url import model_url
-from repoze.bfg.chameleon_zpt import render_template_to_response
from repoze.bfg.view import bfg_view
from tutorial.models import Page
@@ -16,7 +15,7 @@ wikiwords = re.compile(r"\b([A-Z]\w+[A-Z]+\w+)")
def view_wiki(context, request):
return HTTPFound(location = model_url(context, request, 'FrontPage'))
-@bfg_view(for_=Page)
+@bfg_view(for_=Page, renderer='templates/view.pt')
def view_page(context, request):
wiki = context.__parent__
@@ -33,13 +32,9 @@ def view_page(context, request):
content = publish_parts(context.data, writer_name='html')['html_body']
content = wikiwords.sub(check, content)
edit_url = model_url(context, request, 'edit_page')
- return render_template_to_response('templates/view.pt',
- request = request,
- page = context,
- content = content,
- edit_url = edit_url)
-
-@bfg_view(for_=Wiki, name='add_page')
+ return dict(page = context, content = content, edit_url = edit_url)
+
+@bfg_view(for_=Wiki, name='add_page', renderer='templates/edit.pt')
def add_page(context, request):
name = request.subpath[0]
if 'form.submitted' in request.params:
@@ -53,22 +48,15 @@ def add_page(context, request):
page = Page('')
page.__name__ = name
page.__parent__ = context
- return render_template_to_response('templates/edit.pt',
- request = request,
- page = page,
- save_url = save_url)
-
-@bfg_view(for_=Page, name='edit_page')
+ return dict(page = page, save_url = save_url)
+
+@bfg_view(for_=Page, name='edit_page', renderer='templates/edit.pt')
def edit_page(context, request):
if 'form.submitted' in request.params:
context.data = request.params['body']
return HTTPFound(location = model_url(context, request))
- return render_template_to_response('templates/edit.pt',
- request = request,
- page = context,
- save_url = model_url(context, request,
- 'edit_page')
- )
+ return dict(page = context,
+ save_url = model_url(context, request, 'edit_page'))
diff --git a/docs/tutorials/bfgwiki/src/views/tutorial/configure.zcml b/docs/tutorials/bfgwiki/src/views/tutorial/configure.zcml
index 8fa1a10c9..038677bfc 100644
--- a/docs/tutorials/bfgwiki/src/views/tutorial/configure.zcml
+++ b/docs/tutorials/bfgwiki/src/views/tutorial/configure.zcml
@@ -17,17 +17,20 @@
for=".models.Wiki"
name="add_page"
view=".views.add_page"
+ renderer="templates/edit.pt"
/>
<view
for=".models.Page"
view=".views.view_page"
+ renderer="templates/view.pt"
/>
<view
for=".models.Page"
name="edit_page"
view=".views.edit_page"
+ renderer="templates/edit.pt"
/>
</configure>
diff --git a/docs/tutorials/bfgwiki/src/views/tutorial/tests.py b/docs/tutorials/bfgwiki/src/views/tutorial/tests.py
index 84a3a0f37..888618842 100644
--- a/docs/tutorials/bfgwiki/src/views/tutorial/tests.py
+++ b/docs/tutorials/bfgwiki/src/views/tutorial/tests.py
@@ -72,18 +72,17 @@ class ViewPageTests(unittest.TestCase):
context.__parent__ = wiki
context.__name__ = 'thepage'
request = testing.DummyRequest()
- renderer = testing.registerDummyRenderer('templates/view.pt')
- response = self._callFUT(context, request)
- self.assertEqual(renderer.request, request)
+ info = self._callFUT(context, request)
+ self.assertEqual(info['page'], context)
self.assertEqual(
- renderer.content,
+ info['content'],
'<div class="document">\n'
'<p>Hello <a href="http://example.com/add_page/CruelWorld">'
'CruelWorld</a> '
'<a href="http://example.com/IDoExist/">'
'IDoExist</a>'
'</p>\n</div>\n')
- self.assertEqual(renderer.edit_url,
+ self.assertEqual(info['edit_url'],
'http://example.com/thepage/edit_page')
@@ -99,13 +98,14 @@ class AddPageTests(unittest.TestCase):
return add_page(context, request)
def test_it_notsubmitted(self):
+ from repoze.bfg.url import model_url
context = testing.DummyModel()
request = testing.DummyRequest()
request.subpath = ['AnotherPage']
- renderer = testing.registerDummyRenderer('templates/edit.pt')
- response = self._callFUT(context, request)
- self.assertEqual(renderer.request, request)
- self.assertEqual(renderer.page.data, '')
+ info = self._callFUT(context, request)
+ self.assertEqual(info['page'].data,'')
+ self.assertEqual(info['save_url'],
+ model_url(context, request, 'add_page', 'AnotherPage'))
def test_it_submitted(self):
context = testing.DummyModel()
@@ -130,12 +130,13 @@ class EditPageTests(unittest.TestCase):
return edit_page(context, request)
def test_it_notsubmitted(self):
+ from repoze.bfg.url import model_url
context = testing.DummyModel()
request = testing.DummyRequest()
- renderer = testing.registerDummyRenderer('templates/edit.pt')
- response = self._callFUT(context, request)
- self.assertEqual(renderer.request, request)
- self.assertEqual(renderer.page, context)
+ info = self._callFUT(context, request)
+ self.assertEqual(info['page'], context)
+ self.assertEqual(info['save_url'],
+ model_url(context, request, 'edit_page'))
def test_it_submitted(self):
context = testing.DummyModel()
diff --git a/docs/tutorials/bfgwiki/src/views/tutorial/views.py b/docs/tutorials/bfgwiki/src/views/tutorial/views.py
index e99864550..57ca24d1b 100644
--- a/docs/tutorials/bfgwiki/src/views/tutorial/views.py
+++ b/docs/tutorials/bfgwiki/src/views/tutorial/views.py
@@ -3,7 +3,6 @@ import re
from webob.exc import HTTPFound
from repoze.bfg.url import model_url
-from repoze.bfg.chameleon_zpt import render_template_to_response
from tutorial.models import Page
@@ -29,11 +28,7 @@ def view_page(context, request):
content = publish_parts(context.data, writer_name='html')['html_body']
content = wikiwords.sub(check, content)
edit_url = model_url(context, request, 'edit_page')
- return render_template_to_response('templates/view.pt',
- request = request,
- page = context,
- content = content,
- edit_url = edit_url)
+ return dict(page = context, content = content, edit_url = edit_url)
def add_page(context, request):
name = request.subpath[0]
@@ -48,21 +43,14 @@ def add_page(context, request):
page = Page('')
page.__name__ = name
page.__parent__ = context
- return render_template_to_response('templates/edit.pt',
- request = request,
- page = page,
- save_url = save_url)
+ return dict(page = page, save_url = save_url)
def edit_page(context, request):
if 'form.submitted' in request.params:
context.data = request.params['body']
return HTTPFound(location = model_url(context, request))
- return render_template_to_response('templates/edit.pt',
- request = request,
- page = context,
- save_url = model_url(context, request,
- 'edit_page')
- )
+ return dict(page = context,
+ save_url = model_url(context, request, 'edit_page'))