From 0db88c72bb3c444ca0f6fbe2cda50ca02c1bc011 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 28 Dec 2019 01:02:08 -0800 Subject: Update docs/tutorials/wiki2/installation.rst and related src files --- docs/tutorials/wiki2/src/installation/development.ini | 7 ++++++- docs/tutorials/wiki2/src/installation/production.ini | 7 ++++++- docs/tutorials/wiki2/src/installation/setup.py | 10 +++++----- docs/tutorials/wiki2/src/installation/tutorial/__init__.py | 2 +- .../wiki2/src/installation/tutorial/alembic/script.py.mako | 2 -- .../src/installation/tutorial/alembic/versions/README.txt | 2 +- docs/tutorials/wiki2/src/installation/tutorial/pshell.py | 1 + .../wiki2/src/installation/tutorial/templates/404.jinja2 | 2 +- .../wiki2/src/installation/tutorial/templates/layout.jinja2 | 2 +- .../src/installation/tutorial/templates/mytemplate.jinja2 | 4 ++-- docs/tutorials/wiki2/src/installation/tutorial/tests.py | 3 ++- .../tutorials/wiki2/src/installation/tutorial/views/default.py | 6 +++--- .../wiki2/src/installation/tutorial/views/notfound.py | 2 +- 13 files changed, 30 insertions(+), 20 deletions(-) (limited to 'docs/tutorials/wiki2/src') diff --git a/docs/tutorials/wiki2/src/installation/development.ini b/docs/tutorials/wiki2/src/installation/development.ini index 564aefb56..f02c4b1b6 100644 --- a/docs/tutorials/wiki2/src/installation/development.ini +++ b/docs/tutorials/wiki2/src/installation/development.ini @@ -45,7 +45,7 @@ listen = localhost:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -70,6 +70,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = INFO +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/installation/production.ini b/docs/tutorials/wiki2/src/installation/production.ini index 29cdda1e1..f8e83f21f 100644 --- a/docs/tutorials/wiki2/src/installation/production.ini +++ b/docs/tutorials/wiki2/src/installation/production.ini @@ -39,7 +39,7 @@ listen = *:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -64,6 +64,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = WARN +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/installation/setup.py b/docs/tutorials/wiki2/src/installation/setup.py index 746012a74..a0efdea6d 100644 --- a/docs/tutorials/wiki2/src/installation/setup.py +++ b/docs/tutorials/wiki2/src/installation/setup.py @@ -9,17 +9,17 @@ with open(os.path.join(here, 'CHANGES.txt')) as f: CHANGES = f.read() requires = [ - 'alembic', 'plaster_pastedeploy', - 'pyramid >= 1.9', - 'pyramid_debugtoolbar', + 'pyramid', 'pyramid_jinja2', + 'pyramid_debugtoolbar', + 'waitress', + 'alembic', 'pyramid_retry', 'pyramid_tm', 'SQLAlchemy', 'transaction', 'zope.sqlalchemy', - 'waitress', ] tests_require = [ @@ -55,7 +55,7 @@ setup( 'main = tutorial:main', ], 'console_scripts': [ - 'initialize_tutorial_db = tutorial.scripts.initialize_db:main', + 'initialize_tutorial_db=tutorial.scripts.initialize_db:main', ], }, ) diff --git a/docs/tutorials/wiki2/src/installation/tutorial/__init__.py b/docs/tutorials/wiki2/src/installation/tutorial/__init__.py index 28bd1f80d..5c2ba5cc0 100644 --- a/docs/tutorials/wiki2/src/installation/tutorial/__init__.py +++ b/docs/tutorials/wiki2/src/installation/tutorial/__init__.py @@ -5,8 +5,8 @@ def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ with Configurator(settings=settings) as config: - config.include('pyramid_jinja2') config.include('.models') + config.include('pyramid_jinja2') config.include('.routes') config.scan() return config.make_wsgi_app() diff --git a/docs/tutorials/wiki2/src/installation/tutorial/alembic/script.py.mako b/docs/tutorials/wiki2/src/installation/tutorial/alembic/script.py.mako index 2c0156303..535780d13 100644 --- a/docs/tutorials/wiki2/src/installation/tutorial/alembic/script.py.mako +++ b/docs/tutorials/wiki2/src/installation/tutorial/alembic/script.py.mako @@ -15,10 +15,8 @@ down_revision = ${repr(down_revision)} branch_labels = ${repr(branch_labels)} depends_on = ${repr(depends_on)} - def upgrade(): ${upgrades if upgrades else "pass"} - def downgrade(): ${downgrades if downgrades else "pass"} diff --git a/docs/tutorials/wiki2/src/installation/tutorial/alembic/versions/README.txt b/docs/tutorials/wiki2/src/installation/tutorial/alembic/versions/README.txt index 09ed32c8d..b0d704d6a 100644 --- a/docs/tutorials/wiki2/src/installation/tutorial/alembic/versions/README.txt +++ b/docs/tutorials/wiki2/src/installation/tutorial/alembic/versions/README.txt @@ -1 +1 @@ -Placeholder for alembic versions \ No newline at end of file +Placeholder for alembic versions diff --git a/docs/tutorials/wiki2/src/installation/tutorial/pshell.py b/docs/tutorials/wiki2/src/installation/tutorial/pshell.py index 108c04d5e..b0847ee90 100644 --- a/docs/tutorials/wiki2/src/installation/tutorial/pshell.py +++ b/docs/tutorials/wiki2/src/installation/tutorial/pshell.py @@ -1,5 +1,6 @@ from . import models + def setup(env): request = env['request'] diff --git a/docs/tutorials/wiki2/src/installation/tutorial/templates/404.jinja2 b/docs/tutorials/wiki2/src/installation/tutorial/templates/404.jinja2 index 1917f83c7..aaf12413f 100644 --- a/docs/tutorials/wiki2/src/installation/tutorial/templates/404.jinja2 +++ b/docs/tutorials/wiki2/src/installation/tutorial/templates/404.jinja2 @@ -2,7 +2,7 @@ {% block content %}
-

Pyramid Alchemy scaffold

+

Pyramid Starter project

404 Page Not Found

{% endblock content %} diff --git a/docs/tutorials/wiki2/src/installation/tutorial/templates/layout.jinja2 b/docs/tutorials/wiki2/src/installation/tutorial/templates/layout.jinja2 index 5d4313fe2..f5a086f0e 100644 --- a/docs/tutorials/wiki2/src/installation/tutorial/templates/layout.jinja2 +++ b/docs/tutorials/wiki2/src/installation/tutorial/templates/layout.jinja2 @@ -8,7 +8,7 @@ - Cookiecutter Alchemy project for the Pyramid Web Framework + Cookiecutter Starter project for the Pyramid Web Framework diff --git a/docs/tutorials/wiki2/src/installation/tutorial/templates/mytemplate.jinja2 b/docs/tutorials/wiki2/src/installation/tutorial/templates/mytemplate.jinja2 index d8b0a4232..f2e7283f8 100644 --- a/docs/tutorials/wiki2/src/installation/tutorial/templates/mytemplate.jinja2 +++ b/docs/tutorials/wiki2/src/installation/tutorial/templates/mytemplate.jinja2 @@ -2,7 +2,7 @@ {% block content %}
-

Pyramid Alchemy project

+

Pyramid Starter project

Welcome to {{project}}, a Pyramid application generated by
Cookiecutter.

-{% endblock content %} \ No newline at end of file +{% endblock content %} diff --git a/docs/tutorials/wiki2/src/installation/tutorial/tests.py b/docs/tutorials/wiki2/src/installation/tutorial/tests.py index ce650ca7c..47990669e 100644 --- a/docs/tutorials/wiki2/src/installation/tutorial/tests.py +++ b/docs/tutorials/wiki2/src/installation/tutorial/tests.py @@ -1,8 +1,9 @@ import unittest -import transaction from pyramid import testing +import transaction + def dummy_request(dbsession): return testing.DummyRequest(dbsession=dbsession) diff --git a/docs/tutorials/wiki2/src/installation/tutorial/views/default.py b/docs/tutorials/wiki2/src/installation/tutorial/views/default.py index ef69ff895..094b2f303 100644 --- a/docs/tutorials/wiki2/src/installation/tutorial/views/default.py +++ b/docs/tutorials/wiki2/src/installation/tutorial/views/default.py @@ -1,12 +1,12 @@ -from pyramid.response import Response from pyramid.view import view_config +from pyramid.response import Response from sqlalchemy.exc import DBAPIError from .. import models -@view_config(route_name='home', renderer='../templates/mytemplate.jinja2') +@view_config(route_name='home', renderer='tutorial:templates/mytemplate.jinja2') def my_view(request): try: query = request.dbsession.query(models.MyModel) @@ -21,7 +21,7 @@ Pyramid is having a problem using your SQL database. The problem might be caused by one of the following things: 1. You may need to initialize your database tables with `alembic`. - Check your README.txt for description and try to run it. + Check your README.txt for descriptions and try to run it. 2. Your database server may not be running. Check that the database server referred to by the "sqlalchemy.url" setting in diff --git a/docs/tutorials/wiki2/src/installation/tutorial/views/notfound.py b/docs/tutorials/wiki2/src/installation/tutorial/views/notfound.py index 69d6e2804..740712d9f 100644 --- a/docs/tutorials/wiki2/src/installation/tutorial/views/notfound.py +++ b/docs/tutorials/wiki2/src/installation/tutorial/views/notfound.py @@ -1,7 +1,7 @@ from pyramid.view import notfound_view_config -@notfound_view_config(renderer='../templates/404.jinja2') +@notfound_view_config(renderer='tutorial:templates/404.jinja2') def notfound_view(request): request.response.status = 404 return {} -- cgit v1.2.3 From 87e90486fb17254be7805fc6f984f43c85f3506b Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 28 Dec 2019 01:46:20 -0800 Subject: Update docs/tutorials/wiki2/basiclayout.rst and related src files --- docs/tutorials/wiki2/src/basiclayout/development.ini | 7 ++++++- docs/tutorials/wiki2/src/basiclayout/production.ini | 7 ++++++- docs/tutorials/wiki2/src/basiclayout/setup.py | 10 +++++----- docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py | 2 +- .../wiki2/src/basiclayout/tutorial/alembic/script.py.mako | 2 -- .../wiki2/src/basiclayout/tutorial/alembic/versions/README.txt | 2 +- docs/tutorials/wiki2/src/basiclayout/tutorial/pshell.py | 1 + .../wiki2/src/basiclayout/tutorial/templates/404.jinja2 | 2 +- .../wiki2/src/basiclayout/tutorial/templates/layout.jinja2 | 2 +- .../wiki2/src/basiclayout/tutorial/templates/mytemplate.jinja2 | 4 ++-- docs/tutorials/wiki2/src/basiclayout/tutorial/tests.py | 3 ++- docs/tutorials/wiki2/src/basiclayout/tutorial/views/default.py | 6 +++--- .../tutorials/wiki2/src/basiclayout/tutorial/views/notfound.py | 2 +- 13 files changed, 30 insertions(+), 20 deletions(-) (limited to 'docs/tutorials/wiki2/src') diff --git a/docs/tutorials/wiki2/src/basiclayout/development.ini b/docs/tutorials/wiki2/src/basiclayout/development.ini index 564aefb56..f02c4b1b6 100644 --- a/docs/tutorials/wiki2/src/basiclayout/development.ini +++ b/docs/tutorials/wiki2/src/basiclayout/development.ini @@ -45,7 +45,7 @@ listen = localhost:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -70,6 +70,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = INFO +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/basiclayout/production.ini b/docs/tutorials/wiki2/src/basiclayout/production.ini index 29cdda1e1..f8e83f21f 100644 --- a/docs/tutorials/wiki2/src/basiclayout/production.ini +++ b/docs/tutorials/wiki2/src/basiclayout/production.ini @@ -39,7 +39,7 @@ listen = *:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -64,6 +64,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = WARN +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/basiclayout/setup.py b/docs/tutorials/wiki2/src/basiclayout/setup.py index 746012a74..a0efdea6d 100644 --- a/docs/tutorials/wiki2/src/basiclayout/setup.py +++ b/docs/tutorials/wiki2/src/basiclayout/setup.py @@ -9,17 +9,17 @@ with open(os.path.join(here, 'CHANGES.txt')) as f: CHANGES = f.read() requires = [ - 'alembic', 'plaster_pastedeploy', - 'pyramid >= 1.9', - 'pyramid_debugtoolbar', + 'pyramid', 'pyramid_jinja2', + 'pyramid_debugtoolbar', + 'waitress', + 'alembic', 'pyramid_retry', 'pyramid_tm', 'SQLAlchemy', 'transaction', 'zope.sqlalchemy', - 'waitress', ] tests_require = [ @@ -55,7 +55,7 @@ setup( 'main = tutorial:main', ], 'console_scripts': [ - 'initialize_tutorial_db = tutorial.scripts.initialize_db:main', + 'initialize_tutorial_db=tutorial.scripts.initialize_db:main', ], }, ) diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py b/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py index 28bd1f80d..5c2ba5cc0 100644 --- a/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py +++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/__init__.py @@ -5,8 +5,8 @@ def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ with Configurator(settings=settings) as config: - config.include('pyramid_jinja2') config.include('.models') + config.include('pyramid_jinja2') config.include('.routes') config.scan() return config.make_wsgi_app() diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/alembic/script.py.mako b/docs/tutorials/wiki2/src/basiclayout/tutorial/alembic/script.py.mako index 2c0156303..535780d13 100644 --- a/docs/tutorials/wiki2/src/basiclayout/tutorial/alembic/script.py.mako +++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/alembic/script.py.mako @@ -15,10 +15,8 @@ down_revision = ${repr(down_revision)} branch_labels = ${repr(branch_labels)} depends_on = ${repr(depends_on)} - def upgrade(): ${upgrades if upgrades else "pass"} - def downgrade(): ${downgrades if downgrades else "pass"} diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/alembic/versions/README.txt b/docs/tutorials/wiki2/src/basiclayout/tutorial/alembic/versions/README.txt index 09ed32c8d..b0d704d6a 100644 --- a/docs/tutorials/wiki2/src/basiclayout/tutorial/alembic/versions/README.txt +++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/alembic/versions/README.txt @@ -1 +1 @@ -Placeholder for alembic versions \ No newline at end of file +Placeholder for alembic versions diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/pshell.py b/docs/tutorials/wiki2/src/basiclayout/tutorial/pshell.py index 108c04d5e..b0847ee90 100644 --- a/docs/tutorials/wiki2/src/basiclayout/tutorial/pshell.py +++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/pshell.py @@ -1,5 +1,6 @@ from . import models + def setup(env): request = env['request'] diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/404.jinja2 b/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/404.jinja2 index 1917f83c7..aaf12413f 100644 --- a/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/404.jinja2 +++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/404.jinja2 @@ -2,7 +2,7 @@ {% block content %}
-

Pyramid Alchemy scaffold

+

Pyramid Starter project

404 Page Not Found

{% endblock content %} diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/layout.jinja2 b/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/layout.jinja2 index 5d4313fe2..f5a086f0e 100644 --- a/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/layout.jinja2 +++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/layout.jinja2 @@ -8,7 +8,7 @@ - Cookiecutter Alchemy project for the Pyramid Web Framework + Cookiecutter Starter project for the Pyramid Web Framework diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/mytemplate.jinja2 b/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/mytemplate.jinja2 index d8b0a4232..f2e7283f8 100644 --- a/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/mytemplate.jinja2 +++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/templates/mytemplate.jinja2 @@ -2,7 +2,7 @@ {% block content %}
-

Pyramid Alchemy project

+

Pyramid Starter project

Welcome to {{project}}, a Pyramid application generated by
Cookiecutter.

-{% endblock content %} \ No newline at end of file +{% endblock content %} diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/tests.py b/docs/tutorials/wiki2/src/basiclayout/tutorial/tests.py index ce650ca7c..47990669e 100644 --- a/docs/tutorials/wiki2/src/basiclayout/tutorial/tests.py +++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/tests.py @@ -1,8 +1,9 @@ import unittest -import transaction from pyramid import testing +import transaction + def dummy_request(dbsession): return testing.DummyRequest(dbsession=dbsession) diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/views/default.py b/docs/tutorials/wiki2/src/basiclayout/tutorial/views/default.py index ef69ff895..094b2f303 100644 --- a/docs/tutorials/wiki2/src/basiclayout/tutorial/views/default.py +++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/views/default.py @@ -1,12 +1,12 @@ -from pyramid.response import Response from pyramid.view import view_config +from pyramid.response import Response from sqlalchemy.exc import DBAPIError from .. import models -@view_config(route_name='home', renderer='../templates/mytemplate.jinja2') +@view_config(route_name='home', renderer='tutorial:templates/mytemplate.jinja2') def my_view(request): try: query = request.dbsession.query(models.MyModel) @@ -21,7 +21,7 @@ Pyramid is having a problem using your SQL database. The problem might be caused by one of the following things: 1. You may need to initialize your database tables with `alembic`. - Check your README.txt for description and try to run it. + Check your README.txt for descriptions and try to run it. 2. Your database server may not be running. Check that the database server referred to by the "sqlalchemy.url" setting in diff --git a/docs/tutorials/wiki2/src/basiclayout/tutorial/views/notfound.py b/docs/tutorials/wiki2/src/basiclayout/tutorial/views/notfound.py index 69d6e2804..740712d9f 100644 --- a/docs/tutorials/wiki2/src/basiclayout/tutorial/views/notfound.py +++ b/docs/tutorials/wiki2/src/basiclayout/tutorial/views/notfound.py @@ -1,7 +1,7 @@ from pyramid.view import notfound_view_config -@notfound_view_config(renderer='../templates/404.jinja2') +@notfound_view_config(renderer='tutorial:templates/404.jinja2') def notfound_view(request): request.response.status = 404 return {} -- cgit v1.2.3 From 49f8e03861fbcb3a4d02a53bf5793aaee8757bfd Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 28 Dec 2019 02:13:03 -0800 Subject: Update docs/tutorials/wiki2/definingmodels.rst and related src files --- docs/tutorials/wiki2/src/models/development.ini | 7 ++++++- docs/tutorials/wiki2/src/models/production.ini | 7 ++++++- docs/tutorials/wiki2/src/models/setup.py | 4 ++-- docs/tutorials/wiki2/src/models/tutorial/__init__.py | 2 +- docs/tutorials/wiki2/src/models/tutorial/alembic/script.py.mako | 2 -- .../wiki2/src/models/tutorial/alembic/versions/README.txt | 2 +- docs/tutorials/wiki2/src/models/tutorial/pshell.py | 1 + docs/tutorials/wiki2/src/models/tutorial/templates/404.jinja2 | 2 +- docs/tutorials/wiki2/src/models/tutorial/templates/layout.jinja2 | 2 +- .../wiki2/src/models/tutorial/templates/mytemplate.jinja2 | 4 ++-- docs/tutorials/wiki2/src/models/tutorial/tests.py | 3 ++- docs/tutorials/wiki2/src/models/tutorial/views/default.py | 6 +++--- docs/tutorials/wiki2/src/models/tutorial/views/notfound.py | 2 +- 13 files changed, 27 insertions(+), 17 deletions(-) (limited to 'docs/tutorials/wiki2/src') diff --git a/docs/tutorials/wiki2/src/models/development.ini b/docs/tutorials/wiki2/src/models/development.ini index 564aefb56..f02c4b1b6 100644 --- a/docs/tutorials/wiki2/src/models/development.ini +++ b/docs/tutorials/wiki2/src/models/development.ini @@ -45,7 +45,7 @@ listen = localhost:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -70,6 +70,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = INFO +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/models/production.ini b/docs/tutorials/wiki2/src/models/production.ini index 29cdda1e1..f8e83f21f 100644 --- a/docs/tutorials/wiki2/src/models/production.ini +++ b/docs/tutorials/wiki2/src/models/production.ini @@ -39,7 +39,7 @@ listen = *:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -64,6 +64,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = WARN +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/models/setup.py b/docs/tutorials/wiki2/src/models/setup.py index b9dc9d93f..da99411a0 100644 --- a/docs/tutorials/wiki2/src/models/setup.py +++ b/docs/tutorials/wiki2/src/models/setup.py @@ -12,7 +12,7 @@ requires = [ 'alembic', 'bcrypt', 'plaster_pastedeploy', - 'pyramid >= 1.9', + 'pyramid', 'pyramid_debugtoolbar', 'pyramid_jinja2', 'pyramid_retry', @@ -56,7 +56,7 @@ setup( 'main = tutorial:main', ], 'console_scripts': [ - 'initialize_tutorial_db = tutorial.scripts.initialize_db:main', + 'initialize_tutorial_db=tutorial.scripts.initialize_db:main', ], }, ) diff --git a/docs/tutorials/wiki2/src/models/tutorial/__init__.py b/docs/tutorials/wiki2/src/models/tutorial/__init__.py index 28bd1f80d..5c2ba5cc0 100644 --- a/docs/tutorials/wiki2/src/models/tutorial/__init__.py +++ b/docs/tutorials/wiki2/src/models/tutorial/__init__.py @@ -5,8 +5,8 @@ def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ with Configurator(settings=settings) as config: - config.include('pyramid_jinja2') config.include('.models') + config.include('pyramid_jinja2') config.include('.routes') config.scan() return config.make_wsgi_app() diff --git a/docs/tutorials/wiki2/src/models/tutorial/alembic/script.py.mako b/docs/tutorials/wiki2/src/models/tutorial/alembic/script.py.mako index 2c0156303..535780d13 100644 --- a/docs/tutorials/wiki2/src/models/tutorial/alembic/script.py.mako +++ b/docs/tutorials/wiki2/src/models/tutorial/alembic/script.py.mako @@ -15,10 +15,8 @@ down_revision = ${repr(down_revision)} branch_labels = ${repr(branch_labels)} depends_on = ${repr(depends_on)} - def upgrade(): ${upgrades if upgrades else "pass"} - def downgrade(): ${downgrades if downgrades else "pass"} diff --git a/docs/tutorials/wiki2/src/models/tutorial/alembic/versions/README.txt b/docs/tutorials/wiki2/src/models/tutorial/alembic/versions/README.txt index 09ed32c8d..b0d704d6a 100644 --- a/docs/tutorials/wiki2/src/models/tutorial/alembic/versions/README.txt +++ b/docs/tutorials/wiki2/src/models/tutorial/alembic/versions/README.txt @@ -1 +1 @@ -Placeholder for alembic versions \ No newline at end of file +Placeholder for alembic versions diff --git a/docs/tutorials/wiki2/src/models/tutorial/pshell.py b/docs/tutorials/wiki2/src/models/tutorial/pshell.py index 108c04d5e..b0847ee90 100644 --- a/docs/tutorials/wiki2/src/models/tutorial/pshell.py +++ b/docs/tutorials/wiki2/src/models/tutorial/pshell.py @@ -1,5 +1,6 @@ from . import models + def setup(env): request = env['request'] diff --git a/docs/tutorials/wiki2/src/models/tutorial/templates/404.jinja2 b/docs/tutorials/wiki2/src/models/tutorial/templates/404.jinja2 index 1917f83c7..aaf12413f 100644 --- a/docs/tutorials/wiki2/src/models/tutorial/templates/404.jinja2 +++ b/docs/tutorials/wiki2/src/models/tutorial/templates/404.jinja2 @@ -2,7 +2,7 @@ {% block content %}
-

Pyramid Alchemy scaffold

+

Pyramid Starter project

404 Page Not Found

{% endblock content %} diff --git a/docs/tutorials/wiki2/src/models/tutorial/templates/layout.jinja2 b/docs/tutorials/wiki2/src/models/tutorial/templates/layout.jinja2 index 5d4313fe2..f5a086f0e 100644 --- a/docs/tutorials/wiki2/src/models/tutorial/templates/layout.jinja2 +++ b/docs/tutorials/wiki2/src/models/tutorial/templates/layout.jinja2 @@ -8,7 +8,7 @@ - Cookiecutter Alchemy project for the Pyramid Web Framework + Cookiecutter Starter project for the Pyramid Web Framework diff --git a/docs/tutorials/wiki2/src/models/tutorial/templates/mytemplate.jinja2 b/docs/tutorials/wiki2/src/models/tutorial/templates/mytemplate.jinja2 index d8b0a4232..f2e7283f8 100644 --- a/docs/tutorials/wiki2/src/models/tutorial/templates/mytemplate.jinja2 +++ b/docs/tutorials/wiki2/src/models/tutorial/templates/mytemplate.jinja2 @@ -2,7 +2,7 @@ {% block content %}
-

Pyramid Alchemy project

+

Pyramid Starter project

Welcome to {{project}}, a Pyramid application generated by
Cookiecutter.

-{% endblock content %} \ No newline at end of file +{% endblock content %} diff --git a/docs/tutorials/wiki2/src/models/tutorial/tests.py b/docs/tutorials/wiki2/src/models/tutorial/tests.py index ce650ca7c..47990669e 100644 --- a/docs/tutorials/wiki2/src/models/tutorial/tests.py +++ b/docs/tutorials/wiki2/src/models/tutorial/tests.py @@ -1,8 +1,9 @@ import unittest -import transaction from pyramid import testing +import transaction + def dummy_request(dbsession): return testing.DummyRequest(dbsession=dbsession) diff --git a/docs/tutorials/wiki2/src/models/tutorial/views/default.py b/docs/tutorials/wiki2/src/models/tutorial/views/default.py index ef69ff895..094b2f303 100644 --- a/docs/tutorials/wiki2/src/models/tutorial/views/default.py +++ b/docs/tutorials/wiki2/src/models/tutorial/views/default.py @@ -1,12 +1,12 @@ -from pyramid.response import Response from pyramid.view import view_config +from pyramid.response import Response from sqlalchemy.exc import DBAPIError from .. import models -@view_config(route_name='home', renderer='../templates/mytemplate.jinja2') +@view_config(route_name='home', renderer='tutorial:templates/mytemplate.jinja2') def my_view(request): try: query = request.dbsession.query(models.MyModel) @@ -21,7 +21,7 @@ Pyramid is having a problem using your SQL database. The problem might be caused by one of the following things: 1. You may need to initialize your database tables with `alembic`. - Check your README.txt for description and try to run it. + Check your README.txt for descriptions and try to run it. 2. Your database server may not be running. Check that the database server referred to by the "sqlalchemy.url" setting in diff --git a/docs/tutorials/wiki2/src/models/tutorial/views/notfound.py b/docs/tutorials/wiki2/src/models/tutorial/views/notfound.py index 69d6e2804..740712d9f 100644 --- a/docs/tutorials/wiki2/src/models/tutorial/views/notfound.py +++ b/docs/tutorials/wiki2/src/models/tutorial/views/notfound.py @@ -1,7 +1,7 @@ from pyramid.view import notfound_view_config -@notfound_view_config(renderer='../templates/404.jinja2') +@notfound_view_config(renderer='tutorial:templates/404.jinja2') def notfound_view(request): request.response.status = 404 return {} -- cgit v1.2.3 From 24f21b5ff957c0bef319cb5927ee892ce0f36b60 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 28 Dec 2019 02:24:21 -0800 Subject: Update docs/tutorials/wiki2/definingviews.rst and related src files --- docs/tutorials/wiki2/src/views/development.ini | 7 ++++++- docs/tutorials/wiki2/src/views/production.ini | 7 ++++++- docs/tutorials/wiki2/src/views/setup.py | 4 ++-- docs/tutorials/wiki2/src/views/tutorial/__init__.py | 2 +- docs/tutorials/wiki2/src/views/tutorial/alembic/script.py.mako | 2 -- .../tutorials/wiki2/src/views/tutorial/alembic/versions/README.txt | 2 +- docs/tutorials/wiki2/src/views/tutorial/pshell.py | 1 + docs/tutorials/wiki2/src/views/tutorial/templates/404.jinja2 | 2 +- docs/tutorials/wiki2/src/views/tutorial/tests.py | 3 ++- docs/tutorials/wiki2/src/views/tutorial/views/default.py | 6 +++--- docs/tutorials/wiki2/src/views/tutorial/views/notfound.py | 2 +- 11 files changed, 24 insertions(+), 14 deletions(-) (limited to 'docs/tutorials/wiki2/src') diff --git a/docs/tutorials/wiki2/src/views/development.ini b/docs/tutorials/wiki2/src/views/development.ini index 564aefb56..f02c4b1b6 100644 --- a/docs/tutorials/wiki2/src/views/development.ini +++ b/docs/tutorials/wiki2/src/views/development.ini @@ -45,7 +45,7 @@ listen = localhost:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -70,6 +70,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = INFO +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/views/production.ini b/docs/tutorials/wiki2/src/views/production.ini index 29cdda1e1..f8e83f21f 100644 --- a/docs/tutorials/wiki2/src/views/production.ini +++ b/docs/tutorials/wiki2/src/views/production.ini @@ -39,7 +39,7 @@ listen = *:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -64,6 +64,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = WARN +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/views/setup.py b/docs/tutorials/wiki2/src/views/setup.py index f71998afc..a99793c15 100644 --- a/docs/tutorials/wiki2/src/views/setup.py +++ b/docs/tutorials/wiki2/src/views/setup.py @@ -13,7 +13,7 @@ requires = [ 'bcrypt', 'docutils', 'plaster_pastedeploy', - 'pyramid >= 1.9', + 'pyramid', 'pyramid_debugtoolbar', 'pyramid_jinja2', 'pyramid_retry', @@ -57,7 +57,7 @@ setup( 'main = tutorial:main', ], 'console_scripts': [ - 'initialize_tutorial_db = tutorial.scripts.initialize_db:main', + 'initialize_tutorial_db=tutorial.scripts.initialize_db:main', ], }, ) diff --git a/docs/tutorials/wiki2/src/views/tutorial/__init__.py b/docs/tutorials/wiki2/src/views/tutorial/__init__.py index 28bd1f80d..5c2ba5cc0 100644 --- a/docs/tutorials/wiki2/src/views/tutorial/__init__.py +++ b/docs/tutorials/wiki2/src/views/tutorial/__init__.py @@ -5,8 +5,8 @@ def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ with Configurator(settings=settings) as config: - config.include('pyramid_jinja2') config.include('.models') + config.include('pyramid_jinja2') config.include('.routes') config.scan() return config.make_wsgi_app() diff --git a/docs/tutorials/wiki2/src/views/tutorial/alembic/script.py.mako b/docs/tutorials/wiki2/src/views/tutorial/alembic/script.py.mako index 2c0156303..535780d13 100644 --- a/docs/tutorials/wiki2/src/views/tutorial/alembic/script.py.mako +++ b/docs/tutorials/wiki2/src/views/tutorial/alembic/script.py.mako @@ -15,10 +15,8 @@ down_revision = ${repr(down_revision)} branch_labels = ${repr(branch_labels)} depends_on = ${repr(depends_on)} - def upgrade(): ${upgrades if upgrades else "pass"} - def downgrade(): ${downgrades if downgrades else "pass"} diff --git a/docs/tutorials/wiki2/src/views/tutorial/alembic/versions/README.txt b/docs/tutorials/wiki2/src/views/tutorial/alembic/versions/README.txt index 09ed32c8d..b0d704d6a 100644 --- a/docs/tutorials/wiki2/src/views/tutorial/alembic/versions/README.txt +++ b/docs/tutorials/wiki2/src/views/tutorial/alembic/versions/README.txt @@ -1 +1 @@ -Placeholder for alembic versions \ No newline at end of file +Placeholder for alembic versions diff --git a/docs/tutorials/wiki2/src/views/tutorial/pshell.py b/docs/tutorials/wiki2/src/views/tutorial/pshell.py index 108c04d5e..b0847ee90 100644 --- a/docs/tutorials/wiki2/src/views/tutorial/pshell.py +++ b/docs/tutorials/wiki2/src/views/tutorial/pshell.py @@ -1,5 +1,6 @@ from . import models + def setup(env): request = env['request'] diff --git a/docs/tutorials/wiki2/src/views/tutorial/templates/404.jinja2 b/docs/tutorials/wiki2/src/views/tutorial/templates/404.jinja2 index 37b0a16b6..aaf12413f 100644 --- a/docs/tutorials/wiki2/src/views/tutorial/templates/404.jinja2 +++ b/docs/tutorials/wiki2/src/views/tutorial/templates/404.jinja2 @@ -2,7 +2,7 @@ {% block content %}
-

Pyramid tutorial wiki (based on TurboGears 20-Minute Wiki)

+

Pyramid Starter project

404 Page Not Found

{% endblock content %} diff --git a/docs/tutorials/wiki2/src/views/tutorial/tests.py b/docs/tutorials/wiki2/src/views/tutorial/tests.py index ce650ca7c..47990669e 100644 --- a/docs/tutorials/wiki2/src/views/tutorial/tests.py +++ b/docs/tutorials/wiki2/src/views/tutorial/tests.py @@ -1,8 +1,9 @@ import unittest -import transaction from pyramid import testing +import transaction + def dummy_request(dbsession): return testing.DummyRequest(dbsession=dbsession) diff --git a/docs/tutorials/wiki2/src/views/tutorial/views/default.py b/docs/tutorials/wiki2/src/views/tutorial/views/default.py index 5e28b64fd..867ba3f6c 100644 --- a/docs/tutorials/wiki2/src/views/tutorial/views/default.py +++ b/docs/tutorials/wiki2/src/views/tutorial/views/default.py @@ -19,7 +19,7 @@ def view_wiki(request): next_url = request.route_url('view_page', pagename='FrontPage') return HTTPFound(location=next_url) -@view_config(route_name='view_page', renderer='../templates/view.jinja2') +@view_config(route_name='view_page', renderer='tutorial:templates/view.jinja2') def view_page(request): pagename = request.matchdict['pagename'] page = request.dbsession.query(models.Page).filter_by(name=pagename).first() @@ -41,7 +41,7 @@ def view_page(request): edit_url = request.route_url('edit_page', pagename=page.name) return dict(page=page, content=content, edit_url=edit_url) -@view_config(route_name='edit_page', renderer='../templates/edit.jinja2') +@view_config(route_name='edit_page', renderer='tutorial:templates/edit.jinja2') def edit_page(request): pagename = request.matchdict['pagename'] page = request.dbsession.query(models.Page).filter_by(name=pagename).one() @@ -55,7 +55,7 @@ def edit_page(request): save_url=request.route_url('edit_page', pagename=page.name), ) -@view_config(route_name='add_page', renderer='../templates/edit.jinja2') +@view_config(route_name='add_page', renderer='tutorial:templates/edit.jinja2') def add_page(request): pagename = request.matchdict['pagename'] if request.dbsession.query(models.Page).filter_by(name=pagename).count() > 0: diff --git a/docs/tutorials/wiki2/src/views/tutorial/views/notfound.py b/docs/tutorials/wiki2/src/views/tutorial/views/notfound.py index 69d6e2804..740712d9f 100644 --- a/docs/tutorials/wiki2/src/views/tutorial/views/notfound.py +++ b/docs/tutorials/wiki2/src/views/tutorial/views/notfound.py @@ -1,7 +1,7 @@ from pyramid.view import notfound_view_config -@notfound_view_config(renderer='../templates/404.jinja2') +@notfound_view_config(renderer='tutorial:templates/404.jinja2') def notfound_view(request): request.response.status = 404 return {} -- cgit v1.2.3 From 585fb508bc08f517ce296b115b3e1d20241f1fab Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 28 Dec 2019 02:31:33 -0800 Subject: Update authentication src files --- docs/tutorials/wiki2/src/authentication/development.ini | 7 ++++++- docs/tutorials/wiki2/src/authentication/production.ini | 7 ++++++- docs/tutorials/wiki2/src/authentication/setup.py | 4 ++-- docs/tutorials/wiki2/src/authentication/tutorial/__init__.py | 2 +- .../wiki2/src/authentication/tutorial/alembic/script.py.mako | 2 -- .../wiki2/src/authentication/tutorial/alembic/versions/README.txt | 2 +- docs/tutorials/wiki2/src/authentication/tutorial/pshell.py | 1 + .../wiki2/src/authentication/tutorial/templates/404.jinja2 | 2 +- docs/tutorials/wiki2/src/authentication/tutorial/tests.py | 3 ++- docs/tutorials/wiki2/src/authentication/tutorial/views/default.py | 6 +++--- docs/tutorials/wiki2/src/authentication/tutorial/views/notfound.py | 2 +- 11 files changed, 24 insertions(+), 14 deletions(-) (limited to 'docs/tutorials/wiki2/src') diff --git a/docs/tutorials/wiki2/src/authentication/development.ini b/docs/tutorials/wiki2/src/authentication/development.ini index 8fbb5fd38..7fda4cb7b 100644 --- a/docs/tutorials/wiki2/src/authentication/development.ini +++ b/docs/tutorials/wiki2/src/authentication/development.ini @@ -47,7 +47,7 @@ listen = localhost:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -72,6 +72,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = INFO +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/authentication/production.ini b/docs/tutorials/wiki2/src/authentication/production.ini index 9fef64f83..8e878a707 100644 --- a/docs/tutorials/wiki2/src/authentication/production.ini +++ b/docs/tutorials/wiki2/src/authentication/production.ini @@ -41,7 +41,7 @@ listen = *:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -66,6 +66,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = WARN +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/authentication/setup.py b/docs/tutorials/wiki2/src/authentication/setup.py index f71998afc..a99793c15 100644 --- a/docs/tutorials/wiki2/src/authentication/setup.py +++ b/docs/tutorials/wiki2/src/authentication/setup.py @@ -13,7 +13,7 @@ requires = [ 'bcrypt', 'docutils', 'plaster_pastedeploy', - 'pyramid >= 1.9', + 'pyramid', 'pyramid_debugtoolbar', 'pyramid_jinja2', 'pyramid_retry', @@ -57,7 +57,7 @@ setup( 'main = tutorial:main', ], 'console_scripts': [ - 'initialize_tutorial_db = tutorial.scripts.initialize_db:main', + 'initialize_tutorial_db=tutorial.scripts.initialize_db:main', ], }, ) diff --git a/docs/tutorials/wiki2/src/authentication/tutorial/__init__.py b/docs/tutorials/wiki2/src/authentication/tutorial/__init__.py index 5d4bae3d7..ce2e9f12a 100644 --- a/docs/tutorials/wiki2/src/authentication/tutorial/__init__.py +++ b/docs/tutorials/wiki2/src/authentication/tutorial/__init__.py @@ -5,8 +5,8 @@ def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ with Configurator(settings=settings) as config: - config.include('pyramid_jinja2') config.include('.models') + config.include('pyramid_jinja2') config.include('.routes') config.include('.security') config.scan() diff --git a/docs/tutorials/wiki2/src/authentication/tutorial/alembic/script.py.mako b/docs/tutorials/wiki2/src/authentication/tutorial/alembic/script.py.mako index 2c0156303..535780d13 100644 --- a/docs/tutorials/wiki2/src/authentication/tutorial/alembic/script.py.mako +++ b/docs/tutorials/wiki2/src/authentication/tutorial/alembic/script.py.mako @@ -15,10 +15,8 @@ down_revision = ${repr(down_revision)} branch_labels = ${repr(branch_labels)} depends_on = ${repr(depends_on)} - def upgrade(): ${upgrades if upgrades else "pass"} - def downgrade(): ${downgrades if downgrades else "pass"} diff --git a/docs/tutorials/wiki2/src/authentication/tutorial/alembic/versions/README.txt b/docs/tutorials/wiki2/src/authentication/tutorial/alembic/versions/README.txt index 09ed32c8d..b0d704d6a 100644 --- a/docs/tutorials/wiki2/src/authentication/tutorial/alembic/versions/README.txt +++ b/docs/tutorials/wiki2/src/authentication/tutorial/alembic/versions/README.txt @@ -1 +1 @@ -Placeholder for alembic versions \ No newline at end of file +Placeholder for alembic versions diff --git a/docs/tutorials/wiki2/src/authentication/tutorial/pshell.py b/docs/tutorials/wiki2/src/authentication/tutorial/pshell.py index 108c04d5e..b0847ee90 100644 --- a/docs/tutorials/wiki2/src/authentication/tutorial/pshell.py +++ b/docs/tutorials/wiki2/src/authentication/tutorial/pshell.py @@ -1,5 +1,6 @@ from . import models + def setup(env): request = env['request'] diff --git a/docs/tutorials/wiki2/src/authentication/tutorial/templates/404.jinja2 b/docs/tutorials/wiki2/src/authentication/tutorial/templates/404.jinja2 index 37b0a16b6..aaf12413f 100644 --- a/docs/tutorials/wiki2/src/authentication/tutorial/templates/404.jinja2 +++ b/docs/tutorials/wiki2/src/authentication/tutorial/templates/404.jinja2 @@ -2,7 +2,7 @@ {% block content %}
-

Pyramid tutorial wiki (based on TurboGears 20-Minute Wiki)

+

Pyramid Starter project

404 Page Not Found

{% endblock content %} diff --git a/docs/tutorials/wiki2/src/authentication/tutorial/tests.py b/docs/tutorials/wiki2/src/authentication/tutorial/tests.py index ce650ca7c..47990669e 100644 --- a/docs/tutorials/wiki2/src/authentication/tutorial/tests.py +++ b/docs/tutorials/wiki2/src/authentication/tutorial/tests.py @@ -1,8 +1,9 @@ import unittest -import transaction from pyramid import testing +import transaction + def dummy_request(dbsession): return testing.DummyRequest(dbsession=dbsession) diff --git a/docs/tutorials/wiki2/src/authentication/tutorial/views/default.py b/docs/tutorials/wiki2/src/authentication/tutorial/views/default.py index 2f0210255..d1c429950 100644 --- a/docs/tutorials/wiki2/src/authentication/tutorial/views/default.py +++ b/docs/tutorials/wiki2/src/authentication/tutorial/views/default.py @@ -20,7 +20,7 @@ def view_wiki(request): next_url = request.route_url('view_page', pagename='FrontPage') return HTTPFound(location=next_url) -@view_config(route_name='view_page', renderer='../templates/view.jinja2') +@view_config(route_name='view_page', renderer='tutorial:templates/view.jinja2') def view_page(request): pagename = request.matchdict['pagename'] page = request.dbsession.query(models.Page).filter_by(name=pagename).first() @@ -42,7 +42,7 @@ def view_page(request): edit_url = request.route_url('edit_page', pagename=page.name) return dict(page=page, content=content, edit_url=edit_url) -@view_config(route_name='edit_page', renderer='../templates/edit.jinja2') +@view_config(route_name='edit_page', renderer='tutorial:templates/edit.jinja2') def edit_page(request): pagename = request.matchdict['pagename'] page = request.dbsession.query(models.Page).filter_by(name=pagename).one() @@ -59,7 +59,7 @@ def edit_page(request): save_url=request.route_url('edit_page', pagename=page.name), ) -@view_config(route_name='add_page', renderer='../templates/edit.jinja2') +@view_config(route_name='add_page', renderer='tutorial:templates/edit.jinja2') def add_page(request): user = request.user if user is None or user.role not in ('editor', 'basic'): diff --git a/docs/tutorials/wiki2/src/authentication/tutorial/views/notfound.py b/docs/tutorials/wiki2/src/authentication/tutorial/views/notfound.py index 69d6e2804..740712d9f 100644 --- a/docs/tutorials/wiki2/src/authentication/tutorial/views/notfound.py +++ b/docs/tutorials/wiki2/src/authentication/tutorial/views/notfound.py @@ -1,7 +1,7 @@ from pyramid.view import notfound_view_config -@notfound_view_config(renderer='../templates/404.jinja2') +@notfound_view_config(renderer='tutorial:templates/404.jinja2') def notfound_view(request): request.response.status = 404 return {} -- cgit v1.2.3 From ccf632a1ff478c0bd6db0ab1ab6d9695018aa564 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 28 Dec 2019 02:38:13 -0800 Subject: Update authorization src files --- docs/tutorials/wiki2/src/authorization/development.ini | 7 ++++++- docs/tutorials/wiki2/src/authorization/production.ini | 7 ++++++- docs/tutorials/wiki2/src/authorization/setup.py | 4 ++-- docs/tutorials/wiki2/src/authorization/tutorial/__init__.py | 2 +- .../wiki2/src/authorization/tutorial/alembic/script.py.mako | 2 -- .../wiki2/src/authorization/tutorial/alembic/versions/README.txt | 2 +- docs/tutorials/wiki2/src/authorization/tutorial/pshell.py | 1 + .../wiki2/src/authorization/tutorial/templates/404.jinja2 | 2 +- docs/tutorials/wiki2/src/authorization/tutorial/tests.py | 3 ++- docs/tutorials/wiki2/src/authorization/tutorial/views/default.py | 6 +++--- docs/tutorials/wiki2/src/authorization/tutorial/views/notfound.py | 2 +- 11 files changed, 24 insertions(+), 14 deletions(-) (limited to 'docs/tutorials/wiki2/src') diff --git a/docs/tutorials/wiki2/src/authorization/development.ini b/docs/tutorials/wiki2/src/authorization/development.ini index 8fbb5fd38..7fda4cb7b 100644 --- a/docs/tutorials/wiki2/src/authorization/development.ini +++ b/docs/tutorials/wiki2/src/authorization/development.ini @@ -47,7 +47,7 @@ listen = localhost:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -72,6 +72,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = INFO +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/authorization/production.ini b/docs/tutorials/wiki2/src/authorization/production.ini index 9fef64f83..8e878a707 100644 --- a/docs/tutorials/wiki2/src/authorization/production.ini +++ b/docs/tutorials/wiki2/src/authorization/production.ini @@ -41,7 +41,7 @@ listen = *:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -66,6 +66,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = WARN +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/authorization/setup.py b/docs/tutorials/wiki2/src/authorization/setup.py index f71998afc..a99793c15 100644 --- a/docs/tutorials/wiki2/src/authorization/setup.py +++ b/docs/tutorials/wiki2/src/authorization/setup.py @@ -13,7 +13,7 @@ requires = [ 'bcrypt', 'docutils', 'plaster_pastedeploy', - 'pyramid >= 1.9', + 'pyramid', 'pyramid_debugtoolbar', 'pyramid_jinja2', 'pyramid_retry', @@ -57,7 +57,7 @@ setup( 'main = tutorial:main', ], 'console_scripts': [ - 'initialize_tutorial_db = tutorial.scripts.initialize_db:main', + 'initialize_tutorial_db=tutorial.scripts.initialize_db:main', ], }, ) diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/__init__.py b/docs/tutorials/wiki2/src/authorization/tutorial/__init__.py index 5d4bae3d7..ce2e9f12a 100644 --- a/docs/tutorials/wiki2/src/authorization/tutorial/__init__.py +++ b/docs/tutorials/wiki2/src/authorization/tutorial/__init__.py @@ -5,8 +5,8 @@ def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ with Configurator(settings=settings) as config: - config.include('pyramid_jinja2') config.include('.models') + config.include('pyramid_jinja2') config.include('.routes') config.include('.security') config.scan() diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/alembic/script.py.mako b/docs/tutorials/wiki2/src/authorization/tutorial/alembic/script.py.mako index 2c0156303..535780d13 100644 --- a/docs/tutorials/wiki2/src/authorization/tutorial/alembic/script.py.mako +++ b/docs/tutorials/wiki2/src/authorization/tutorial/alembic/script.py.mako @@ -15,10 +15,8 @@ down_revision = ${repr(down_revision)} branch_labels = ${repr(branch_labels)} depends_on = ${repr(depends_on)} - def upgrade(): ${upgrades if upgrades else "pass"} - def downgrade(): ${downgrades if downgrades else "pass"} diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/alembic/versions/README.txt b/docs/tutorials/wiki2/src/authorization/tutorial/alembic/versions/README.txt index 09ed32c8d..b0d704d6a 100644 --- a/docs/tutorials/wiki2/src/authorization/tutorial/alembic/versions/README.txt +++ b/docs/tutorials/wiki2/src/authorization/tutorial/alembic/versions/README.txt @@ -1 +1 @@ -Placeholder for alembic versions \ No newline at end of file +Placeholder for alembic versions diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/pshell.py b/docs/tutorials/wiki2/src/authorization/tutorial/pshell.py index 108c04d5e..b0847ee90 100644 --- a/docs/tutorials/wiki2/src/authorization/tutorial/pshell.py +++ b/docs/tutorials/wiki2/src/authorization/tutorial/pshell.py @@ -1,5 +1,6 @@ from . import models + def setup(env): request = env['request'] diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/templates/404.jinja2 b/docs/tutorials/wiki2/src/authorization/tutorial/templates/404.jinja2 index 37b0a16b6..aaf12413f 100644 --- a/docs/tutorials/wiki2/src/authorization/tutorial/templates/404.jinja2 +++ b/docs/tutorials/wiki2/src/authorization/tutorial/templates/404.jinja2 @@ -2,7 +2,7 @@ {% block content %}
-

Pyramid tutorial wiki (based on TurboGears 20-Minute Wiki)

+

Pyramid Starter project

404 Page Not Found

{% endblock content %} diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/tests.py b/docs/tutorials/wiki2/src/authorization/tutorial/tests.py index ce650ca7c..47990669e 100644 --- a/docs/tutorials/wiki2/src/authorization/tutorial/tests.py +++ b/docs/tutorials/wiki2/src/authorization/tutorial/tests.py @@ -1,8 +1,9 @@ import unittest -import transaction from pyramid import testing +import transaction + def dummy_request(dbsession): return testing.DummyRequest(dbsession=dbsession) diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/views/default.py b/docs/tutorials/wiki2/src/authorization/tutorial/views/default.py index ad8491b7b..de0bcd816 100644 --- a/docs/tutorials/wiki2/src/authorization/tutorial/views/default.py +++ b/docs/tutorials/wiki2/src/authorization/tutorial/views/default.py @@ -15,7 +15,7 @@ def view_wiki(request): next_url = request.route_url('view_page', pagename='FrontPage') return HTTPFound(location=next_url) -@view_config(route_name='view_page', renderer='../templates/view.jinja2', +@view_config(route_name='view_page', renderer='tutorial:templates/view.jinja2', permission='view') def view_page(request): page = request.context.page @@ -35,7 +35,7 @@ def view_page(request): edit_url = request.route_url('edit_page', pagename=page.name) return dict(page=page, content=content, edit_url=edit_url) -@view_config(route_name='edit_page', renderer='../templates/edit.jinja2', +@view_config(route_name='edit_page', renderer='tutorial:templates/edit.jinja2', permission='edit') def edit_page(request): page = request.context.page @@ -49,7 +49,7 @@ def edit_page(request): save_url=request.route_url('edit_page', pagename=page.name), ) -@view_config(route_name='add_page', renderer='../templates/edit.jinja2', +@view_config(route_name='add_page', renderer='tutorial:templates/edit.jinja2', permission='create') def add_page(request): pagename = request.context.pagename diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/views/notfound.py b/docs/tutorials/wiki2/src/authorization/tutorial/views/notfound.py index 69d6e2804..740712d9f 100644 --- a/docs/tutorials/wiki2/src/authorization/tutorial/views/notfound.py +++ b/docs/tutorials/wiki2/src/authorization/tutorial/views/notfound.py @@ -1,7 +1,7 @@ from pyramid.view import notfound_view_config -@notfound_view_config(renderer='../templates/404.jinja2') +@notfound_view_config(renderer='tutorial:templates/404.jinja2') def notfound_view(request): request.response.status = 404 return {} -- cgit v1.2.3 From bfde9a92438fe4c34742d1114d144658aad7ad25 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 28 Dec 2019 02:40:49 -0800 Subject: Update tests src files --- docs/tutorials/wiki2/src/tests/development.ini | 7 ++++++- docs/tutorials/wiki2/src/tests/production.ini | 7 ++++++- docs/tutorials/wiki2/src/tests/setup.py | 4 ++-- docs/tutorials/wiki2/src/tests/tutorial/__init__.py | 2 +- docs/tutorials/wiki2/src/tests/tutorial/alembic/script.py.mako | 2 -- .../tutorials/wiki2/src/tests/tutorial/alembic/versions/README.txt | 2 +- docs/tutorials/wiki2/src/tests/tutorial/pshell.py | 1 + docs/tutorials/wiki2/src/tests/tutorial/templates/404.jinja2 | 2 +- docs/tutorials/wiki2/src/tests/tutorial/views/default.py | 6 +++--- docs/tutorials/wiki2/src/tests/tutorial/views/notfound.py | 2 +- 10 files changed, 22 insertions(+), 13 deletions(-) (limited to 'docs/tutorials/wiki2/src') diff --git a/docs/tutorials/wiki2/src/tests/development.ini b/docs/tutorials/wiki2/src/tests/development.ini index 8fbb5fd38..7fda4cb7b 100644 --- a/docs/tutorials/wiki2/src/tests/development.ini +++ b/docs/tutorials/wiki2/src/tests/development.ini @@ -47,7 +47,7 @@ listen = localhost:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -72,6 +72,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = INFO +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/tests/production.ini b/docs/tutorials/wiki2/src/tests/production.ini index 9fef64f83..8e878a707 100644 --- a/docs/tutorials/wiki2/src/tests/production.ini +++ b/docs/tutorials/wiki2/src/tests/production.ini @@ -41,7 +41,7 @@ listen = *:6543 ### [loggers] -keys = root, tutorial, sqlalchemy +keys = root, tutorial, sqlalchemy, alembic [handlers] keys = console @@ -66,6 +66,11 @@ qualname = sqlalchemy.engine # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) +[logger_alembic] +level = WARN +handlers = +qualname = alembic + [handler_console] class = StreamHandler args = (sys.stderr,) diff --git a/docs/tutorials/wiki2/src/tests/setup.py b/docs/tutorials/wiki2/src/tests/setup.py index f71998afc..a99793c15 100644 --- a/docs/tutorials/wiki2/src/tests/setup.py +++ b/docs/tutorials/wiki2/src/tests/setup.py @@ -13,7 +13,7 @@ requires = [ 'bcrypt', 'docutils', 'plaster_pastedeploy', - 'pyramid >= 1.9', + 'pyramid', 'pyramid_debugtoolbar', 'pyramid_jinja2', 'pyramid_retry', @@ -57,7 +57,7 @@ setup( 'main = tutorial:main', ], 'console_scripts': [ - 'initialize_tutorial_db = tutorial.scripts.initialize_db:main', + 'initialize_tutorial_db=tutorial.scripts.initialize_db:main', ], }, ) diff --git a/docs/tutorials/wiki2/src/tests/tutorial/__init__.py b/docs/tutorials/wiki2/src/tests/tutorial/__init__.py index 5d4bae3d7..ce2e9f12a 100644 --- a/docs/tutorials/wiki2/src/tests/tutorial/__init__.py +++ b/docs/tutorials/wiki2/src/tests/tutorial/__init__.py @@ -5,8 +5,8 @@ def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ with Configurator(settings=settings) as config: - config.include('pyramid_jinja2') config.include('.models') + config.include('pyramid_jinja2') config.include('.routes') config.include('.security') config.scan() diff --git a/docs/tutorials/wiki2/src/tests/tutorial/alembic/script.py.mako b/docs/tutorials/wiki2/src/tests/tutorial/alembic/script.py.mako index 2c0156303..535780d13 100644 --- a/docs/tutorials/wiki2/src/tests/tutorial/alembic/script.py.mako +++ b/docs/tutorials/wiki2/src/tests/tutorial/alembic/script.py.mako @@ -15,10 +15,8 @@ down_revision = ${repr(down_revision)} branch_labels = ${repr(branch_labels)} depends_on = ${repr(depends_on)} - def upgrade(): ${upgrades if upgrades else "pass"} - def downgrade(): ${downgrades if downgrades else "pass"} diff --git a/docs/tutorials/wiki2/src/tests/tutorial/alembic/versions/README.txt b/docs/tutorials/wiki2/src/tests/tutorial/alembic/versions/README.txt index 09ed32c8d..b0d704d6a 100644 --- a/docs/tutorials/wiki2/src/tests/tutorial/alembic/versions/README.txt +++ b/docs/tutorials/wiki2/src/tests/tutorial/alembic/versions/README.txt @@ -1 +1 @@ -Placeholder for alembic versions \ No newline at end of file +Placeholder for alembic versions diff --git a/docs/tutorials/wiki2/src/tests/tutorial/pshell.py b/docs/tutorials/wiki2/src/tests/tutorial/pshell.py index 108c04d5e..b0847ee90 100644 --- a/docs/tutorials/wiki2/src/tests/tutorial/pshell.py +++ b/docs/tutorials/wiki2/src/tests/tutorial/pshell.py @@ -1,5 +1,6 @@ from . import models + def setup(env): request = env['request'] diff --git a/docs/tutorials/wiki2/src/tests/tutorial/templates/404.jinja2 b/docs/tutorials/wiki2/src/tests/tutorial/templates/404.jinja2 index 37b0a16b6..aaf12413f 100644 --- a/docs/tutorials/wiki2/src/tests/tutorial/templates/404.jinja2 +++ b/docs/tutorials/wiki2/src/tests/tutorial/templates/404.jinja2 @@ -2,7 +2,7 @@ {% block content %}
-

Pyramid tutorial wiki (based on TurboGears 20-Minute Wiki)

+

Pyramid Starter project

404 Page Not Found

{% endblock content %} diff --git a/docs/tutorials/wiki2/src/tests/tutorial/views/default.py b/docs/tutorials/wiki2/src/tests/tutorial/views/default.py index ad8491b7b..de0bcd816 100644 --- a/docs/tutorials/wiki2/src/tests/tutorial/views/default.py +++ b/docs/tutorials/wiki2/src/tests/tutorial/views/default.py @@ -15,7 +15,7 @@ def view_wiki(request): next_url = request.route_url('view_page', pagename='FrontPage') return HTTPFound(location=next_url) -@view_config(route_name='view_page', renderer='../templates/view.jinja2', +@view_config(route_name='view_page', renderer='tutorial:templates/view.jinja2', permission='view') def view_page(request): page = request.context.page @@ -35,7 +35,7 @@ def view_page(request): edit_url = request.route_url('edit_page', pagename=page.name) return dict(page=page, content=content, edit_url=edit_url) -@view_config(route_name='edit_page', renderer='../templates/edit.jinja2', +@view_config(route_name='edit_page', renderer='tutorial:templates/edit.jinja2', permission='edit') def edit_page(request): page = request.context.page @@ -49,7 +49,7 @@ def edit_page(request): save_url=request.route_url('edit_page', pagename=page.name), ) -@view_config(route_name='add_page', renderer='../templates/edit.jinja2', +@view_config(route_name='add_page', renderer='tutorial:templates/edit.jinja2', permission='create') def add_page(request): pagename = request.context.pagename diff --git a/docs/tutorials/wiki2/src/tests/tutorial/views/notfound.py b/docs/tutorials/wiki2/src/tests/tutorial/views/notfound.py index 69d6e2804..740712d9f 100644 --- a/docs/tutorials/wiki2/src/tests/tutorial/views/notfound.py +++ b/docs/tutorials/wiki2/src/tests/tutorial/views/notfound.py @@ -1,7 +1,7 @@ from pyramid.view import notfound_view_config -@notfound_view_config(renderer='../templates/404.jinja2') +@notfound_view_config(renderer='tutorial:templates/404.jinja2') def notfound_view(request): request.response.status = 404 return {} -- cgit v1.2.3 From bd42bcaee1176ee5bb0cc7bf311e8e91070eea88 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Wed, 1 Jan 2020 21:21:25 -0800 Subject: Resync wiki2/*.rst and related files after moving tests directory --- .../tutorials/wiki2/src/authentication/MANIFEST.in | 3 + docs/tutorials/wiki2/src/authentication/pytest.ini | 7 +- .../wiki2/src/authentication/tests/__init__.py | 0 .../wiki2/src/authentication/tests/test_it.py | 66 ++++++++ .../wiki2/src/authentication/tutorial/tests.py | 66 -------- docs/tutorials/wiki2/src/authorization/MANIFEST.in | 3 + docs/tutorials/wiki2/src/authorization/pytest.ini | 7 +- .../wiki2/src/authorization/tests/__init__.py | 0 .../wiki2/src/authorization/tests/test_it.py | 66 ++++++++ .../wiki2/src/authorization/tutorial/tests.py | 66 -------- docs/tutorials/wiki2/src/basiclayout/MANIFEST.in | 3 + docs/tutorials/wiki2/src/basiclayout/pytest.ini | 7 +- .../wiki2/src/basiclayout/tests/__init__.py | 0 .../wiki2/src/basiclayout/tests/test_it.py | 66 ++++++++ .../wiki2/src/basiclayout/tutorial/tests.py | 66 -------- docs/tutorials/wiki2/src/installation/MANIFEST.in | 3 + docs/tutorials/wiki2/src/installation/pytest.ini | 7 +- .../wiki2/src/installation/tests/__init__.py | 0 .../wiki2/src/installation/tests/test_it.py | 66 ++++++++ .../wiki2/src/installation/tutorial/tests.py | 66 -------- docs/tutorials/wiki2/src/models/MANIFEST.in | 3 + docs/tutorials/wiki2/src/models/pytest.ini | 7 +- docs/tutorials/wiki2/src/models/tests/__init__.py | 0 docs/tutorials/wiki2/src/models/tests/test_it.py | 66 ++++++++ docs/tutorials/wiki2/src/models/tutorial/tests.py | 66 -------- docs/tutorials/wiki2/src/tests/MANIFEST.in | 3 + docs/tutorials/wiki2/src/tests/pytest.ini | 7 +- docs/tutorials/wiki2/src/tests/tests/__init__.py | 0 .../wiki2/src/tests/tests/test_functional.py | 134 ++++++++++++++++ .../tutorials/wiki2/src/tests/tests/test_initdb.py | 16 ++ .../wiki2/src/tests/tests/test_security.py | 23 +++ .../wiki2/src/tests/tests/test_user_model.py | 67 ++++++++ docs/tutorials/wiki2/src/tests/tests/test_views.py | 168 +++++++++++++++++++++ .../wiki2/src/tests/tutorial/tests/__init__.py | 0 .../src/tests/tutorial/tests/test_functional.py | 134 ---------------- .../wiki2/src/tests/tutorial/tests/test_initdb.py | 16 -- .../src/tests/tutorial/tests/test_security.py | 23 --- .../src/tests/tutorial/tests/test_user_model.py | 67 -------- .../wiki2/src/tests/tutorial/tests/test_views.py | 168 --------------------- docs/tutorials/wiki2/src/views/MANIFEST.in | 3 + docs/tutorials/wiki2/src/views/pytest.ini | 7 +- docs/tutorials/wiki2/src/views/tests/__init__.py | 0 docs/tutorials/wiki2/src/views/tests/test_it.py | 66 ++++++++ docs/tutorials/wiki2/src/views/tutorial/tests.py | 66 -------- 44 files changed, 860 insertions(+), 818 deletions(-) create mode 100644 docs/tutorials/wiki2/src/authentication/tests/__init__.py create mode 100644 docs/tutorials/wiki2/src/authentication/tests/test_it.py delete mode 100644 docs/tutorials/wiki2/src/authentication/tutorial/tests.py create mode 100644 docs/tutorials/wiki2/src/authorization/tests/__init__.py create mode 100644 docs/tutorials/wiki2/src/authorization/tests/test_it.py delete mode 100644 docs/tutorials/wiki2/src/authorization/tutorial/tests.py create mode 100644 docs/tutorials/wiki2/src/basiclayout/tests/__init__.py create mode 100644 docs/tutorials/wiki2/src/basiclayout/tests/test_it.py delete mode 100644 docs/tutorials/wiki2/src/basiclayout/tutorial/tests.py create mode 100644 docs/tutorials/wiki2/src/installation/tests/__init__.py create mode 100644 docs/tutorials/wiki2/src/installation/tests/test_it.py delete mode 100644 docs/tutorials/wiki2/src/installation/tutorial/tests.py create mode 100644 docs/tutorials/wiki2/src/models/tests/__init__.py create mode 100644 docs/tutorials/wiki2/src/models/tests/test_it.py delete mode 100644 docs/tutorials/wiki2/src/models/tutorial/tests.py create mode 100644 docs/tutorials/wiki2/src/tests/tests/__init__.py create mode 100644 docs/tutorials/wiki2/src/tests/tests/test_functional.py create mode 100644 docs/tutorials/wiki2/src/tests/tests/test_initdb.py create mode 100644 docs/tutorials/wiki2/src/tests/tests/test_security.py create mode 100644 docs/tutorials/wiki2/src/tests/tests/test_user_model.py create mode 100644 docs/tutorials/wiki2/src/tests/tests/test_views.py delete mode 100644 docs/tutorials/wiki2/src/tests/tutorial/tests/__init__.py delete mode 100644 docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py delete mode 100644 docs/tutorials/wiki2/src/tests/tutorial/tests/test_initdb.py delete mode 100644 docs/tutorials/wiki2/src/tests/tutorial/tests/test_security.py delete mode 100644 docs/tutorials/wiki2/src/tests/tutorial/tests/test_user_model.py delete mode 100644 docs/tutorials/wiki2/src/tests/tutorial/tests/test_views.py create mode 100644 docs/tutorials/wiki2/src/views/tests/__init__.py create mode 100644 docs/tutorials/wiki2/src/views/tests/test_it.py delete mode 100644 docs/tutorials/wiki2/src/views/tutorial/tests.py (limited to 'docs/tutorials/wiki2/src') 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/authentication/tests/__init__.py b/docs/tutorials/wiki2/src/authentication/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/docs/tutorials/wiki2/src/authentication/tests/test_it.py b/docs/tutorials/wiki2/src/authentication/tests/test_it.py new file mode 100644 index 000000000..ea16534fc --- /dev/null +++ b/docs/tutorials/wiki2/src/authentication/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/authentication/tutorial/tests.py b/docs/tutorials/wiki2/src/authentication/tutorial/tests.py deleted file mode 100644 index 47990669e..000000000 --- a/docs/tutorials/wiki2/src/authentication/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/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 diff --git a/docs/tutorials/wiki2/src/authorization/tests/test_it.py b/docs/tutorials/wiki2/src/authorization/tests/test_it.py new file mode 100644 index 000000000..ea16534fc --- /dev/null +++ b/docs/tutorials/wiki2/src/authorization/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/authorization/tutorial/tests.py b/docs/tutorials/wiki2/src/authorization/tutorial/tests.py deleted file mode 100644 index 47990669e..000000000 --- a/docs/tutorials/wiki2/src/authorization/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/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 diff --git a/docs/tutorials/wiki2/src/basiclayout/tests/test_it.py b/docs/tutorials/wiki2/src/basiclayout/tests/test_it.py new file mode 100644 index 000000000..ea16534fc --- /dev/null +++ b/docs/tutorials/wiki2/src/basiclayout/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/basiclayout/tutorial/tests.py b/docs/tutorials/wiki2/src/basiclayout/tutorial/tests.py deleted file mode 100644 index 47990669e..000000000 --- a/docs/tutorials/wiki2/src/basiclayout/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/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 diff --git a/docs/tutorials/wiki2/src/installation/tests/test_it.py b/docs/tutorials/wiki2/src/installation/tests/test_it.py new file mode 100644 index 000000000..ea16534fc --- /dev/null +++ b/docs/tutorials/wiki2/src/installation/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/installation/tutorial/tests.py b/docs/tutorials/wiki2/src/installation/tutorial/tests.py deleted file mode 100644 index 47990669e..000000000 --- a/docs/tutorials/wiki2/src/installation/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/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 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 diff --git a/docs/tutorials/wiki2/src/tests/tests/test_functional.py b/docs/tutorials/wiki2/src/tests/tests/test_functional.py new file mode 100644 index 000000000..0250e71c9 --- /dev/null +++ b/docs/tutorials/wiki2/src/tests/tests/test_functional.py @@ -0,0 +1,134 @@ +import transaction +import unittest +import webtest + + +class FunctionalTests(unittest.TestCase): + + basic_login = ( + '/login?login=basic&password=basic' + '&next=FrontPage&form.submitted=Login') + basic_wrong_login = ( + '/login?login=basic&password=incorrect' + '&next=FrontPage&form.submitted=Login') + basic_login_no_next = ( + '/login?login=basic&password=basic' + '&form.submitted=Login') + editor_login = ( + '/login?login=editor&password=editor' + '&next=FrontPage&form.submitted=Login') + + @classmethod + def setUpClass(cls): + from tutorial.models.meta import Base + from tutorial.models import ( + User, + Page, + get_tm_session, + ) + from tutorial import main + + settings = { + 'sqlalchemy.url': 'sqlite://', + 'auth.secret': 'seekrit', + } + app = main({}, **settings) + cls.testapp = webtest.TestApp(app) + + session_factory = app.registry['dbsession_factory'] + cls.engine = session_factory.kw['bind'] + Base.metadata.create_all(bind=cls.engine) + + with transaction.manager: + dbsession = get_tm_session(session_factory, transaction.manager) + editor = User(name='editor', role='editor') + editor.set_password('editor') + basic = User(name='basic', role='basic') + basic.set_password('basic') + page1 = Page(name='FrontPage', data='This is the front page') + page1.creator = editor + page2 = Page(name='BackPage', data='This is the back page') + page2.creator = basic + dbsession.add_all([basic, editor, page1, page2]) + + @classmethod + def tearDownClass(cls): + from tutorial.models.meta import Base + Base.metadata.drop_all(bind=cls.engine) + + def test_root(self): + res = self.testapp.get('/', status=302) + self.assertEqual(res.location, 'http://localhost/FrontPage') + + def test_FrontPage(self): + res = self.testapp.get('/FrontPage', status=200) + self.assertTrue(b'FrontPage' in res.body) + + def test_unexisting_page(self): + self.testapp.get('/SomePage', status=404) + + def test_successful_log_in(self): + res = self.testapp.get(self.basic_login, status=302) + self.assertEqual(res.location, 'http://localhost/FrontPage') + + def test_successful_log_in_no_next(self): + res = self.testapp.get(self.basic_login_no_next, status=302) + self.assertEqual(res.location, 'http://localhost/') + + def test_failed_log_in(self): + res = self.testapp.get(self.basic_wrong_login, status=200) + self.assertTrue(b'login' in res.body) + + def test_logout_link_present_when_logged_in(self): + self.testapp.get(self.basic_login, status=302) + res = self.testapp.get('/FrontPage', status=200) + self.assertTrue(b'Logout' in res.body) + + def test_logout_link_not_present_after_logged_out(self): + self.testapp.get(self.basic_login, status=302) + self.testapp.get('/FrontPage', status=200) + res = self.testapp.get('/logout', status=302) + self.assertTrue(b'Logout' not in res.body) + + def test_anonymous_user_cannot_edit(self): + res = self.testapp.get('/FrontPage/edit_page', status=302).follow() + self.assertTrue(b'Login' in res.body) + + def test_anonymous_user_cannot_add(self): + res = self.testapp.get('/add_page/NewPage', status=302).follow() + self.assertTrue(b'Login' in res.body) + + def test_basic_user_cannot_edit_front(self): + self.testapp.get(self.basic_login, status=302) + res = self.testapp.get('/FrontPage/edit_page', status=302).follow() + self.assertTrue(b'Login' in res.body) + + def test_basic_user_can_edit_back(self): + self.testapp.get(self.basic_login, status=302) + res = self.testapp.get('/BackPage/edit_page', status=200) + self.assertTrue(b'Editing' in res.body) + + def test_basic_user_can_add(self): + self.testapp.get(self.basic_login, status=302) + res = self.testapp.get('/add_page/NewPage', status=200) + self.assertTrue(b'Editing' in res.body) + + def test_editors_member_user_can_edit(self): + self.testapp.get(self.editor_login, status=302) + res = self.testapp.get('/FrontPage/edit_page', status=200) + self.assertTrue(b'Editing' in res.body) + + def test_editors_member_user_can_add(self): + self.testapp.get(self.editor_login, status=302) + res = self.testapp.get('/add_page/NewPage', status=200) + self.assertTrue(b'Editing' in res.body) + + def test_editors_member_user_can_view(self): + self.testapp.get(self.editor_login, status=302) + res = self.testapp.get('/FrontPage', status=200) + self.assertTrue(b'FrontPage' in res.body) + + def test_redirect_to_edit_for_existing_page(self): + self.testapp.get(self.editor_login, status=302) + res = self.testapp.get('/add_page/FrontPage', status=302) + self.assertTrue(b'FrontPage' in res.body) diff --git a/docs/tutorials/wiki2/src/tests/tests/test_initdb.py b/docs/tutorials/wiki2/src/tests/tests/test_initdb.py new file mode 100644 index 000000000..9a24f0b22 --- /dev/null +++ b/docs/tutorials/wiki2/src/tests/tests/test_initdb.py @@ -0,0 +1,16 @@ +import os +import unittest + + +class TestInitializeDB(unittest.TestCase): + + def test_usage(self): + from tutorial.scripts.initialize_db import main + with self.assertRaises(SystemExit): + main(argv=['foo']) + + def test_run(self): + 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/tests/test_security.py b/docs/tutorials/wiki2/src/tests/tests/test_security.py new file mode 100644 index 000000000..9a1455ef9 --- /dev/null +++ b/docs/tutorials/wiki2/src/tests/tests/test_security.py @@ -0,0 +1,23 @@ +import unittest +from pyramid.testing import DummyRequest + + +class TestMyAuthenticationPolicy(unittest.TestCase): + + def test_no_user(self): + request = DummyRequest() + request.user = None + + from tutorial.security import MyAuthenticationPolicy + policy = MyAuthenticationPolicy(None) + self.assertEqual(policy.authenticated_userid(request), None) + + def test_authenticated_user(self): + from tutorial.models import User + request = DummyRequest() + request.user = User() + request.user.id = 'foo' + + from tutorial.security import MyAuthenticationPolicy + policy = MyAuthenticationPolicy(None) + self.assertEqual(policy.authenticated_userid(request), 'foo') diff --git a/docs/tutorials/wiki2/src/tests/tests/test_user_model.py b/docs/tutorials/wiki2/src/tests/tests/test_user_model.py new file mode 100644 index 000000000..21904da6b --- /dev/null +++ b/docs/tutorials/wiki2/src/tests/tests/test_user_model.py @@ -0,0 +1,67 @@ +import unittest +import transaction + +from pyramid import testing + + +class BaseTest(unittest.TestCase): + + def setUp(self): + from tutorial.models import get_tm_session + self.config = testing.setUp(settings={ + 'sqlalchemy.url': 'sqlite:///:memory:' + }) + 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) + + self.init_database() + + def init_database(self): + from tutorial.models.meta import Base + session_factory = self.config.registry['dbsession_factory'] + engine = session_factory.kw['bind'] + Base.metadata.create_all(engine) + + def tearDown(self): + testing.tearDown() + transaction.abort() + + def makeUser(self, name, role): + from tutorial.models import User + return User(name=name, role=role) + + +class TestSetPassword(BaseTest): + + def test_password_hash_saved(self): + user = self.makeUser(name='foo', role='bar') + self.assertFalse(user.password_hash) + + user.set_password('secret') + self.assertTrue(user.password_hash) + + +class TestCheckPassword(BaseTest): + + def test_password_hash_not_set(self): + user = self.makeUser(name='foo', role='bar') + self.assertFalse(user.password_hash) + + self.assertFalse(user.check_password('secret')) + + def test_correct_password(self): + user = self.makeUser(name='foo', role='bar') + user.set_password('secret') + self.assertTrue(user.password_hash) + + self.assertTrue(user.check_password('secret')) + + def test_incorrect_password(self): + user = self.makeUser(name='foo', role='bar') + user.set_password('secret') + self.assertTrue(user.password_hash) + + self.assertFalse(user.check_password('incorrect')) diff --git a/docs/tutorials/wiki2/src/tests/tests/test_views.py b/docs/tutorials/wiki2/src/tests/tests/test_views.py new file mode 100644 index 000000000..5c17457dd --- /dev/null +++ b/docs/tutorials/wiki2/src/tests/tests/test_views.py @@ -0,0 +1,168 @@ +import unittest +import transaction + +from pyramid import testing + + +def dummy_request(dbsession): + return testing.DummyRequest(dbsession=dbsession) + + +class BaseTest(unittest.TestCase): + def setUp(self): + from tutorial.models import get_tm_session + self.config = testing.setUp(settings={ + 'sqlalchemy.url': 'sqlite:///:memory:' + }) + 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) + + self.init_database() + + def init_database(self): + from tutorial.models.meta import Base + session_factory = self.config.registry['dbsession_factory'] + engine = session_factory.kw['bind'] + Base.metadata.create_all(engine) + + def tearDown(self): + testing.tearDown() + transaction.abort() + + def makeUser(self, name, role, password='dummy'): + from tutorial.models import User + user = User(name=name, role=role) + user.set_password(password) + return user + + def makePage(self, name, data, creator): + 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('tutorial.routes') + + def tearDown(self): + testing.tearDown() + + def _callFUT(self, request): + from tutorial.views.default import view_wiki + return view_wiki(request) + + def test_it(self): + request = testing.DummyRequest() + response = self._callFUT(request) + self.assertEqual(response.location, 'http://example.com/FrontPage') + + +class ViewPageTests(BaseTest): + def _callFUT(self, request): + from tutorial.views.default import view_page + return view_page(request) + + def test_it(self): + from tutorial.routes import PageResource + + # add a page to the db + user = self.makeUser('foo', 'editor') + page = self.makePage('IDoExist', 'Hello CruelWorld IDoExist', user) + self.session.add_all([page, user]) + + # create a request asking for the page we've created + request = dummy_request(self.session) + request.context = PageResource(page) + + # call the view we're testing and check its behavior + info = self._callFUT(request) + self.assertEqual(info['page'], page) + self.assertEqual( + info['content'], + '
\n' + '

Hello ' + 'CruelWorld ' + '' + 'IDoExist' + '

\n
\n') + self.assertEqual(info['edit_url'], + 'http://example.com/IDoExist/edit_page') + + +class AddPageTests(BaseTest): + def _callFUT(self, request): + from tutorial.views.default import add_page + return add_page(request) + + def test_it_pageexists(self): + from tutorial.models import Page + from tutorial.routes import NewPage + request = testing.DummyRequest({'form.submitted': True, + 'body': 'Hello yo!'}, + dbsession=self.session) + request.user = self.makeUser('foo', 'editor') + request.context = NewPage('AnotherPage') + self._callFUT(request) + pagecount = self.session.query(Page).filter_by(name='AnotherPage').count() + self.assertGreater(pagecount, 0) + + def test_it_notsubmitted(self): + from tutorial.routes import NewPage + request = dummy_request(self.session) + request.user = self.makeUser('foo', 'editor') + request.context = NewPage('AnotherPage') + info = self._callFUT(request) + self.assertEqual(info['pagedata'], '') + self.assertEqual(info['save_url'], + 'http://example.com/add_page/AnotherPage') + + def test_it_submitted(self): + from tutorial.models import Page + from tutorial.routes import NewPage + request = testing.DummyRequest({'form.submitted': True, + 'body': 'Hello yo!'}, + dbsession=self.session) + request.user = self.makeUser('foo', 'editor') + request.context = NewPage('AnotherPage') + self._callFUT(request) + page = self.session.query(Page).filter_by(name='AnotherPage').one() + self.assertEqual(page.data, 'Hello yo!') + + +class EditPageTests(BaseTest): + def _callFUT(self, request): + from tutorial.views.default import edit_page + return edit_page(request) + + def makeContext(self, page): + from tutorial.routes import PageResource + return PageResource(page) + + def test_it_notsubmitted(self): + user = self.makeUser('foo', 'editor') + page = self.makePage('abc', 'hello', user) + self.session.add_all([page, user]) + + request = dummy_request(self.session) + request.context = self.makeContext(page) + info = self._callFUT(request) + self.assertEqual(info['pagename'], 'abc') + self.assertEqual(info['save_url'], + 'http://example.com/abc/edit_page') + + def test_it_submitted(self): + user = self.makeUser('foo', 'editor') + page = self.makePage('abc', 'hello', user) + self.session.add_all([page, user]) + + request = testing.DummyRequest({'form.submitted': True, + 'body': 'Hello yo!'}, + dbsession=self.session) + request.context = self.makeContext(page) + response = self._callFUT(request) + self.assertEqual(response.location, 'http://example.com/abc') + self.assertEqual(page.data, 'Hello yo!') diff --git a/docs/tutorials/wiki2/src/tests/tutorial/tests/__init__.py b/docs/tutorials/wiki2/src/tests/tutorial/tests/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py b/docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py deleted file mode 100644 index 0250e71c9..000000000 --- a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_functional.py +++ /dev/null @@ -1,134 +0,0 @@ -import transaction -import unittest -import webtest - - -class FunctionalTests(unittest.TestCase): - - basic_login = ( - '/login?login=basic&password=basic' - '&next=FrontPage&form.submitted=Login') - basic_wrong_login = ( - '/login?login=basic&password=incorrect' - '&next=FrontPage&form.submitted=Login') - basic_login_no_next = ( - '/login?login=basic&password=basic' - '&form.submitted=Login') - editor_login = ( - '/login?login=editor&password=editor' - '&next=FrontPage&form.submitted=Login') - - @classmethod - def setUpClass(cls): - from tutorial.models.meta import Base - from tutorial.models import ( - User, - Page, - get_tm_session, - ) - from tutorial import main - - settings = { - 'sqlalchemy.url': 'sqlite://', - 'auth.secret': 'seekrit', - } - app = main({}, **settings) - cls.testapp = webtest.TestApp(app) - - session_factory = app.registry['dbsession_factory'] - cls.engine = session_factory.kw['bind'] - Base.metadata.create_all(bind=cls.engine) - - with transaction.manager: - dbsession = get_tm_session(session_factory, transaction.manager) - editor = User(name='editor', role='editor') - editor.set_password('editor') - basic = User(name='basic', role='basic') - basic.set_password('basic') - page1 = Page(name='FrontPage', data='This is the front page') - page1.creator = editor - page2 = Page(name='BackPage', data='This is the back page') - page2.creator = basic - dbsession.add_all([basic, editor, page1, page2]) - - @classmethod - def tearDownClass(cls): - from tutorial.models.meta import Base - Base.metadata.drop_all(bind=cls.engine) - - def test_root(self): - res = self.testapp.get('/', status=302) - self.assertEqual(res.location, 'http://localhost/FrontPage') - - def test_FrontPage(self): - res = self.testapp.get('/FrontPage', status=200) - self.assertTrue(b'FrontPage' in res.body) - - def test_unexisting_page(self): - self.testapp.get('/SomePage', status=404) - - def test_successful_log_in(self): - res = self.testapp.get(self.basic_login, status=302) - self.assertEqual(res.location, 'http://localhost/FrontPage') - - def test_successful_log_in_no_next(self): - res = self.testapp.get(self.basic_login_no_next, status=302) - self.assertEqual(res.location, 'http://localhost/') - - def test_failed_log_in(self): - res = self.testapp.get(self.basic_wrong_login, status=200) - self.assertTrue(b'login' in res.body) - - def test_logout_link_present_when_logged_in(self): - self.testapp.get(self.basic_login, status=302) - res = self.testapp.get('/FrontPage', status=200) - self.assertTrue(b'Logout' in res.body) - - def test_logout_link_not_present_after_logged_out(self): - self.testapp.get(self.basic_login, status=302) - self.testapp.get('/FrontPage', status=200) - res = self.testapp.get('/logout', status=302) - self.assertTrue(b'Logout' not in res.body) - - def test_anonymous_user_cannot_edit(self): - res = self.testapp.get('/FrontPage/edit_page', status=302).follow() - self.assertTrue(b'Login' in res.body) - - def test_anonymous_user_cannot_add(self): - res = self.testapp.get('/add_page/NewPage', status=302).follow() - self.assertTrue(b'Login' in res.body) - - def test_basic_user_cannot_edit_front(self): - self.testapp.get(self.basic_login, status=302) - res = self.testapp.get('/FrontPage/edit_page', status=302).follow() - self.assertTrue(b'Login' in res.body) - - def test_basic_user_can_edit_back(self): - self.testapp.get(self.basic_login, status=302) - res = self.testapp.get('/BackPage/edit_page', status=200) - self.assertTrue(b'Editing' in res.body) - - def test_basic_user_can_add(self): - self.testapp.get(self.basic_login, status=302) - res = self.testapp.get('/add_page/NewPage', status=200) - self.assertTrue(b'Editing' in res.body) - - def test_editors_member_user_can_edit(self): - self.testapp.get(self.editor_login, status=302) - res = self.testapp.get('/FrontPage/edit_page', status=200) - self.assertTrue(b'Editing' in res.body) - - def test_editors_member_user_can_add(self): - self.testapp.get(self.editor_login, status=302) - res = self.testapp.get('/add_page/NewPage', status=200) - self.assertTrue(b'Editing' in res.body) - - def test_editors_member_user_can_view(self): - self.testapp.get(self.editor_login, status=302) - res = self.testapp.get('/FrontPage', status=200) - self.assertTrue(b'FrontPage' in res.body) - - def test_redirect_to_edit_for_existing_page(self): - self.testapp.get(self.editor_login, status=302) - res = self.testapp.get('/add_page/FrontPage', status=302) - self.assertTrue(b'FrontPage' in res.body) diff --git a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_initdb.py b/docs/tutorials/wiki2/src/tests/tutorial/tests/test_initdb.py deleted file mode 100644 index 72fbff04b..000000000 --- a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_initdb.py +++ /dev/null @@ -1,16 +0,0 @@ -import os -import unittest - - -class TestInitializeDB(unittest.TestCase): - - def test_usage(self): - from ..scripts.initialize_db import main - with self.assertRaises(SystemExit): - main(argv=['foo']) - - def test_run(self): - from ..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/tutorial/tests/test_security.py deleted file mode 100644 index cbec6420d..000000000 --- a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_security.py +++ /dev/null @@ -1,23 +0,0 @@ -import unittest -from pyramid.testing import DummyRequest - - -class TestMyAuthenticationPolicy(unittest.TestCase): - - def test_no_user(self): - request = DummyRequest() - request.user = None - - from ..security import MyAuthenticationPolicy - policy = MyAuthenticationPolicy(None) - self.assertEqual(policy.authenticated_userid(request), None) - - def test_authenticated_user(self): - from ..models import User - request = DummyRequest() - request.user = User() - request.user.id = 'foo' - - from ..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/tutorial/tests/test_user_model.py deleted file mode 100644 index 9490ac990..000000000 --- a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_user_model.py +++ /dev/null @@ -1,67 +0,0 @@ -import unittest -import transaction - -from pyramid import testing - - -class BaseTest(unittest.TestCase): - - def setUp(self): - from ..models import get_tm_session - self.config = testing.setUp(settings={ - 'sqlalchemy.url': 'sqlite:///:memory:' - }) - self.config.include('..models') - self.config.include('..routes') - - session_factory = self.config.registry['dbsession_factory'] - self.session = get_tm_session(session_factory, transaction.manager) - - self.init_database() - - def init_database(self): - from ..models.meta import Base - session_factory = self.config.registry['dbsession_factory'] - engine = session_factory.kw['bind'] - Base.metadata.create_all(engine) - - def tearDown(self): - testing.tearDown() - transaction.abort() - - def makeUser(self, name, role): - from ..models import User - return User(name=name, role=role) - - -class TestSetPassword(BaseTest): - - def test_password_hash_saved(self): - user = self.makeUser(name='foo', role='bar') - self.assertFalse(user.password_hash) - - user.set_password('secret') - self.assertTrue(user.password_hash) - - -class TestCheckPassword(BaseTest): - - def test_password_hash_not_set(self): - user = self.makeUser(name='foo', role='bar') - self.assertFalse(user.password_hash) - - self.assertFalse(user.check_password('secret')) - - def test_correct_password(self): - user = self.makeUser(name='foo', role='bar') - user.set_password('secret') - self.assertTrue(user.password_hash) - - self.assertTrue(user.check_password('secret')) - - def test_incorrect_password(self): - user = self.makeUser(name='foo', role='bar') - user.set_password('secret') - self.assertTrue(user.password_hash) - - self.assertFalse(user.check_password('incorrect')) diff --git a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_views.py b/docs/tutorials/wiki2/src/tests/tutorial/tests/test_views.py deleted file mode 100644 index 2c945ab33..000000000 --- a/docs/tutorials/wiki2/src/tests/tutorial/tests/test_views.py +++ /dev/null @@ -1,168 +0,0 @@ -import unittest -import transaction - -from pyramid import testing - - -def dummy_request(dbsession): - return testing.DummyRequest(dbsession=dbsession) - - -class BaseTest(unittest.TestCase): - def setUp(self): - from ..models import get_tm_session - self.config = testing.setUp(settings={ - 'sqlalchemy.url': 'sqlite:///:memory:' - }) - self.config.include('..models') - self.config.include('..routes') - - session_factory = self.config.registry['dbsession_factory'] - self.session = get_tm_session(session_factory, transaction.manager) - - self.init_database() - - def init_database(self): - from ..models.meta import Base - session_factory = self.config.registry['dbsession_factory'] - engine = session_factory.kw['bind'] - Base.metadata.create_all(engine) - - def tearDown(self): - testing.tearDown() - transaction.abort() - - def makeUser(self, name, role, password='dummy'): - from ..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 - return Page(name=name, data=data, creator=creator) - - -class ViewWikiTests(unittest.TestCase): - def setUp(self): - self.config = testing.setUp() - self.config.include('..routes') - - def tearDown(self): - testing.tearDown() - - def _callFUT(self, request): - from tutorial.views.default import view_wiki - return view_wiki(request) - - def test_it(self): - request = testing.DummyRequest() - response = self._callFUT(request) - self.assertEqual(response.location, 'http://example.com/FrontPage') - - -class ViewPageTests(BaseTest): - def _callFUT(self, request): - from tutorial.views.default import view_page - return view_page(request) - - def test_it(self): - from ..routes import PageResource - - # add a page to the db - user = self.makeUser('foo', 'editor') - page = self.makePage('IDoExist', 'Hello CruelWorld IDoExist', user) - self.session.add_all([page, user]) - - # create a request asking for the page we've created - request = dummy_request(self.session) - request.context = PageResource(page) - - # call the view we're testing and check its behavior - info = self._callFUT(request) - self.assertEqual(info['page'], page) - self.assertEqual( - info['content'], - '
\n' - '

Hello ' - 'CruelWorld ' - '' - 'IDoExist' - '

\n
\n') - self.assertEqual(info['edit_url'], - 'http://example.com/IDoExist/edit_page') - - -class AddPageTests(BaseTest): - def _callFUT(self, request): - from tutorial.views.default import add_page - return add_page(request) - - def test_it_pageexists(self): - from ..models import Page - from ..routes import NewPage - request = testing.DummyRequest({'form.submitted': True, - 'body': 'Hello yo!'}, - dbsession=self.session) - request.user = self.makeUser('foo', 'editor') - request.context = NewPage('AnotherPage') - self._callFUT(request) - pagecount = self.session.query(Page).filter_by(name='AnotherPage').count() - self.assertGreater(pagecount, 0) - - def test_it_notsubmitted(self): - from ..routes import NewPage - request = dummy_request(self.session) - request.user = self.makeUser('foo', 'editor') - request.context = NewPage('AnotherPage') - info = self._callFUT(request) - self.assertEqual(info['pagedata'], '') - self.assertEqual(info['save_url'], - 'http://example.com/add_page/AnotherPage') - - def test_it_submitted(self): - from ..models import Page - from ..routes import NewPage - request = testing.DummyRequest({'form.submitted': True, - 'body': 'Hello yo!'}, - dbsession=self.session) - request.user = self.makeUser('foo', 'editor') - request.context = NewPage('AnotherPage') - self._callFUT(request) - page = self.session.query(Page).filter_by(name='AnotherPage').one() - self.assertEqual(page.data, 'Hello yo!') - - -class EditPageTests(BaseTest): - def _callFUT(self, request): - from tutorial.views.default import edit_page - return edit_page(request) - - def makeContext(self, page): - from ..routes import PageResource - return PageResource(page) - - def test_it_notsubmitted(self): - user = self.makeUser('foo', 'editor') - page = self.makePage('abc', 'hello', user) - self.session.add_all([page, user]) - - request = dummy_request(self.session) - request.context = self.makeContext(page) - info = self._callFUT(request) - self.assertEqual(info['pagename'], 'abc') - self.assertEqual(info['save_url'], - 'http://example.com/abc/edit_page') - - def test_it_submitted(self): - user = self.makeUser('foo', 'editor') - page = self.makePage('abc', 'hello', user) - self.session.add_all([page, user]) - - request = testing.DummyRequest({'form.submitted': True, - 'body': 'Hello yo!'}, - dbsession=self.session) - request.context = self.makeContext(page) - response = self._callFUT(request) - self.assertEqual(response.location, 'http://example.com/abc') - self.assertEqual(page.data, 'Hello yo!') 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 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) -- cgit v1.2.3 From b8cc2a85919757bcf5582c683eaff7d384cdfa03 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Wed, 1 Jan 2020 23:07:32 -0800 Subject: Resynch docs with cookiecutter - remove unnecessary `omit` line in .coveragerc --- docs/tutorials/wiki2/src/authentication/.coveragerc | 1 - docs/tutorials/wiki2/src/authorization/.coveragerc | 1 - docs/tutorials/wiki2/src/basiclayout/.coveragerc | 1 - docs/tutorials/wiki2/src/installation/.coveragerc | 1 - docs/tutorials/wiki2/src/models/.coveragerc | 1 - docs/tutorials/wiki2/src/tests/.coveragerc | 1 - docs/tutorials/wiki2/src/views/.coveragerc | 1 - 7 files changed, 7 deletions(-) (limited to 'docs/tutorials/wiki2/src') diff --git a/docs/tutorials/wiki2/src/authentication/.coveragerc b/docs/tutorials/wiki2/src/authentication/.coveragerc index a1d87d03d..5db0e79cf 100644 --- a/docs/tutorials/wiki2/src/authentication/.coveragerc +++ b/docs/tutorials/wiki2/src/authentication/.coveragerc @@ -1,3 +1,2 @@ [run] source = tutorial -omit = tutorial/test* diff --git a/docs/tutorials/wiki2/src/authorization/.coveragerc b/docs/tutorials/wiki2/src/authorization/.coveragerc index a1d87d03d..5db0e79cf 100644 --- a/docs/tutorials/wiki2/src/authorization/.coveragerc +++ b/docs/tutorials/wiki2/src/authorization/.coveragerc @@ -1,3 +1,2 @@ [run] source = tutorial -omit = tutorial/test* diff --git a/docs/tutorials/wiki2/src/basiclayout/.coveragerc b/docs/tutorials/wiki2/src/basiclayout/.coveragerc index a1d87d03d..5db0e79cf 100644 --- a/docs/tutorials/wiki2/src/basiclayout/.coveragerc +++ b/docs/tutorials/wiki2/src/basiclayout/.coveragerc @@ -1,3 +1,2 @@ [run] source = tutorial -omit = tutorial/test* diff --git a/docs/tutorials/wiki2/src/installation/.coveragerc b/docs/tutorials/wiki2/src/installation/.coveragerc index a1d87d03d..5db0e79cf 100644 --- a/docs/tutorials/wiki2/src/installation/.coveragerc +++ b/docs/tutorials/wiki2/src/installation/.coveragerc @@ -1,3 +1,2 @@ [run] source = tutorial -omit = tutorial/test* diff --git a/docs/tutorials/wiki2/src/models/.coveragerc b/docs/tutorials/wiki2/src/models/.coveragerc index a1d87d03d..5db0e79cf 100644 --- a/docs/tutorials/wiki2/src/models/.coveragerc +++ b/docs/tutorials/wiki2/src/models/.coveragerc @@ -1,3 +1,2 @@ [run] source = tutorial -omit = tutorial/test* diff --git a/docs/tutorials/wiki2/src/tests/.coveragerc b/docs/tutorials/wiki2/src/tests/.coveragerc index a1d87d03d..5db0e79cf 100644 --- a/docs/tutorials/wiki2/src/tests/.coveragerc +++ b/docs/tutorials/wiki2/src/tests/.coveragerc @@ -1,3 +1,2 @@ [run] source = tutorial -omit = tutorial/test* diff --git a/docs/tutorials/wiki2/src/views/.coveragerc b/docs/tutorials/wiki2/src/views/.coveragerc index a1d87d03d..5db0e79cf 100644 --- a/docs/tutorials/wiki2/src/views/.coveragerc +++ b/docs/tutorials/wiki2/src/views/.coveragerc @@ -1,3 +1,2 @@ [run] source = tutorial -omit = tutorial/test* -- cgit v1.2.3 From b5fec394fc63e381d233d4b7a23a5d4e8c5acdd8 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Thu, 2 Jan 2020 23:30:21 -0800 Subject: Remove unrepeatable test, per https://github.com/Pylons/pyramid/pull/3556#issuecomment-570474759 --- docs/tutorials/wiki2/src/tests/tests/test_initdb.py | 6 ------ 1 file changed, 6 deletions(-) (limited to 'docs/tutorials/wiki2/src') diff --git a/docs/tutorials/wiki2/src/tests/tests/test_initdb.py b/docs/tutorials/wiki2/src/tests/tests/test_initdb.py index 9a24f0b22..a66945ccc 100644 --- a/docs/tutorials/wiki2/src/tests/tests/test_initdb.py +++ b/docs/tutorials/wiki2/src/tests/tests/test_initdb.py @@ -8,9 +8,3 @@ class TestInitializeDB(unittest.TestCase): from tutorial.scripts.initialize_db import main with self.assertRaises(SystemExit): main(argv=['foo']) - - def test_run(self): - from tutorial.scripts.initialize_db import main - main(argv=['foo', 'development.ini']) - self.assertTrue(os.path.exists('tutorial.sqlite')) - os.remove('tutorial.sqlite') -- cgit v1.2.3 From c4bf8853b67c2a178f2bd84d8cb6d76f21269f90 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Fri, 3 Jan 2020 18:25:02 -0800 Subject: Stupid PyCharm caching of diff will be the death of me --- docs/tutorials/wiki2/src/authentication/tutorial/views/auth.py | 2 +- docs/tutorials/wiki2/src/authorization/tutorial/views/auth.py | 2 +- docs/tutorials/wiki2/src/tests/tutorial/views/auth.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'docs/tutorials/wiki2/src') diff --git a/docs/tutorials/wiki2/src/authentication/tutorial/views/auth.py b/docs/tutorials/wiki2/src/authentication/tutorial/views/auth.py index 2b993b430..16fa616e5 100644 --- a/docs/tutorials/wiki2/src/authentication/tutorial/views/auth.py +++ b/docs/tutorials/wiki2/src/authentication/tutorial/views/auth.py @@ -11,7 +11,7 @@ from pyramid.view import ( from ..models import User -@view_config(route_name='login', renderer='../templates/login.jinja2') +@view_config(route_name='login', renderer='tutorial:templates/login.jinja2') def login(request): next_url = request.params.get('next', request.referrer) if not next_url: diff --git a/docs/tutorials/wiki2/src/authorization/tutorial/views/auth.py b/docs/tutorials/wiki2/src/authorization/tutorial/views/auth.py index 2b993b430..16fa616e5 100644 --- a/docs/tutorials/wiki2/src/authorization/tutorial/views/auth.py +++ b/docs/tutorials/wiki2/src/authorization/tutorial/views/auth.py @@ -11,7 +11,7 @@ from pyramid.view import ( from ..models import User -@view_config(route_name='login', renderer='../templates/login.jinja2') +@view_config(route_name='login', renderer='tutorial:templates/login.jinja2') def login(request): next_url = request.params.get('next', request.referrer) if not next_url: diff --git a/docs/tutorials/wiki2/src/tests/tutorial/views/auth.py b/docs/tutorials/wiki2/src/tests/tutorial/views/auth.py index 2b993b430..16fa616e5 100644 --- a/docs/tutorials/wiki2/src/tests/tutorial/views/auth.py +++ b/docs/tutorials/wiki2/src/tests/tutorial/views/auth.py @@ -11,7 +11,7 @@ from pyramid.view import ( from ..models import User -@view_config(route_name='login', renderer='../templates/login.jinja2') +@view_config(route_name='login', renderer='tutorial:templates/login.jinja2') def login(request): next_url = request.params.get('next', request.referrer) if not next_url: -- cgit v1.2.3 From b349c2ba948148d2f5441308c6646f624100b364 Mon Sep 17 00:00:00 2001 From: Michael Merickel Date: Fri, 3 Jan 2020 22:59:27 -0600 Subject: exclude tests package from source packages --- docs/tutorials/wiki2/src/authentication/setup.py | 2 +- docs/tutorials/wiki2/src/authorization/setup.py | 2 +- docs/tutorials/wiki2/src/basiclayout/setup.py | 2 +- docs/tutorials/wiki2/src/installation/setup.py | 2 +- docs/tutorials/wiki2/src/models/setup.py | 2 +- docs/tutorials/wiki2/src/tests/setup.py | 2 +- docs/tutorials/wiki2/src/views/setup.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) (limited to 'docs/tutorials/wiki2/src') diff --git a/docs/tutorials/wiki2/src/authentication/setup.py b/docs/tutorials/wiki2/src/authentication/setup.py index a99793c15..500c5e599 100644 --- a/docs/tutorials/wiki2/src/authentication/setup.py +++ b/docs/tutorials/wiki2/src/authentication/setup.py @@ -45,7 +45,7 @@ setup( author_email='', url='', keywords='web pyramid pylons', - packages=find_packages(), + packages=find_packages(exclude=['tests']), include_package_data=True, zip_safe=False, extras_require={ diff --git a/docs/tutorials/wiki2/src/authorization/setup.py b/docs/tutorials/wiki2/src/authorization/setup.py index a99793c15..500c5e599 100644 --- a/docs/tutorials/wiki2/src/authorization/setup.py +++ b/docs/tutorials/wiki2/src/authorization/setup.py @@ -45,7 +45,7 @@ setup( author_email='', url='', keywords='web pyramid pylons', - packages=find_packages(), + packages=find_packages(exclude=['tests']), include_package_data=True, zip_safe=False, extras_require={ diff --git a/docs/tutorials/wiki2/src/basiclayout/setup.py b/docs/tutorials/wiki2/src/basiclayout/setup.py index a0efdea6d..5e7a0111d 100644 --- a/docs/tutorials/wiki2/src/basiclayout/setup.py +++ b/docs/tutorials/wiki2/src/basiclayout/setup.py @@ -43,7 +43,7 @@ setup( author_email='', url='', keywords='web pyramid pylons', - packages=find_packages(), + packages=find_packages(exclude=['tests']), include_package_data=True, zip_safe=False, extras_require={ diff --git a/docs/tutorials/wiki2/src/installation/setup.py b/docs/tutorials/wiki2/src/installation/setup.py index a0efdea6d..5e7a0111d 100644 --- a/docs/tutorials/wiki2/src/installation/setup.py +++ b/docs/tutorials/wiki2/src/installation/setup.py @@ -43,7 +43,7 @@ setup( author_email='', url='', keywords='web pyramid pylons', - packages=find_packages(), + packages=find_packages(exclude=['tests']), include_package_data=True, zip_safe=False, extras_require={ diff --git a/docs/tutorials/wiki2/src/models/setup.py b/docs/tutorials/wiki2/src/models/setup.py index da99411a0..60234751a 100644 --- a/docs/tutorials/wiki2/src/models/setup.py +++ b/docs/tutorials/wiki2/src/models/setup.py @@ -44,7 +44,7 @@ setup( author_email='', url='', keywords='web pyramid pylons', - packages=find_packages(), + packages=find_packages(exclude=['tests']), include_package_data=True, zip_safe=False, extras_require={ diff --git a/docs/tutorials/wiki2/src/tests/setup.py b/docs/tutorials/wiki2/src/tests/setup.py index a99793c15..500c5e599 100644 --- a/docs/tutorials/wiki2/src/tests/setup.py +++ b/docs/tutorials/wiki2/src/tests/setup.py @@ -45,7 +45,7 @@ setup( author_email='', url='', keywords='web pyramid pylons', - packages=find_packages(), + packages=find_packages(exclude=['tests']), include_package_data=True, zip_safe=False, extras_require={ diff --git a/docs/tutorials/wiki2/src/views/setup.py b/docs/tutorials/wiki2/src/views/setup.py index a99793c15..500c5e599 100644 --- a/docs/tutorials/wiki2/src/views/setup.py +++ b/docs/tutorials/wiki2/src/views/setup.py @@ -45,7 +45,7 @@ setup( author_email='', url='', keywords='web pyramid pylons', - packages=find_packages(), + packages=find_packages(exclude=['tests']), include_package_data=True, zip_safe=False, extras_require={ -- cgit v1.2.3