pytest_pyramid - provides fixtures for testing pyramid applications with pytest test suite
Project description
pytest_pyramid
pytest_pyramid provides basic fixtures for testing pyramid applications with pytest test suite.
By default, pytest_pyramid will create two fixtures: pyramid_config, which creates configurator based on config.ini file, and pyramid_app, which creates TestApp based on Configurator returned by pyramid_config.
Command line options
–pc - pyramid configuration file based on which pytest_pyramid will create test app
Usage
For the most basic usage, pytest_pyramid provides pyramid_app and pyramid_config fixtures, that can be used to test your pyramid app. Simply pass your pyramid config *.ini file to –pc command-line option, and include pytest_app fixture into your test suite to be able to use it for integration tests.
Fixtures
pytest_pyramid provides two fixtures to be used in pytest tests:
pyramid_config - fixture providing pyramid’s Configurator instance as defined in pyramid config’s file
pyramid_app - pyramid application for testing - a webtest.app.TestApp
Both of these fixtures depend on the Config file passed in the command line.
Fixture factories
If you’re developing a module, package meant to extend functionalities of other applications, it’s not necessary to create a full-blown application to test functionalities provided in packages. To do this, pytest_pyramid provides you with fixture pytest_pyramid.factories.
There are two factories:
pytest_pyramid.factories.pyramid_config provides you with Configuration object based on either settings, config_file argument, or by –pc command-line option config file.
pytest_pyramid.factories.pyramid_app creates a webtest.app.TestApp based on Configurator class instance as returned from fixture passed by name to it. It also accepts additional fixtures that should be loaded before the pyramid_app. See the example with postgresql below.
from pytest_postgresql.plugin import postgresql
from pytest_pyramid import factories
app_config = factories.pyramid_config(config_path="development.ini")
app_with_postgres = factories.pyramid_app("app_config", "postgresql")
def test_pyramid_app(app_with_postgres):
res = app_with_postgres.get('/', status=404)
assert res.status_code == 404
TODO
provide a pyramid_proc fixture that will start pyramid app process using summon_process
Tests
To run tests run this command:
pytest –pc tests/pyramid.test.ini
Release
Install pipenv and –dev dependencies first, Then run:
pipenv run tbump [NEW_VERSION]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pytest_pyramid-1.0.3.tar.gz
.
File metadata
- Download URL: pytest_pyramid-1.0.3.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e346fc34c50c41b4b815a7e2dd8ef343371a27a20d86e087c82b5dc1c97efab |
|
MD5 | 6f1fffbfe2c2756a0db0c6ea4f255bb9 |
|
BLAKE2b-256 | c89e31ecd6a13cede96ff466d27aa8c251f5919035a1b7ed2544e518b636f130 |
File details
Details for the file pytest_pyramid-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: pytest_pyramid-1.0.3-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7452defd930c567bc48b34d29c4d74d3bd1707bb3066e8fdf488e7c560f64f69 |
|
MD5 | a0077f98309605f223139faea7afb2b7 |
|
BLAKE2b-256 | d087e9bff4da7ea89759065a6f298340e07cbe0c106388d0fc25aa79ef959d55 |