Metadata-Version: 2.4
Name: nbsapi_verify
Version: 0.1.0
Summary: Verify an nbsinfra API implementation
Project-URL: Homepage, https://nbsapi.org
Project-URL: Repository, https://github.com/nbsapi/nbsapi_verify
Project-URL: Tracker, https://github.com/nbsapi/nbsapi_verify/issues
Author-email: Stephan Hügel <urschrei@gmail.com>
License: MIT License
License-File: LICENSE.md
Keywords: nbsapi,nbsinfra
Requires-Python: >=3.9
Requires-Dist: click>=8.1.8
Requires-Dist: tavern>=2.11.0
Provides-Extra: test
Requires-Dist: pytest>=7.0; extra == 'test'
Description-Content-Type: text/markdown

# NbSAPI Verification Tool

`nbsapi_verify` is a standalone tool designed to verify that your API implementation conforms to the <https://nbsapi.org> OpenAPI specification.

## Installation
`pipx install nbsapi_verify` or `uv tool install nbsapi_verify`

## Configuration and Usage
Verifying your API is a two-step process:

1. Generate a verification config. This requires you to specify:
    - the host the API is running on
    - a valid username
    - the password for that username
    - the ID of that user
    - a directory for the verification config to be stored (optional: defaults to the current working directory)
    - the test type to be run: `all`, `auth`, `user`: the `auth` tests will exercise the write API functions, while the `user` tests will exercise the read API functions (defaults to `all`).

That command might look like:

```shell
nbsinfra_verify --generate \
    --host http://localhost:8000 \
    --test-type all
    --username testuser \
    --password testpass \
    --testid 1 \
    --config-dir ~
```

If the command completes sucessfully, you may run the verification tool:

```shell
nbsinfra_verify --config-dir ~
```

When all tests pass, your API implementation is conformant to the `NbsAPI` specification.

## Help
`nbsinfra_verify --help`
