Skip to main content

simple_module_test

Shared pytest fixtures and helpers for writing tests against simple_module apps and modules.

Fixtures are exposed via a pytest11 entry point, so installing the package is enough — no conftest.py import needed.

Install

pip install simple_module_test
# or, if you already pulled in the framework:
pip install "simple_module_hosting[dev]"

What it provides

All fixtures below are auto-registered via the pytest11 entry point — installing the package is enough.

  • fake_event_bus — a fresh recording EventBus per test that captures every publish/publish_nowait call.
  • build_test_app — callable returning a minimal FastAPI app that loads exactly one module.
  • settings — a ready-to-use Settings instance with an in-memory SQLite database and multi-tenancy enabled.
  • db_state, engine, db_session — fresh DatabaseState per test; db_session also creates all module tables and stamps alembic_version at head so the boot-time migration check passes.
  • app — a create_app(settings) instance with lifespan started and stopped.
  • client — an httpx.AsyncClient bound to the test app.
  • authenticated_client — same but with an admin user seeded and a forged session cookie attached. Requires the users module to be installed (it seeds the admin via users.bootstrap); apps scaffolded by smpy include it.

Usage

In a module's tests/test_something.py:

import pytest

pytestmark = pytest.mark.asyncio


async def test_create_order(authenticated_client):
    resp = await authenticated_client.post(
        "/api/orders",
        json={"customer_id": 1, "total_cents": 9900},
    )
    assert resp.status_code == 201
    assert resp.json()["total_cents"] == 9900

No fixture imports, no conftest.py — the pytest11 entry point auto-loads them.

Depends on

  • simple_module_core, simple_module_db, simple_module_hosting
  • pytest, pytest-asyncio, httpx, sqlalchemy

License

MIT — see LICENSE.

Metadata

Release files for simple-module-test 0.0.35

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for simple-module-test 0.0.35
File Size Uploaded Provenance
simple_module_test-0.0.35.tar.gz 16.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for simple-module-test 0.0.35
File Interpreter ABI Platform
simple_module_test-0.0.35-py3-none-any.whl Python 3 none any Details

Total release size: 35.4 kB

Release files / simple_module_test-0.0.35.tar.gz

Download URL simple_module_test-0.0.35.tar.gz
Size 16.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0ef4d9a69492952555de29087decdc5e740273bd0a7ad6aa7a7ccd271b4f476f
BLAKE2b-256 checksum
How to use checksums
978e856df876b256e3f3a17ab0d7a3f01766c6061c406d52925945f629e4962f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / simple_module_test-0.0.35-py3-none-any.whl

Download URL simple_module_test-0.0.35-py3-none-any.whl
Size 18.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
02f3b83c66d1d09932a2c04740c700c5b93c7f933081bbae5c06a93593888ec3
BLAKE2b-256 checksum
How to use checksums
a9f2d46dba23e249db98de1bd372d9618a3410cb1caa77ef1e6dc751db08ab76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Security for simple-module-test 0.0.35

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for simple_module_test-0.0.35.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.0.35 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page