diff options
| author | Steve Piercy <web@stevepiercy.com> | 2020-01-01 21:21:25 -0800 |
|---|---|---|
| committer | Steve Piercy <web@stevepiercy.com> | 2020-01-02 23:30:59 -0800 |
| commit | bd42bcaee1176ee5bb0cc7bf311e8e91070eea88 (patch) | |
| tree | 0c54746e90ac84c014806de6217439893a1c2b1d | |
| parent | 6175ff659c2523974072b404636911ebb89c2d42 (diff) | |
| download | pyramid-bd42bcaee1176ee5bb0cc7bf311e8e91070eea88.tar.gz pyramid-bd42bcaee1176ee5bb0cc7bf311e8e91070eea88.tar.bz2 pyramid-bd42bcaee1176ee5bb0cc7bf311e8e91070eea88.zip | |
Resync wiki2/*.rst and related files after moving tests directory
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 |
