tenzir-test


Nametenzir-test JSON
Version 0.7.1 PyPI version JSON
download
home_pageNone
SummaryReusable test execution framework extracted from the Tenzir repository.
upload_time2025-10-06 08:44:30
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseApache-2.0
keywords automation pytest tenzir testing
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # πŸ§ͺ tenzir-test

`tenzir-test` is the reusable test harness that powers the
[Tenzir](https://github.com/tenzir/tenzir) project. It discovers test scenarios
and Python fixtures, prepares the execution environment, and produces artifacts
you can diff against established baselines.

## ✨ Highlights

- πŸ” Auto-discovers tests, inputs, and configuration across both project and
  package layouts, including linked satellite projects.
- 🧩 Supports configurable runners and reusable fixtures so you can tailor how
  scenarios execute and share setup logic.
- πŸ› οΈ Provides a `tenzir-test` CLI for orchestrating suites, updating baselines,
  and inspecting artifacts.

## πŸ“¦ Installation

Install the latest release from PyPI with `uvx`β€”`tenzir-test` requires Python
3.12 or newer:

```sh
uvx tenzir-test --help
```

`uvx` downloads the newest compatible release, runs it in an isolated
environment, and caches subsequent invocations for fast reuse.

## πŸš€ Quick Start

Create a project skeleton that mirrors the layout the harness expects:

```text
project-root/
β”œβ”€β”€ fixtures/
β”‚   └── http.py
β”œβ”€β”€ inputs/
β”‚   └── sample.ndjson
β”œβ”€β”€ runners/
β”‚   └── __init__.py
└── tests/
    β”œβ”€β”€ alerts/
    β”‚   β”œβ”€β”€ sample.py
    β”‚   └── sample.txt
    └── regression/
        β”œβ”€β”€ dummy.tql
        └── dummy.txt
```

1. Author fixtures in `fixtures/` and register them at import time.
2. Store reusable datasets in `inputs/`β€”the harness exposes the path via
   `TENZIR_INPUTS` and provides a per-test scratch directory through
   `TENZIR_TMP_DIR` when tests execute.
   Use `--keep` (or `-k`) to preserve those temporary directories for debugging.
3. Create tests in `tests/` and pair them with reference artifacts (for example
   `.txt`) that the harness compares against.
4. Run `uvx tenzir-test` from the project root to execute the full suite.

## πŸ“š Documentation

Consult our [user guide](https://docs.tenzir.com/guides/testing/write-tests)
for an end-to-end walkthrough of writing tests.

We also provide a dense [reference](https://docs.tenzir.com/reference/test) that
explains concepts, configuration, multi-project execution, and CLI details.

## πŸ§‘β€πŸ’» Development

Contributor workflows, quality gates, and release procedures live in
[`DEVELOPMENT.md`](DEVELOPMENT.md). Follow that guide when you work on the
project locally.

## πŸ—žοΈ Releases

New versions are published to PyPI through trusted publishing when a GitHub
release is created. Review the latest release notes on GitHub for details about
what's new.

## πŸ“œ License

`tenzir-test` is available under the Apache License, Version 2.0. See
[`LICENSE`](LICENSE) for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tenzir-test",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": "Tenzir Engineering <engineering@tenzir.com>",
    "keywords": "automation, pytest, tenzir, testing",
    "author": null,
    "author_email": "Tenzir <engineering@tenzir.com>",
    "download_url": "https://files.pythonhosted.org/packages/dc/e9/774348763201e921334e47658119b814c99191f2f8d1d0813642c986accd/tenzir_test-0.7.1.tar.gz",
    "platform": null,
    "description": "# \ud83e\uddea tenzir-test\n\n`tenzir-test` is the reusable test harness that powers the\n[Tenzir](https://github.com/tenzir/tenzir) project. It discovers test scenarios\nand Python fixtures, prepares the execution environment, and produces artifacts\nyou can diff against established baselines.\n\n## \u2728 Highlights\n\n- \ud83d\udd0d Auto-discovers tests, inputs, and configuration across both project and\n  package layouts, including linked satellite projects.\n- \ud83e\udde9 Supports configurable runners and reusable fixtures so you can tailor how\n  scenarios execute and share setup logic.\n- \ud83d\udee0\ufe0f Provides a `tenzir-test` CLI for orchestrating suites, updating baselines,\n  and inspecting artifacts.\n\n## \ud83d\udce6 Installation\n\nInstall the latest release from PyPI with `uvx`\u2014`tenzir-test` requires Python\n3.12 or newer:\n\n```sh\nuvx tenzir-test --help\n```\n\n`uvx` downloads the newest compatible release, runs it in an isolated\nenvironment, and caches subsequent invocations for fast reuse.\n\n## \ud83d\ude80 Quick Start\n\nCreate a project skeleton that mirrors the layout the harness expects:\n\n```text\nproject-root/\n\u251c\u2500\u2500 fixtures/\n\u2502   \u2514\u2500\u2500 http.py\n\u251c\u2500\u2500 inputs/\n\u2502   \u2514\u2500\u2500 sample.ndjson\n\u251c\u2500\u2500 runners/\n\u2502   \u2514\u2500\u2500 __init__.py\n\u2514\u2500\u2500 tests/\n    \u251c\u2500\u2500 alerts/\n    \u2502   \u251c\u2500\u2500 sample.py\n    \u2502   \u2514\u2500\u2500 sample.txt\n    \u2514\u2500\u2500 regression/\n        \u251c\u2500\u2500 dummy.tql\n        \u2514\u2500\u2500 dummy.txt\n```\n\n1. Author fixtures in `fixtures/` and register them at import time.\n2. Store reusable datasets in `inputs/`\u2014the harness exposes the path via\n   `TENZIR_INPUTS` and provides a per-test scratch directory through\n   `TENZIR_TMP_DIR` when tests execute.\n   Use `--keep` (or `-k`) to preserve those temporary directories for debugging.\n3. Create tests in `tests/` and pair them with reference artifacts (for example\n   `.txt`) that the harness compares against.\n4. Run `uvx tenzir-test` from the project root to execute the full suite.\n\n## \ud83d\udcda Documentation\n\nConsult our [user guide](https://docs.tenzir.com/guides/testing/write-tests)\nfor an end-to-end walkthrough of writing tests.\n\nWe also provide a dense [reference](https://docs.tenzir.com/reference/test) that\nexplains concepts, configuration, multi-project execution, and CLI details.\n\n## \ud83e\uddd1\u200d\ud83d\udcbb Development\n\nContributor workflows, quality gates, and release procedures live in\n[`DEVELOPMENT.md`](DEVELOPMENT.md). Follow that guide when you work on the\nproject locally.\n\n## \ud83d\uddde\ufe0f Releases\n\nNew versions are published to PyPI through trusted publishing when a GitHub\nrelease is created. Review the latest release notes on GitHub for details about\nwhat's new.\n\n## \ud83d\udcdc License\n\n`tenzir-test` is available under the Apache License, Version 2.0. See\n[`LICENSE`](LICENSE) for details.\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Reusable test execution framework extracted from the Tenzir repository.",
    "version": "0.7.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/tenzir/test/issues",
        "Documentation": "https://docs.tenzir.com",
        "Homepage": "https://github.com/tenzir/test",
        "Repository": "https://github.com/tenzir/test"
    },
    "split_keywords": [
        "automation",
        " pytest",
        " tenzir",
        " testing"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2fe034506afd34a4d7661184440e7921038a530665e1004404289564600bffd0",
                "md5": "8b20a3893d2c8a9d8db6a2fb6cfc52a5",
                "sha256": "2a6a0443ec896f841dabd64d5f115880ce97c25884ed52bb40fc43ff983f48f0"
            },
            "downloads": -1,
            "filename": "tenzir_test-0.7.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8b20a3893d2c8a9d8db6a2fb6cfc52a5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 49760,
            "upload_time": "2025-10-06T08:44:29",
            "upload_time_iso_8601": "2025-10-06T08:44:29.043706Z",
            "url": "https://files.pythonhosted.org/packages/2f/e0/34506afd34a4d7661184440e7921038a530665e1004404289564600bffd0/tenzir_test-0.7.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dce9774348763201e921334e47658119b814c99191f2f8d1d0813642c986accd",
                "md5": "2a80c12b9bc69288e4778124609d368e",
                "sha256": "f65bf9738aae7941e1a65fb420f79fd8fcdb222d5357384bd65cd1248e62adf6"
            },
            "downloads": -1,
            "filename": "tenzir_test-0.7.1.tar.gz",
            "has_sig": false,
            "md5_digest": "2a80c12b9bc69288e4778124609d368e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 57610,
            "upload_time": "2025-10-06T08:44:30",
            "upload_time_iso_8601": "2025-10-06T08:44:30.242729Z",
            "url": "https://files.pythonhosted.org/packages/dc/e9/774348763201e921334e47658119b814c99191f2f8d1d0813642c986accd/tenzir_test-0.7.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-06 08:44:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "tenzir",
    "github_project": "test",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "tenzir-test"
}
        
Elapsed time: 1.45451s