# rw-tapy

> ## Описание

Latest version **0.4.4** (published 2023-12-19) · MIT license · 0 weekly downloads

## Install

```sh
npm install rw-tapy
pnpm add rw-tapy
yarn add rw-tapy
bun add rw-tapy
```

Provides the command `rw-tapy`.

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.4.4 |
| Published | 2023-12-19 |
| First published | 2023-08-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | >=18.0.0 |
| Dependencies | 6 |
| Unpacked size | 18.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Stanislav Sokolov |
| Maintainers | stas.sokolov |

## Links

- npm: https://www.npmjs.com/package/rw-tapy
- Repository: https://github.com/sokolovstas/tapy
- Homepage: https://github.com/sokolovstas/tapy#readme
- Issues: https://github.com/sokolovstas/tapy/issues
- npm.io page: https://npm.io/package/rw-tapy

## Dependencies (6)

- [glob](https://npm.io/package/glob.md) ^10.3.3
- [yaml](https://npm.io/package/yaml.md) ^2.3.4
- [yargs](https://npm.io/package/yargs.md) ^17.7.2
- [picocolors](https://npm.io/package/picocolors.md) ^1.0.0
- [typescript](https://npm.io/package/typescript.md) ^5.2.2
- [graph-data-structure](https://npm.io/package/graph-data-structure.md) ^3.3.0

## Recent versions

- 0.4.4 (latest) — 2023-12-19
- 0.4.3 — 2023-09-06
- 0.4.2 — 2023-08-31
- 0.4.1 — 2023-08-29
- 0.4.0 — 2023-08-29
- 0.3.7 — 2023-08-29
- 0.3.1 — 2023-08-28
- 0.3.0 — 2023-08-28
- 0.2.0 — 2023-08-28
- 0.1.1 — 2023-08-28
- 0.1.0 — 2023-08-28

## README

# TAPY

## Описание

TAPY - Test API with YAML

## Примеры

Примеры использования можно посмотреть в папке /test

## API

Каждый файл может содержать зависимости. Перед стартом будет построен граф и выполнение пойдет в топологическом порядке

```yaml
depends_on:
  - auth
```

Каждый файл и каждый шаг может содержать следующие настройки:

```yaml
root: https://jsonplaceholder.typicode.com # переустановать root
vars: # назначить переменные
  testKey: TEST${$makeAlphaId(5).toUpperCase()}
headers: # установаить заголовки в следующие fetch
  "Authorization": "Bearer ${json.token}"
```

Шаги описываются структурой:

```yaml
# выполняются в самом начале файла
beforeAll:
  - get: url # GET запрос
    ...
steps:
  - sleep: milliseconds # Подождать перед выполнением
  - post: url # POST запрос
    log: varName/json # вывести в лог переменную varName или json ответ
    body: # тело запроса
      title: title value string
      user_id: 2
    json: varName # сохранить ответ в переменную
    status: 200 # проверить код ответа
    check: # проверить после выполнение запросов
      - json.title === 'title value string'
      - json.user_id === 2
    eval: # выполняет eval в контексте
      - m1.date = "2023-09-25T00:00:00Z"
  - put: url # PUT запрос
    ...
  - get: url # GET запрос
    ...
  - delete: url # DELETE запрос
    ...

# выполняются после всех шагов
afterAll:
  - get: url # GET запрос
    ...

# cleanup выполняется в обратном топологическом порядке даже если тесты не прошли
cleanup:
  - get: url # GET запрос
    ...
```

## Запуск

```
npx rw-tapy --help
npx rw-tapy <options> ./test
```

---
_Source: https://npm.io/package/rw-tapy · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
