summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorTheron Luhn <theron@luhn.com>2020-11-08 12:38:45 -0800
committerTheron Luhn <theron@luhn.com>2020-11-08 12:38:45 -0800
commitab15b5c8f48ccf0a5f106df7af46e2b9742d0b20 (patch)
tree7f399c9270f5f06f8b2232605ad9efe18e5e06a9 /docs
parentf10f81ccdfbf44cfa92ef5fcdcb84e6fed4053fb (diff)
downloadpyramid-ab15b5c8f48ccf0a5f106df7af46e2b9742d0b20.tar.gz
pyramid-ab15b5c8f48ccf0a5f106df7af46e2b9742d0b20.tar.bz2
pyramid-ab15b5c8f48ccf0a5f106df7af46e2b9742d0b20.zip
First attempt at fixing wiki2 tests.
Diffstat (limited to 'docs')
-rw-r--r--docs/tutorials/wiki2/src/tests/tests/conftest.py13
-rw-r--r--docs/tutorials/wiki2/src/tests/tests/test_views.py26
2 files changed, 27 insertions, 12 deletions
diff --git a/docs/tutorials/wiki2/src/tests/tests/conftest.py b/docs/tutorials/wiki2/src/tests/tests/conftest.py
index 1c8fb16d0..0fe689697 100644
--- a/docs/tutorials/wiki2/src/tests/tests/conftest.py
+++ b/docs/tutorials/wiki2/src/tests/tests/conftest.py
@@ -4,7 +4,7 @@ import alembic.command
import os
from pyramid.paster import get_appsettings
from pyramid.scripting import prepare
-from pyramid.testing import DummyRequest
+from pyramid.testing import DummyRequest, testConfig
import pytest
import transaction
from webob.cookies import Cookie
@@ -143,8 +143,9 @@ def app_request(app, tm, dbsession):
yield request
env['closer']()
+
@pytest.fixture
-def dummy_request(app, tm, dbsession):
+def dummy_request(tm, dbsession):
"""
A lightweight dummy request.
@@ -158,9 +159,15 @@ def dummy_request(app, tm, dbsession):
"""
request = DummyRequest()
- request.registry = app.registry
request.host = 'example.com'
request.dbsession = dbsession
request.tm = tm
return request
+
+
+@pytest.yield_fixture
+def dummy_config(dummy_request):
+ with testConfig(request=dummy_request) as config:
+ config.include('tutorial.routes') # Current workaround, feels wrong.
+ yield config
diff --git a/docs/tutorials/wiki2/src/tests/tests/test_views.py b/docs/tutorials/wiki2/src/tests/tests/test_views.py
index 124782d2c..4e64dae1f 100644
--- a/docs/tutorials/wiki2/src/tests/tests/test_views.py
+++ b/docs/tutorials/wiki2/src/tests/tests/test_views.py
@@ -1,9 +1,17 @@
+from pyramid.testing import DummySecurityPolicy
+
from tutorial import models
def makeUser(name, role):
return models.User(name=name, role=role)
+
+def setUser(config, user):
+ config.set_security_policy(
+ DummySecurityPolicy(identity=user)
+ )
+
def makePage(name, data, creator):
return models.Page(name=name, data=data, creator=creator)
@@ -12,7 +20,7 @@ class Test_view_wiki:
from tutorial.views.default import view_wiki
return view_wiki(request)
- def test_it(self, dummy_request):
+ def test_it(self, dummy_config, dummy_request):
response = self._callFUT(dummy_request)
assert response.location == 'http://example.com/FrontPage'
@@ -25,7 +33,7 @@ class Test_view_page:
from tutorial.routes import PageResource
return PageResource(page)
- def test_it(self, dummy_request, dbsession):
+ def test_it(self, dummy_config, dummy_request, dbsession):
# add a page to the db
user = makeUser('foo', 'editor')
page = makePage('IDoExist', 'Hello CruelWorld IDoExist', user)
@@ -56,18 +64,18 @@ class Test_add_page:
from tutorial.routes import NewPage
return NewPage(pagename)
- def test_get(self, dummy_request, dbsession):
- dummy_request.identity = makeUser('foo', 'editor')
+ def test_get(self, dummy_config, dummy_request, dbsession):
+ setUser(dummy_config, makeUser('foo', 'editor'))
dummy_request.context = self._makeContext('AnotherPage')
info = self._callFUT(dummy_request)
assert info['pagedata'] == ''
assert info['save_url'] == 'http://example.com/add_page/AnotherPage'
- def test_submit_works(self, dummy_request, dbsession):
+ def test_submit_works(self, dummy_config, dummy_request, dbsession):
dummy_request.method = 'POST'
dummy_request.POST['body'] = 'Hello yo!'
dummy_request.context = self._makeContext('AnotherPage')
- dummy_request.identity = makeUser('foo', 'editor')
+ setUser(dummy_config, makeUser('foo', 'editor'))
self._callFUT(dummy_request)
page = (
dbsession.query(models.Page)
@@ -85,7 +93,7 @@ class Test_edit_page:
from tutorial.routes import PageResource
return PageResource(page)
- def test_get(self, dummy_request, dbsession):
+ def test_get(self, dummy_config, dummy_request, dbsession):
user = makeUser('foo', 'editor')
page = makePage('abc', 'hello', user)
dbsession.add_all([page, user])
@@ -95,14 +103,14 @@ class Test_edit_page:
assert info['pagename'] == 'abc'
assert info['save_url'] == 'http://example.com/abc/edit_page'
- def test_submit_works(self, dummy_request, dbsession):
+ def test_submit_works(self, dummy_config, dummy_request, dbsession):
user = makeUser('foo', 'editor')
page = makePage('abc', 'hello', user)
dbsession.add_all([page, user])
dummy_request.method = 'POST'
dummy_request.POST['body'] = 'Hello yo!'
- dummy_request.identity = user
+ setUser(dummy_config, user)
dummy_request.context = self._makeContext(page)
response = self._callFUT(dummy_request)
assert response.location == 'http://example.com/abc'