# TestSession

<pre class="language-python"><code class="lang-python">class TestSession(DBNLObject):
    id: str
    project_id: str
    inputs: list[<a data-footnote-ref href="#user-content-fn-1">TestSessionInput</a>]
    status: Literal["PENDING", "RUNNING", "PASSED", "FAILED"]
    failure: Optional[str] = None
    num_tests_passed: Optional[int] = None
    num_tests_failed: Optional[int] = None
    num_tests_errored: Optional[int] = None
    include_tag_ids: Optional[list[str]] = None
    exclude_tag_ids: Optional[list[str]] = None
    require_tag_ids: Optional[list[str]] = None
</code></pre>

## TestSessionInput

```python
class TestSessionInput(DBNLObject):
    run_alias: str
    run_id: Optional[str] = None
    run_query_id: Optional[str] = None
```

## Supported Functions

[`dbnl.create_test_session`](https://docs.dbnl.com/v0.20.x/using-distributional/python-sdk/sdk-functions/test-session/create_test_session)

[`dbnl.experimental.get_test_sessions`](https://docs.dbnl.com/v0.20.x/using-distributional/python-sdk/sdk-experimental-functions/get_test_sessions)

[`dbnl.experimental.wait_for_test_session`](https://docs.dbnl.com/v0.20.x/using-distributional/python-sdk/sdk-experimental-functions/wait_for_test_session)

[^1]: [`TestSessionInput`](#testsessioninput)
