---
kind: question
zz: "0.4.0"
updated: 2026-10-09
state: live
rules: https://zriz.io/llms.txt
---
# What zriz tests and what it does not

zriz tests HTTP APIs, Postgres, and MySQL. On a deployed runner it also tests browser flows and command-line tools. It tests nothing else.

## Which resource types does zriz have? {#resource-types}

Four: `http`, `sql`, `browser`, and `cli`. There is no other type. Each run needs a runner.

| Type | Tests | Runner needs the worker |
|---|---|---|
| `http` | An HTTP API | No |
| `sql` | A Postgres or MySQL database | No |
| `browser` | A web page in a browser | Yes |
| `cli` | A command-line tool | Yes |

With no runner, `zz run` gives the error `runner-unavailable` and the hint `zz runners init --start`. [The runner guide](https://zriz.io/docs/runner.md#need-one) tells how to get a runner.

## Can zriz test an HTTP API? {#http}

Yes. A step calls an action of an `http` resource. A check reads the `status` and the `body` of the reply.

## Can zriz test a Postgres database? {#postgres}

Yes. A step runs a query of an `sql` resource. A check reads `rows` and `row-count`.

The connection string has this form:

```text
postgres://user:pass@host:5432/db
```

## Can zriz test a MySQL database? {#mysql}

Yes. A step runs a query of an `sql` resource. A check reads `rows` and `row-count`.

The connection string has this form:

```text
user:pass@tcp(host:3306)/db
```

## Can zriz test a different database? {#other-databases}

No. zriz tests Postgres and MySQL. It tests no other database.

## Can zriz test a browser flow? {#browser}

Yes. The runner needs the worker, a second container. `zz runners init` adds the worker to `compose.yml` when the project has a `browser` resource.

## Can zriz test a command-line tool? {#cli}

Yes. The runner needs the worker. The runner runs only the commands that its config permits.

`zz runners init` leaves a `cli` resource out of the config and names it in a warning.

## Which operating systems does zz run on? {#operating-systems}

macOS and Linux, on arm64 and x86_64. The install script stops on each other system. There is no install for Windows.

## Can zriz run in CI? {#ci}

Yes. `zz` asks no question, and each command prints one JSON object. `zz run` ends with exit code 0 only when the status is `pass`.
