Skip to main content

pytest_toolkit

pytest_toolkit - is an useful utils for testing applications

how to use

  1. Installation
    pip install pytest-toolkit
    
    pytest tests/
    
  2. Get started
    The advantage is in having clear understanding of difference between 
    response.json and static json. For example
    {
        'Значение или тип элемента изменены': 
        {"root['example1']": {'new_value': 'example2', 'old_value': 'example1'}}
    } == {}
    Its easy to see that value of key 'example1' changed from 'example1' to 'example2'.
    
    from pytest_toolkit import get_diff
    
    def test():
        response = client.get(url)
        assert get_diff(result_dict=response.json()) == {}
    
    OR
    from pytest_toolkit import get_file_json
    
    def test():
        response = client.get(url)
        assert get_file_json() == response.json()
    
  3. Static files search
    1. You need to create static directory in tests/
    2. If you create filename test_a.py with test_b function, you need to 
    create "a" directory in static directory and "b.json" in directory "a". 
    Library will automatically find a file for get_diff function
    3. If you don't have directory "a" in static files, library will try
    to find file "b.json" in "default" directory first
    
    If you don't want compare responses manually, you can use get_file_json function:
    
    from pytest_toolkit import get_file_json
    
    def test():
        response = client.get(url)
        assert get_file_json() == {"test": "test"}
    
  4. DOESNT_MATTER
    1. If you don't care about value of dictionary, but you need a key, you
    can write "DOESNT_MATTER" in value and library will skip checking of this field.
    2. If you need to have a constraint for value, you can write python code,
    for example "DOESNT_MATTER > 9" and library will check response.json() value is more than 9.
    
  5. Check directory tests for more information and examples
  6. Coverage
    ---------- coverage: platform darwin, python 3.12.1-final-0 ----------
    Name                          Stmts   Miss  Cover
    -------------------------------------------------
    pytest_toolkit/__init__.py        2      0   100%
    pytest_toolkit/configure.py       9      0   100%
    pytest_toolkit/constants.py       5      0   100%
    pytest_toolkit/errors.py          2      0   100%
    pytest_toolkit/json.py           83      0   100%
    -------------------------------------------------
    TOTAL                           101      0   100%
    

Metadata

Release files for pytest-toolkit 0.1.8

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

Source distribution (sdist)

Source distribution for pytest-toolkit 0.1.8
File Size Uploaded Provenance Actions
pytest_toolkit-0.1.8.tar.gz 5.7 kB Without provenance Details for pytest_toolkit-0.1.8.tar.gz

Release files / pytest_toolkit-0.1.8.tar.gz

Download URL pytest_toolkit-0.1.8.tar.gz
Size 5.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7ec1d404736e9a3b79d5fd7af18430c14b0f8a04cc1772d4699ba1ccae5fbc1e
BLAKE2b-256 checksum
How to use checksums
f26feadd788ca15fcca334f7d203914bca2b18d9f03bb15f5819f47db4579874
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.13

Security for pytest-toolkit 0.1.8

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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