summaryrefslogtreecommitdiff
path: root/docs/tutorials/wiki2/src/models/tests
diff options
context:
space:
mode:
authorTheron Luhn <theron@luhn.com>2020-12-11 09:22:15 -0800
committerTheron Luhn <theron@luhn.com>2020-12-11 09:22:15 -0800
commitea25ec5cd5715ab3dcf266a968166425e279927a (patch)
treefc288c38e1fdad9605926f0b5f79f045d5b794b0 /docs/tutorials/wiki2/src/models/tests
parent43bd1a16de441d971bb6e1f3f6dbae055394e324 (diff)
downloadpyramid-ea25ec5cd5715ab3dcf266a968166425e279927a.tar.gz
pyramid-ea25ec5cd5715ab3dcf266a968166425e279927a.tar.bz2
pyramid-ea25ec5cd5715ab3dcf266a968166425e279927a.zip
Revert "Remove `app_request` from wiki2 tests."
This reverts commit 86cb46d4d977d3a948308326bee628421cab93ea.
Diffstat (limited to 'docs/tutorials/wiki2/src/models/tests')
-rw-r--r--docs/tutorials/wiki2/src/models/tests/conftest.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/docs/tutorials/wiki2/src/models/tests/conftest.py b/docs/tutorials/wiki2/src/models/tests/conftest.py
index 57e86ac1c..347180600 100644
--- a/docs/tutorials/wiki2/src/models/tests/conftest.py
+++ b/docs/tutorials/wiki2/src/models/tests/conftest.py
@@ -3,6 +3,7 @@ import alembic.config
import alembic.command
import os
from pyramid.paster import get_appsettings
+from pyramid.scripting import prepare
from pyramid.testing import DummyRequest, testConfig
import pytest
import transaction
@@ -80,6 +81,28 @@ def testapp(app, tm, dbsession):
return testapp
@pytest.fixture
+def app_request(app, tm, dbsession):
+ """
+ A real request.
+
+ This request is almost identical to a real request but it has some
+ drawbacks in tests as it's harder to mock data and is heavier.
+
+ """
+ env = prepare(registry=app.registry)
+ request = env['request']
+ request.host = 'example.com'
+
+ # without this, request.dbsession will be joined to the same transaction
+ # manager but it will be using a different sqlalchemy.orm.Session using
+ # a separate database transaction
+ request.dbsession = dbsession
+ request.tm = tm
+
+ yield request
+ env['closer']()
+
+@pytest.fixture
def dummy_request(tm, dbsession):
"""
A lightweight dummy request.