summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Piercy <web@stevepiercy.com>2020-01-01 21:21:25 -0800
committerSteve Piercy <web@stevepiercy.com>2020-01-02 23:30:59 -0800
commitbd42bcaee1176ee5bb0cc7bf311e8e91070eea88 (patch)
tree0c54746e90ac84c014806de6217439893a1c2b1d
parent6175ff659c2523974072b404636911ebb89c2d42 (diff)
downloadpyramid-bd42bcaee1176ee5bb0cc7bf311e8e91070eea88.tar.gz
pyramid-bd42bcaee1176ee5bb0cc7bf311e8e91070eea88.tar.bz2
pyramid-bd42bcaee1176ee5bb0cc7bf311e8e91070eea88.zip
Resync wiki2/*.rst and related files after moving tests directory
-rw-r--r--docs/tutorials/wiki2/installation.rst2
-rw-r--r--docs/tutorials/wiki2/src/authentication/MANIFEST.in3
-rw-r--r--docs/tutorials/wiki2/src/authentication/pytest.ini7
-rw-r--r--docs/tutorials/wiki2/src/authentication/tests/__init__.py (renamed from docs/tutorials/wiki2/src/tests/tutorial/tests/__init__.py)0
-rw-r--r--docs/tutorials/wiki2/src/authentication/tests/test_it.py (renamed from docs/tutorials/wiki2/src/authentication/tutorial/tests.py)14
-rw-r--r--docs/tutorials/wiki2/src/authorization/MANIFEST.in3
-rw-r--r--docs/tutorials/wiki2/src/authorization/pytest.ini7
-rw-r--r--docs/tutorials/wiki2/src/authorization/tests/__init__.py0
-rw-r--r--docs/tutorials/wiki2/src/authorization/tests/test_it.py (renamed from docs/tutorials/wiki2/src/authorization/tutorial/tests.py)14
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/MANIFEST.in3
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/pytest.ini7
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/tests/__init__.py0
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/tests/test_it.py (renamed from docs/tutorials/wiki2/src/basiclayout/tutorial/tests.py)14
-rw-r--r--docs/tutorials/wiki2/src/installation/MANIFEST.in3
-rw-r--r--docs/tutorials/wiki2/src/installation/pytest.ini7
-rw-r--r--docs/tutorials/wiki2/src/installation/tests/__init__.py0
-rw-r--r--docs/tutorials/wiki2/src/installation/tests/test_it.py (renamed from docs/tutorials/wiki2/src/installation/tutorial/tests.py)14
-rw-r--r--docs/tutorials/wiki2/src/models/MANIFEST.in3
-rw-r--r--docs/tutorials/wiki2/src/models/pytest.ini7
-rw-r--r--docs/tutorials/wiki2/src/models/tests/__init__.py0
-rw-r--r--docs/tutorials/wiki2/src/models/tests/test_it.py66
-rw-r--r--docs/tutorials/wiki2/src/models/tutorial/tests.py66
-rw-r--r--docs/tutorials/wiki2/src/tests/MANIFEST.in3
-rw-r--r--docs/tutorials/wiki2/src/tests/pytest.ini7
-rw-r--r--docs/tutorials/wiki2/src/tests/tests/__init__.py0
-rw-r--r--docs/tutorials/wiki2/src/tests/tests/test_functional.py (renamed from docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py)0
-rw-r--r--docs/tutorials/wiki2/src/tests/tests/test_initdb.py (renamed from docs/tutorials/wiki2/src/tests/tutorial/tests/test_initdb.py)4
-rw-r--r--docs/tutorials/wiki2/src/tests/tests/test_security.py (renamed from docs/tutorials/wiki2/src/tests/tutorial/tests/test_security.py)6
-rw-r--r--docs/tutorials/wiki2/src/tests/tests/test_user_model.py (renamed from docs/tutorials/wiki2/src/tests/tutorial/tests/test_user_model.py)10
-rw-r--r--docs/tutorials/wiki2/src/tests/tests/test_views.py (renamed from docs/tutorials/wiki2/src/tests/tutorial/tests/test_views.py)28
-rw-r--r--docs/tutorials/wiki2/src/views/MANIFEST.in3
-rw-r--r--docs/tutorials/wiki2/src/views/pytest.ini7
-rw-r--r--docs/tutorials/wiki2/src/views/tests/__init__.py0
-rw-r--r--docs/tutorials/wiki2/src/views/tests/test_it.py66
-rw-r--r--docs/tutorials/wiki2/src/views/tutorial/tests.py66
-rw-r--r--docs/tutorials/wiki2/tests.rst39
36 files changed, 259 insertions, 220 deletions
diff --git a/docs/tutorials/wiki2/installation.rst b/docs/tutorials/wiki2/installation.rst
index 384584da7..55fca15a1 100644
--- a/docs/tutorials/wiki2/installation.rst
+++ b/docs/tutorials/wiki2/installation.rst
@@ -393,7 +393,7 @@ On Unix
.. code-block:: bash
- $VENV/bin/pytest --cov=tutorial tutorial/tests.py -q
+ $VENV/bin/pytest --cov=tutorial tests -q
On Windows
^^^^^^^^^^
diff --git a/docs/tutorials/wiki2/src/authentication/MANIFEST.in b/docs/tutorials/wiki2/src/authentication/MANIFEST.in
index 05cc195d9..b4624fd1c 100644
--- a/docs/tutorials/wiki2/src/authentication/MANIFEST.in
+++ b/docs/tutorials/wiki2/src/authentication/MANIFEST.in
@@ -1,2 +1,5 @@
include *.txt *.ini *.cfg *.rst
recursive-include tutorial *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml *.jinja2
+recursive-include tests *
+recursive-exclude * __pycache__
+recursive-exclude * *.py[co]
diff --git a/docs/tutorials/wiki2/src/authentication/pytest.ini b/docs/tutorials/wiki2/src/authentication/pytest.ini
index a3489cdf8..42c3259f9 100644
--- a/docs/tutorials/wiki2/src/authentication/pytest.ini
+++ b/docs/tutorials/wiki2/src/authentication/pytest.ini
@@ -1,3 +1,6 @@
[pytest]
-testpaths = tutorial
-python_files = test*.py
+addopts = --strict
+
+testpaths =
+ tutorial
+ tests
diff --git a/docs/tutorials/wiki2/src/tests/tutorial/tests/__init__.py b/docs/tutorials/wiki2/src/authentication/tests/__init__.py
index e69de29bb..e69de29bb 100644
--- a/docs/tutorials/wiki2/src/tests/tutorial/tests/__init__.py
+++ b/docs/tutorials/wiki2/src/authentication/tests/__init__.py
diff --git a/docs/tutorials/wiki2/src/authentication/tutorial/tests.py b/docs/tutorials/wiki2/src/authentication/tests/test_it.py
index 47990669e..ea16534fc 100644
--- a/docs/tutorials/wiki2/src/authentication/tutorial/tests.py
+++ b/docs/tutorials/wiki2/src/authentication/tests/test_it.py
@@ -14,10 +14,10 @@ class BaseTest(unittest.TestCase):
self.config = testing.setUp(settings={
'sqlalchemy.url': 'sqlite:///:memory:'
})
- self.config.include('.models')
+ self.config.include('tutorial.models')
settings = self.config.get_settings()
- from .models import (
+ from tutorial.models import (
get_engine,
get_session_factory,
get_tm_session,
@@ -29,11 +29,11 @@ class BaseTest(unittest.TestCase):
self.session = get_tm_session(session_factory, transaction.manager)
def init_database(self):
- from .models.meta import Base
+ from tutorial.models.meta import Base
Base.metadata.create_all(self.engine)
def tearDown(self):
- from .models.meta import Base
+ from tutorial.models.meta import Base
testing.tearDown()
transaction.abort()
@@ -46,13 +46,13 @@ class TestMyViewSuccessCondition(BaseTest):
super(TestMyViewSuccessCondition, self).setUp()
self.init_database()
- from .models import MyModel
+ from tutorial.models import MyModel
model = MyModel(name='one', value=55)
self.session.add(model)
def test_passing_view(self):
- from .views.default import my_view
+ from tutorial.views.default import my_view
info = my_view(dummy_request(self.session))
self.assertEqual(info['one'].name, 'one')
self.assertEqual(info['project'], 'myproj')
@@ -61,6 +61,6 @@ class TestMyViewSuccessCondition(BaseTest):
class TestMyViewFailureCondition(BaseTest):
def test_failing_view(self):
- from .views.default import my_view
+ from tutorial.views.default import my_view
info = my_view(dummy_request(self.session))
self.assertEqual(info.status_int, 500)
diff --git a/docs/tutorials/wiki2/src/authorization/MANIFEST.in b/docs/tutorials/wiki2/src/authorization/MANIFEST.in
index 05cc195d9..b4624fd1c 100644
--- a/docs/tutorials/wiki2/src/authorization/MANIFEST.in
+++ b/docs/tutorials/wiki2/src/authorization/MANIFEST.in
@@ -1,2 +1,5 @@
include *.txt *.ini *.cfg *.rst
recursive-include tutorial *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml *.jinja2
+recursive-include tests *
+recursive-exclude * __pycache__
+recursive-exclude * *.py[co]
diff --git a/docs/tutorials/wiki2/src/authorization/pytest.ini b/docs/tutorials/wiki2/src/authorization/pytest.ini
index a3489cdf8..42c3259f9 100644
--- a/docs/tutorials/wiki2/src/authorization/pytest.ini
+++ b/docs/tutorials/wiki2/src/authorization/pytest.ini
@@ -1,3 +1,6 @@
[pytest]
-testpaths = tutorial
-python_files = test*.py
+addopts = --strict
+
+testpaths =
+ tutorial
+ tests
diff --git a/docs/tutorials/wiki2/src/authorization/tests/__init__.py b/docs/tutorials/wiki2/src/authorization/tests/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/docs/tutorials/wiki2/src/authorization/tests/__init__.py
diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/tests.py b/docs/tutorials/wiki2/src/authorization/tests/test_it.py
index 47990669e..ea16534fc 100644
--- a/docs/tutorials/wiki2/src/authorization/tutorial/tests.py
+++ b/docs/tutorials/wiki2/src/authorization/tests/test_it.py
@@ -14,10 +14,10 @@ class BaseTest(unittest.TestCase):
self.config = testing.setUp(settings={
'sqlalchemy.url': 'sqlite:///:memory:'
})
- self.config.include('.models')
+ self.config.include('tutorial.models')
settings = self.config.get_settings()
- from .models import (
+ from tutorial.models import (
get_engine,
get_session_factory,
get_tm_session,
@@ -29,11 +29,11 @@ class BaseTest(unittest.TestCase):
self.session = get_tm_session(session_factory, transaction.manager)
def init_database(self):
- from .models.meta import Base
+ from tutorial.models.meta import Base
Base.metadata.create_all(self.engine)
def tearDown(self):
- from .models.meta import Base
+ from tutorial.models.meta import Base
testing.tearDown()
transaction.abort()
@@ -46,13 +46,13 @@ class TestMyViewSuccessCondition(BaseTest):
super(TestMyViewSuccessCondition, self).setUp()
self.init_database()
- from .models import MyModel
+ from tutorial.models import MyModel
model = MyModel(name='one', value=55)
self.session.add(model)
def test_passing_view(self):
- from .views.default import my_view
+ from tutorial.views.default import my_view
info = my_view(dummy_request(self.session))
self.assertEqual(info['one'].name, 'one')
self.assertEqual(info['project'], 'myproj')
@@ -61,6 +61,6 @@ class TestMyViewSuccessCondition(BaseTest):
class TestMyViewFailureCondition(BaseTest):
def test_failing_view(self):
- from .views.default import my_view
+ from tutorial.views.default import my_view
info = my_view(dummy_request(self.session))
self.assertEqual(info.status_int, 500)
diff --git a/docs/tutorials/wiki2/src/basiclayout/MANIFEST.in b/docs/tutorials/wiki2/src/basiclayout/MANIFEST.in
index 05cc195d9..b4624fd1c 100644
--- a/docs/tutorials/wiki2/src/basiclayout/MANIFEST.in
+++ b/docs/tutorials/wiki2/src/basiclayout/MANIFEST.in
@@ -1,2 +1,5 @@
include *.txt *.ini *.cfg *.rst
recursive-include tutorial *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml *.jinja2
+recursive-include tests *
+recursive-exclude * __pycache__
+recursive-exclude * *.py[co]
diff --git a/docs/tutorials/wiki2/src/basiclayout/pytest.ini b/docs/tutorials/wiki2/src/basiclayout/pytest.ini
index a3489cdf8..42c3259f9 100644
--- a/docs/tutorials/wiki2/src/basiclayout/pytest.ini
+++ b/docs/tutorials/wiki2/src/basiclayout/pytest.ini
@@ -1,3 +1,6 @@
[pytest]
-testpaths = tutorial
-python_files = test*.py
+addopts = --strict
+
+testpaths =
+ tutorial
+ tests
diff --git a/docs/tutorials/wiki2/src/basiclayout/tests/__init__.py b/docs/tutorials/wiki2/src/basiclayout/tests/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/docs/tutorials/wiki2/src/basiclayout/tests/__init__.py
diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/tests.py b/docs/tutorials/wiki2/src/basiclayout/tests/test_it.py
index 47990669e..ea16534fc 100644
--- a/docs/tutorials/wiki2/src/basiclayout/tutorial/tests.py
+++ b/docs/tutorials/wiki2/src/basiclayout/tests/test_it.py
@@ -14,10 +14,10 @@ class BaseTest(unittest.TestCase):
self.config = testing.setUp(settings={
'sqlalchemy.url': 'sqlite:///:memory:'
})
- self.config.include('.models')
+ self.config.include('tutorial.models')
settings = self.config.get_settings()
- from .models import (
+ from tutorial.models import (
get_engine,
get_session_factory,
get_tm_session,
@@ -29,11 +29,11 @@ class BaseTest(unittest.TestCase):
self.session = get_tm_session(session_factory, transaction.manager)
def init_database(self):
- from .models.meta import Base
+ from tutorial.models.meta import Base
Base.metadata.create_all(self.engine)
def tearDown(self):
- from .models.meta import Base
+ from tutorial.models.meta import Base
testing.tearDown()
transaction.abort()
@@ -46,13 +46,13 @@ class TestMyViewSuccessCondition(BaseTest):
super(TestMyViewSuccessCondition, self).setUp()
self.init_database()
- from .models import MyModel
+ from tutorial.models import MyModel
model = MyModel(name='one', value=55)
self.session.add(model)
def test_passing_view(self):
- from .views.default import my_view
+ from tutorial.views.default import my_view
info = my_view(dummy_request(self.session))
self.assertEqual(info['one'].name, 'one')
self.assertEqual(info['project'], 'myproj')
@@ -61,6 +61,6 @@ class TestMyViewSuccessCondition(BaseTest):
class TestMyViewFailureCondition(BaseTest):
def test_failing_view(self):
- from .views.default import my_view
+ from tutorial.views.default import my_view
info = my_view(dummy_request(self.session))
self.assertEqual(info.status_int, 500)
diff --git a/docs/tutorials/wiki2/src/installation/MANIFEST.in b/docs/tutorials/wiki2/src/installation/MANIFEST.in
index 05cc195d9..b4624fd1c 100644
--- a/docs/tutorials/wiki2/src/installation/MANIFEST.in
+++ b/docs/tutorials/wiki2/src/installation/MANIFEST.in
@@ -1,2 +1,5 @@
include *.txt *.ini *.cfg *.rst
recursive-include tutorial *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml *.jinja2
+recursive-include tests *
+recursive-exclude * __pycache__
+recursive-exclude * *.py[co]
diff --git a/docs/tutorials/wiki2/src/installation/pytest.ini b/docs/tutorials/wiki2/src/installation/pytest.ini
index a3489cdf8..42c3259f9 100644
--- a/docs/tutorials/wiki2/src/installation/pytest.ini
+++ b/docs/tutorials/wiki2/src/installation/pytest.ini
@@ -1,3 +1,6 @@
[pytest]
-testpaths = tutorial
-python_files = test*.py
+addopts = --strict
+
+testpaths =
+ tutorial
+ tests
diff --git a/docs/tutorials/wiki2/src/installation/tests/__init__.py b/docs/tutorials/wiki2/src/installation/tests/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/docs/tutorials/wiki2/src/installation/tests/__init__.py
diff --git a/docs/tutorials/wiki2/src/installation/tutorial/tests.py b/docs/tutorials/wiki2/src/installation/tests/test_it.py
index 47990669e..ea16534fc 100644
--- a/docs/tutorials/wiki2/src/installation/tutorial/tests.py
+++ b/docs/tutorials/wiki2/src/installation/tests/test_it.py
@@ -14,10 +14,10 @@ class BaseTest(unittest.TestCase):
self.config = testing.setUp(settings={
'sqlalchemy.url': 'sqlite:///:memory:'
})
- self.config.include('.models')
+ self.config.include('tutorial.models')
settings = self.config.get_settings()
- from .models import (
+ from tutorial.models import (
get_engine,
get_session_factory,
get_tm_session,
@@ -29,11 +29,11 @@ class BaseTest(unittest.TestCase):
self.session = get_tm_session(session_factory, transaction.manager)
def init_database(self):
- from .models.meta import Base
+ from tutorial.models.meta import Base
Base.metadata.create_all(self.engine)
def tearDown(self):
- from .models.meta import Base
+ from tutorial.models.meta import Base
testing.tearDown()
transaction.abort()
@@ -46,13 +46,13 @@ class TestMyViewSuccessCondition(BaseTest):
super(TestMyViewSuccessCondition, self).setUp()
self.init_database()
- from .models import MyModel
+ from tutorial.models import MyModel
model = MyModel(name='one', value=55)
self.session.add(model)
def test_passing_view(self):
- from .views.default import my_view
+ from tutorial.views.default import my_view
info = my_view(dummy_request(self.session))
self.assertEqual(info['one'].name, 'one')
self.assertEqual(info['project'], 'myproj')
@@ -61,6 +61,6 @@ class TestMyViewSuccessCondition(BaseTest):
class TestMyViewFailureCondition(BaseTest):
def test_failing_view(self):
- from .views.default import my_view
+ from tutorial.views.default import my_view
info = my_view(dummy_request(self.session))
self.assertEqual(info.status_int, 500)
diff --git a/docs/tutorials/wiki2/src/models/MANIFEST.in b/docs/tutorials/wiki2/src/models/MANIFEST.in
index 05cc195d9..b4624fd1c 100644
--- a/docs/tutorials/wiki2/src/models/MANIFEST.in
+++ b/docs/tutorials/wiki2/src/models/MANIFEST.in
@@ -1,2 +1,5 @@
include *.txt *.ini *.cfg *.rst
recursive-include tutorial *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml *.jinja2
+recursive-include tests *
+recursive-exclude * __pycache__
+recursive-exclude * *.py[co]
diff --git a/docs/tutorials/wiki2/src/models/pytest.ini b/docs/tutorials/wiki2/src/models/pytest.ini
index a3489cdf8..42c3259f9 100644
--- a/docs/tutorials/wiki2/src/models/pytest.ini
+++ b/docs/tutorials/wiki2/src/models/pytest.ini
@@ -1,3 +1,6 @@
[pytest]
-testpaths = tutorial
-python_files = test*.py
+addopts = --strict
+
+testpaths =
+ tutorial
+ tests
diff --git a/docs/tutorials/wiki2/src/models/tests/__init__.py b/docs/tutorials/wiki2/src/models/tests/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/docs/tutorials/wiki2/src/models/tests/__init__.py
diff --git a/docs/tutorials/wiki2/src/models/tests/test_it.py b/docs/tutorials/wiki2/src/models/tests/test_it.py
new file mode 100644
index 000000000..ea16534fc
--- /dev/null
+++ b/docs/tutorials/wiki2/src/models/tests/test_it.py
@@ -0,0 +1,66 @@
+import unittest
+
+from pyramid import testing
+
+import transaction
+
+
+def dummy_request(dbsession):
+ return testing.DummyRequest(dbsession=dbsession)
+
+
+class BaseTest(unittest.TestCase):
+ def setUp(self):
+ self.config = testing.setUp(settings={
+ 'sqlalchemy.url': 'sqlite:///:memory:'
+ })
+ self.config.include('tutorial.models')
+ settings = self.config.get_settings()
+
+ from tutorial.models import (
+ get_engine,
+ get_session_factory,
+ get_tm_session,
+ )
+
+ self.engine = get_engine(settings)
+ session_factory = get_session_factory(self.engine)
+
+ self.session = get_tm_session(session_factory, transaction.manager)
+
+ def init_database(self):
+ from tutorial.models.meta import Base
+ Base.metadata.create_all(self.engine)
+
+ def tearDown(self):
+ from tutorial.models.meta import Base
+
+ testing.tearDown()
+ transaction.abort()
+ Base.metadata.drop_all(self.engine)
+
+
+class TestMyViewSuccessCondition(BaseTest):
+
+ def setUp(self):
+ super(TestMyViewSuccessCondition, self).setUp()
+ self.init_database()
+
+ from tutorial.models import MyModel
+
+ model = MyModel(name='one', value=55)
+ self.session.add(model)
+
+ def test_passing_view(self):
+ from tutorial.views.default import my_view
+ info = my_view(dummy_request(self.session))
+ self.assertEqual(info['one'].name, 'one')
+ self.assertEqual(info['project'], 'myproj')
+
+
+class TestMyViewFailureCondition(BaseTest):
+
+ def test_failing_view(self):
+ from tutorial.views.default import my_view
+ info = my_view(dummy_request(self.session))
+ self.assertEqual(info.status_int, 500)
diff --git a/docs/tutorials/wiki2/src/models/tutorial/tests.py b/docs/tutorials/wiki2/src/models/tutorial/tests.py
deleted file mode 100644
index 47990669e..000000000
--- a/docs/tutorials/wiki2/src/models/tutorial/tests.py
+++ /dev/null
@@ -1,66 +0,0 @@
-import unittest
-
-from pyramid import testing
-
-import transaction
-
-
-def dummy_request(dbsession):
- return testing.DummyRequest(dbsession=dbsession)
-
-
-class BaseTest(unittest.TestCase):
- def setUp(self):
- self.config = testing.setUp(settings={
- 'sqlalchemy.url': 'sqlite:///:memory:'
- })
- self.config.include('.models')
- settings = self.config.get_settings()
-
- from .models import (
- get_engine,
- get_session_factory,
- get_tm_session,
- )
-
- self.engine = get_engine(settings)
- session_factory = get_session_factory(self.engine)
-
- self.session = get_tm_session(session_factory, transaction.manager)
-
- def init_database(self):
- from .models.meta import Base
- Base.metadata.create_all(self.engine)
-
- def tearDown(self):
- from .models.meta import Base
-
- testing.tearDown()
- transaction.abort()
- Base.metadata.drop_all(self.engine)
-
-
-class TestMyViewSuccessCondition(BaseTest):
-
- def setUp(self):
- super(TestMyViewSuccessCondition, self).setUp()
- self.init_database()
-
- from .models import MyModel
-
- model = MyModel(name='one', value=55)
- self.session.add(model)
-
- def test_passing_view(self):
- from .views.default import my_view
- info = my_view(dummy_request(self.session))
- self.assertEqual(info['one'].name, 'one')
- self.assertEqual(info['project'], 'myproj')
-
-
-class TestMyViewFailureCondition(BaseTest):
-
- def test_failing_view(self):
- from .views.default import my_view
- info = my_view(dummy_request(self.session))
- self.assertEqual(info.status_int, 500)
diff --git a/docs/tutorials/wiki2/src/tests/MANIFEST.in b/docs/tutorials/wiki2/src/tests/MANIFEST.in
index 05cc195d9..b4624fd1c 100644
--- a/docs/tutorials/wiki2/src/tests/MANIFEST.in
+++ b/docs/tutorials/wiki2/src/tests/MANIFEST.in
@@ -1,2 +1,5 @@
include *.txt *.ini *.cfg *.rst
recursive-include tutorial *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml *.jinja2
+recursive-include tests *
+recursive-exclude * __pycache__
+recursive-exclude * *.py[co]
diff --git a/docs/tutorials/wiki2/src/tests/pytest.ini b/docs/tutorials/wiki2/src/tests/pytest.ini
index a3489cdf8..42c3259f9 100644
--- a/docs/tutorials/wiki2/src/tests/pytest.ini
+++ b/docs/tutorials/wiki2/src/tests/pytest.ini
@@ -1,3 +1,6 @@
[pytest]
-testpaths = tutorial
-python_files = test*.py
+addopts = --strict
+
+testpaths =
+ tutorial
+ tests
diff --git a/docs/tutorials/wiki2/src/tests/tests/__init__.py b/docs/tutorials/wiki2/src/tests/tests/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/docs/tutorials/wiki2/src/tests/tests/__init__.py
diff --git a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py b/docs/tutorials/wiki2/src/tests/tests/test_functional.py
index 0250e71c9..0250e71c9 100644
--- a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py
+++ b/docs/tutorials/wiki2/src/tests/tests/test_functional.py
diff --git a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_initdb.py b/docs/tutorials/wiki2/src/tests/tests/test_initdb.py
index 72fbff04b..9a24f0b22 100644
--- a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_initdb.py
+++ b/docs/tutorials/wiki2/src/tests/tests/test_initdb.py
@@ -5,12 +5,12 @@ import unittest
class TestInitializeDB(unittest.TestCase):
def test_usage(self):
- from ..scripts.initialize_db import main
+ from tutorial.scripts.initialize_db import main
with self.assertRaises(SystemExit):
main(argv=['foo'])
def test_run(self):
- from ..scripts.initialize_db import main
+ from tutorial.scripts.initialize_db import main
main(argv=['foo', 'development.ini'])
self.assertTrue(os.path.exists('tutorial.sqlite'))
os.remove('tutorial.sqlite')
diff --git a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_security.py b/docs/tutorials/wiki2/src/tests/tests/test_security.py
index cbec6420d..9a1455ef9 100644
--- a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_security.py
+++ b/docs/tutorials/wiki2/src/tests/tests/test_security.py
@@ -8,16 +8,16 @@ class TestMyAuthenticationPolicy(unittest.TestCase):
request = DummyRequest()
request.user = None
- from ..security import MyAuthenticationPolicy
+ from tutorial.security import MyAuthenticationPolicy
policy = MyAuthenticationPolicy(None)
self.assertEqual(policy.authenticated_userid(request), None)
def test_authenticated_user(self):
- from ..models import User
+ from tutorial.models import User
request = DummyRequest()
request.user = User()
request.user.id = 'foo'
- from ..security import MyAuthenticationPolicy
+ from tutorial.security import MyAuthenticationPolicy
policy = MyAuthenticationPolicy(None)
self.assertEqual(policy.authenticated_userid(request), 'foo')
diff --git a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_user_model.py b/docs/tutorials/wiki2/src/tests/tests/test_user_model.py
index 9490ac990..21904da6b 100644
--- a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_user_model.py
+++ b/docs/tutorials/wiki2/src/tests/tests/test_user_model.py
@@ -7,12 +7,12 @@ from pyramid import testing
class BaseTest(unittest.TestCase):
def setUp(self):
- from ..models import get_tm_session
+ from tutorial.models import get_tm_session
self.config = testing.setUp(settings={
'sqlalchemy.url': 'sqlite:///:memory:'
})
- self.config.include('..models')
- self.config.include('..routes')
+ self.config.include('tutorial.models')
+ self.config.include('tutorial.routes')
session_factory = self.config.registry['dbsession_factory']
self.session = get_tm_session(session_factory, transaction.manager)
@@ -20,7 +20,7 @@ class BaseTest(unittest.TestCase):
self.init_database()
def init_database(self):
- from ..models.meta import Base
+ from tutorial.models.meta import Base
session_factory = self.config.registry['dbsession_factory']
engine = session_factory.kw['bind']
Base.metadata.create_all(engine)
@@ -30,7 +30,7 @@ class BaseTest(unittest.TestCase):
transaction.abort()
def makeUser(self, name, role):
- from ..models import User
+ from tutorial.models import User
return User(name=name, role=role)
diff --git a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_views.py b/docs/tutorials/wiki2/src/tests/tests/test_views.py
index 2c945ab33..5c17457dd 100644
--- a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_views.py
+++ b/docs/tutorials/wiki2/src/tests/tests/test_views.py
@@ -10,12 +10,12 @@ def dummy_request(dbsession):
class BaseTest(unittest.TestCase):
def setUp(self):
- from ..models import get_tm_session
+ from tutorial.models import get_tm_session
self.config = testing.setUp(settings={
'sqlalchemy.url': 'sqlite:///:memory:'
})
- self.config.include('..models')
- self.config.include('..routes')
+ self.config.include('tutorial.models')
+ self.config.include('tutorial.routes')
session_factory = self.config.registry['dbsession_factory']
self.session = get_tm_session(session_factory, transaction.manager)
@@ -23,7 +23,7 @@ class BaseTest(unittest.TestCase):
self.init_database()
def init_database(self):
- from ..models.meta import Base
+ from tutorial.models.meta import Base
session_factory = self.config.registry['dbsession_factory']
engine = session_factory.kw['bind']
Base.metadata.create_all(engine)
@@ -33,20 +33,20 @@ class BaseTest(unittest.TestCase):
transaction.abort()
def makeUser(self, name, role, password='dummy'):
- from ..models import User
+ from tutorial.models import User
user = User(name=name, role=role)
user.set_password(password)
return user
def makePage(self, name, data, creator):
- from ..models import Page
+ from tutorial.models import Page
return Page(name=name, data=data, creator=creator)
class ViewWikiTests(unittest.TestCase):
def setUp(self):
self.config = testing.setUp()
- self.config.include('..routes')
+ self.config.include('tutorial.routes')
def tearDown(self):
testing.tearDown()
@@ -67,7 +67,7 @@ class ViewPageTests(BaseTest):
return view_page(request)
def test_it(self):
- from ..routes import PageResource
+ from tutorial.routes import PageResource
# add a page to the db
user = self.makeUser('foo', 'editor')
@@ -99,8 +99,8 @@ class AddPageTests(BaseTest):
return add_page(request)
def test_it_pageexists(self):
- from ..models import Page
- from ..routes import NewPage
+ from tutorial.models import Page
+ from tutorial.routes import NewPage
request = testing.DummyRequest({'form.submitted': True,
'body': 'Hello yo!'},
dbsession=self.session)
@@ -111,7 +111,7 @@ class AddPageTests(BaseTest):
self.assertGreater(pagecount, 0)
def test_it_notsubmitted(self):
- from ..routes import NewPage
+ from tutorial.routes import NewPage
request = dummy_request(self.session)
request.user = self.makeUser('foo', 'editor')
request.context = NewPage('AnotherPage')
@@ -121,8 +121,8 @@ class AddPageTests(BaseTest):
'http://example.com/add_page/AnotherPage')
def test_it_submitted(self):
- from ..models import Page
- from ..routes import NewPage
+ from tutorial.models import Page
+ from tutorial.routes import NewPage
request = testing.DummyRequest({'form.submitted': True,
'body': 'Hello yo!'},
dbsession=self.session)
@@ -139,7 +139,7 @@ class EditPageTests(BaseTest):
return edit_page(request)
def makeContext(self, page):
- from ..routes import PageResource
+ from tutorial.routes import PageResource
return PageResource(page)
def test_it_notsubmitted(self):
diff --git a/docs/tutorials/wiki2/src/views/MANIFEST.in b/docs/tutorials/wiki2/src/views/MANIFEST.in
index 05cc195d9..b4624fd1c 100644
--- a/docs/tutorials/wiki2/src/views/MANIFEST.in
+++ b/docs/tutorials/wiki2/src/views/MANIFEST.in
@@ -1,2 +1,5 @@
include *.txt *.ini *.cfg *.rst
recursive-include tutorial *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml *.jinja2
+recursive-include tests *
+recursive-exclude * __pycache__
+recursive-exclude * *.py[co]
diff --git a/docs/tutorials/wiki2/src/views/pytest.ini b/docs/tutorials/wiki2/src/views/pytest.ini
index a3489cdf8..42c3259f9 100644
--- a/docs/tutorials/wiki2/src/views/pytest.ini
+++ b/docs/tutorials/wiki2/src/views/pytest.ini
@@ -1,3 +1,6 @@
[pytest]
-testpaths = tutorial
-python_files = test*.py
+addopts = --strict
+
+testpaths =
+ tutorial
+ tests
diff --git a/docs/tutorials/wiki2/src/views/tests/__init__.py b/docs/tutorials/wiki2/src/views/tests/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/docs/tutorials/wiki2/src/views/tests/__init__.py
diff --git a/docs/tutorials/wiki2/src/views/tests/test_it.py b/docs/tutorials/wiki2/src/views/tests/test_it.py
new file mode 100644
index 000000000..ea16534fc
--- /dev/null
+++ b/docs/tutorials/wiki2/src/views/tests/test_it.py
@@ -0,0 +1,66 @@
+import unittest
+
+from pyramid import testing
+
+import transaction
+
+
+def dummy_request(dbsession):
+ return testing.DummyRequest(dbsession=dbsession)
+
+
+class BaseTest(unittest.TestCase):
+ def setUp(self):
+ self.config = testing.setUp(settings={
+ 'sqlalchemy.url': 'sqlite:///:memory:'
+ })
+ self.config.include('tutorial.models')
+ settings = self.config.get_settings()
+
+ from tutorial.models import (
+ get_engine,
+ get_session_factory,
+ get_tm_session,
+ )
+
+ self.engine = get_engine(settings)
+ session_factory = get_session_factory(self.engine)
+
+ self.session = get_tm_session(session_factory, transaction.manager)
+
+ def init_database(self):
+ from tutorial.models.meta import Base
+ Base.metadata.create_all(self.engine)
+
+ def tearDown(self):
+ from tutorial.models.meta import Base
+
+ testing.tearDown()
+ transaction.abort()
+ Base.metadata.drop_all(self.engine)
+
+
+class TestMyViewSuccessCondition(BaseTest):
+
+ def setUp(self):
+ super(TestMyViewSuccessCondition, self).setUp()
+ self.init_database()
+
+ from tutorial.models import MyModel
+
+ model = MyModel(name='one', value=55)
+ self.session.add(model)
+
+ def test_passing_view(self):
+ from tutorial.views.default import my_view
+ info = my_view(dummy_request(self.session))
+ self.assertEqual(info['one'].name, 'one')
+ self.assertEqual(info['project'], 'myproj')
+
+
+class TestMyViewFailureCondition(BaseTest):
+
+ def test_failing_view(self):
+ from tutorial.views.default import my_view
+ info = my_view(dummy_request(self.session))
+ self.assertEqual(info.status_int, 500)
diff --git a/docs/tutorials/wiki2/src/views/tutorial/tests.py b/docs/tutorials/wiki2/src/views/tutorial/tests.py
deleted file mode 100644
index 47990669e..000000000
--- a/docs/tutorials/wiki2/src/views/tutorial/tests.py
+++ /dev/null
@@ -1,66 +0,0 @@
-import unittest
-
-from pyramid import testing
-
-import transaction
-
-
-def dummy_request(dbsession):
- return testing.DummyRequest(dbsession=dbsession)
-
-
-class BaseTest(unittest.TestCase):
- def setUp(self):
- self.config = testing.setUp(settings={
- 'sqlalchemy.url': 'sqlite:///:memory:'
- })
- self.config.include('.models')
- settings = self.config.get_settings()
-
- from .models import (
- get_engine,
- get_session_factory,
- get_tm_session,
- )
-
- self.engine = get_engine(settings)
- session_factory = get_session_factory(self.engine)
-
- self.session = get_tm_session(session_factory, transaction.manager)
-
- def init_database(self):
- from .models.meta import Base
- Base.metadata.create_all(self.engine)
-
- def tearDown(self):
- from .models.meta import Base
-
- testing.tearDown()
- transaction.abort()
- Base.metadata.drop_all(self.engine)
-
-
-class TestMyViewSuccessCondition(BaseTest):
-
- def setUp(self):
- super(TestMyViewSuccessCondition, self).setUp()
- self.init_database()
-
- from .models import MyModel
-
- model = MyModel(name='one', value=55)
- self.session.add(model)
-
- def test_passing_view(self):
- from .views.default import my_view
- info = my_view(dummy_request(self.session))
- self.assertEqual(info['one'].name, 'one')
- self.assertEqual(info['project'], 'myproj')
-
-
-class TestMyViewFailureCondition(BaseTest):
-
- def test_failing_view(self):
- from .views.default import my_view
- info = my_view(dummy_request(self.session))
- self.assertEqual(info.status_int, 500)
diff --git a/docs/tutorials/wiki2/tests.rst b/docs/tutorials/wiki2/tests.rst
index 941a50928..bc11b16e1 100644
--- a/docs/tutorials/wiki2/tests.rst
+++ b/docs/tutorials/wiki2/tests.rst
@@ -5,18 +5,15 @@ Adding Tests
============
We will now add tests for the models and views as well as a few functional
-tests in a new ``tests`` subpackage. Tests ensure that an application works,
+tests in a new ``tests`` package. Tests ensure that an application works,
and that it continues to work when changes are made in the future.
-The file ``tests.py`` was generated from choosing the ``sqlalchemy`` backend
-option, but it is a common practice to put tests into a ``tests``
-subpackage, especially as projects grow in size and complexity. Each module in
-the test subpackage should contain tests for its corresponding module in our
-application. Each corresponding pair of modules should have the same names,
-except the test module should have the prefix ``test_``.
+The file ``tests/test_it.py`` at the root of our project directory was generated from choosing the ``sqlalchemy`` backend option.
+It is a common practice to put tests into a ``tests`` package alongside the application package, especially as projects grow in size and complexity.
+Each module in the test package should contain tests for its corresponding module in our application.
+Each corresponding pair of modules should have the same names, except the test module should have the prefix ``test_``.
-Start by deleting ``tests.py``, then create a new directory to contain our new
-tests as well as a new empty file ``tests/__init__.py``.
+Start by deleting ``tests/test_it.py``.
.. warning::
@@ -47,36 +44,36 @@ user cannot edit pages that it didn't create but the ``editor`` user can, and
so on.
-View the results of all our edits to ``tests`` subpackage
-=========================================================
+View the results of all our edits to ``tests`` package
+======================================================
-Create ``tutorial/tests/test_views.py`` such that it appears as follows:
+Create ``tests/test_views.py`` such that it appears as follows:
-.. literalinclude:: src/tests/tutorial/tests/test_views.py
+.. literalinclude:: src/tests/tests/test_views.py
:linenos:
:language: python
-Create ``tutorial/tests/test_functional.py`` such that it appears as follows:
+Create ``tests/test_functional.py`` such that it appears as follows:
-.. literalinclude:: src/tests/tutorial/tests/test_functional.py
+.. literalinclude:: src/tests/tests/test_functional.py
:linenos:
:language: python
-Create ``tutorial/tests/test_initdb.py`` such that it appears as follows:
+Create ``tests/test_initdb.py`` such that it appears as follows:
-.. literalinclude:: src/tests/tutorial/tests/test_initdb.py
+.. literalinclude:: src/tests/tests/test_initdb.py
:linenos:
:language: python
-Create ``tutorial/tests/test_security.py`` such that it appears as follows:
+Create ``tests/test_security.py`` such that it appears as follows:
-.. literalinclude:: src/tests/tutorial/tests/test_security.py
+.. literalinclude:: src/tests/tests/test_security.py
:linenos:
:language: python
-Create ``tutorial/tests/test_user_model.py`` such that it appears as follows:
+Create ``tests/test_user_model.py`` such that it appears as follows:
-.. literalinclude:: src/tests/tutorial/tests/test_user_model.py
+.. literalinclude:: src/tests/tests/test_user_model.py
:linenos:
:language: python