Mockarty CLI
Mockarty CLI – это мощный инструмент командной строки для мокирования API, тестирования, фаззинга, нагрузочного тестирования и интеграции с CI/CD. Работает в автономном режиме (бесплатно, сервер не требуется) и в подключённом режиме (с сервером Mockarty для полного доступа к возможностям платформы).
Без зависимостей. Один бинарник. Работает офлайн. 5 форматов отчётов.
URL-адреса в примерах: Во всех примерах используется
localhost:5770как адрес Mockarty по умолчанию. Если ваш экземпляр работает на удалённом сервере, заменитеlocalhost:5770на реальный адрес (например,https://mockarty.company.comилиhttp://192.168.1.50:5770). Подробнее — в разделе Полезные функции и советы.
Установка
macOS / Linux
curl -sSL https://mockarty.ru/install.sh | sh
Homebrew
brew install mockarty/tap/mockarty-cli
Go
go install github.com/mockarty/mockarty-cli@latest
Docker
docker run --rm mockarty/cli version
Проверка установки:
mockarty-cli version
Быстрый старт
1. Запуск автономного мок-сервера
echo '{"id":"hello","http":{"route":"/hello/:name","httpMethod":"GET"},
"response":{"statusCode":200,"payload":{"message":"Hello, $.pathParam.name!","uuid":"$.fake.UUID"}}}' > mock.json
mockarty-cli serve -f mock.json --port 8080
curl http://localhost:8080/hello/World
# {"message":"Hello, World!","uuid":"a1b2c3d4-..."}
2. Запуск коллекции API-тестов
mockarty-cli run -f collection.json --reporter cli --reporter html:report.html
3. Создание мока на подключённом сервере
mockarty-cli login --server https://mockarty.company.com --token mk_xxx
mockarty-cli mock create -f mock.json
Конфигурация
Настройка URL сервера
По умолчанию mockarty-cli подключается к управляемому облаку Mockarty (https://cloud.mockarty.com). Переопределить таргет — локальный инстанс make rebuild, self-hosted-узел или air-gapped-развёртывание — можно одним из четырёх способов. Строки выше перебивают строки ниже.
| Источник | Пример | Сохраняется между shell’ами |
|---|---|---|
флаг --server |
mockarty-cli --server http://localhost:5780 mock list |
Нет, поштучно |
env MOCKARTY_SERVER |
export MOCKARTY_SERVER=http://localhost:5780 |
Да, текущая оболочка |
~/.mockarty/config.yaml |
mockarty-cli config set server_url https://mockarty.internal.corp |
Да, все оболочки |
| Облачный default в бинарнике | https://cloud.mockarty.com |
— |
Старая переменная MOCKARTY_SERVER_URL по-прежнему работает как синоним MOCKARTY_SERVER — старые CI-скрипты не сломаются. Если установлены обе, побеждает MOCKARTY_SERVER.
Подробнее — в Подключение к серверу.
Аутентификация
# OAuth (рекомендуется; использует текущий URL сервера — облако по умолчанию)
mockarty-cli auth login
# API-токен (CI/CD, скрипты)
mockarty-cli login --server https://mockarty.company.com --token mk_xxx
# Логин/пароль (интерактивный режим)
mockarty-cli login --server https://mockarty.company.com --user admin --password secret
# Указать имя контекста явно
mockarty-cli login --server https://mockarty.company.com --token mk_xxx --name production
# Проверить текущий статус
mockarty-cli login --status
Переменные окружения (переопределяют конфигурацию, идеально для CI/CD):
| Переменная | Описание |
|---|---|
MOCKARTY_SERVER |
URL сервера |
MOCKARTY_TOKEN |
API-токен |
MOCKARTY_NAMESPACE |
Пространство имён по умолчанию |
MOCKARTY_OUTPUT |
Формат вывода (table, json, wide, quiet) |
NO_COLOR |
Отключить цветной вывод |
Расположение файла конфигурации: ~/.mockarty/config.json
Контексты
Контексты позволяют управлять несколькими подключениями к серверам (аналогично контекстам kubectl):
# Просмотр всех контекстов
mockarty-cli config view
# Список контекстов в виде таблицы
mockarty-cli config get-contexts
# Переключение контекста
mockarty-cli config use-context production
# Создание/обновление контекста вручную
mockarty-cli config set-context staging --server https://staging.company.com --token mk_xxx --namespace test
# Удаление контекста
mockarty-cli config delete-context old-server
Справочник команд
Мок-сервер (serve) – Автономный режим
Запуск локального мок-сервера с полноценным движком резолвера Mockarty. Сервер не требуется.
mockarty-cli serve -f mocks/ # Из директории
mockarty-cli serve -f mock.json --port 9090 # Один файл, свой порт
mockarty-cli serve --har traffic.har # Из HAR-записи
mockarty-cli serve -f mocks/ --proto protos/ --grpc-port 50051 # С gRPC
mockarty-cli serve -f mocks/ --watch # Горячая перезагрузка при изменениях
mockarty-cli serve -f mocks/ --cors=false # Отключить CORS
| Флаг | По умолчанию | Описание |
|---|---|---|
-f, --file |
Директория с мок-файлами или один файл | |
--har |
HAR-файл для раздачи моков | |
--port |
8080 | Порт HTTP-сервера |
--host |
0.0.0.0 | Адрес привязки сервера |
--watch |
false | Следить за файлами и перезагружать при изменениях |
--cors |
true | Включить CORS-заголовки |
--proto |
Путь к .proto файлам (включает gRPC) | |
--grpc-port |
50051 | Порт gRPC-сервера |
Поддерживаемые протоколы: HTTP/REST, gRPC (с --proto), SOAP, MCP
Команда serve предоставляет SDK-совместимый CRUD API по адресу /api/v1/mocks, поэтому SDK на Go, Python и Java работают как с автономным serve, так и с admin node.
Управление моками (mock) – Подключённый режим
Управление моками на удалённом сервере Mockarty.
mockarty-cli mock create -f mock.json # Создать/обновить из файла
mockarty-cli mock create -f mocks/ # Все файлы в директории
cat mock.json | mockarty-cli mock create -f - # Из stdin
mockarty-cli mock list # Список всех моков
mockarty-cli mock list -o json # Вывод в JSON
mockarty-cli mock list -o wide # Расширенная таблица
mockarty-cli mock list --protocol grpc # Фильтр по протоколу
mockarty-cli mock get <mock-id> # Получить мок по ID
mockarty-cli mock delete <mock-id> # Удалить мок
mockarty-cli mock logs <mock-id> # Просмотр последних вызовов
mockarty-cli mock export -d backup/ # Экспорт в директорию
mockarty-cli mock import -f backup/ # Импорт из файлов
mockarty-cli mock apply -f mocks/ # Декларативное создание/обновление
mockarty-cli mock apply -f mocks/ --prune # + удалить моки, которых нет в файлах
Команда apply работает как kubectl apply – создаёт новые моки, обновляет существующие, а с флагом --prune удаляет с сервера моки, отсутствующие в ваших локальных файлах.
Тестирование API (run)
Запуск коллекций API-тестов с assertions и цепочкой переменных.
mockarty-cli run -f collection.json # Формат Mockarty
mockarty-cli run -f postman-export.json # Postman v2.1 (автоопределение)
mockarty-cli run --har traffic.har # Из HAR-записи
mockarty-cli run -f tests/ # Все коллекции в директории
| Флаг | По умолчанию | Описание |
|---|---|---|
-f, --file |
Файл коллекции или директория | |
--har |
HAR-файл для запуска как тестовая коллекция | |
--env-file |
Файл окружения (JSON) | |
--env-var |
Переменная inline (KEY=VALUE, можно повторять) | |
--iterations |
1 | Количество итераций |
--delay |
0 | Задержка между запросами |
--timeout |
30s | Таймаут на один запрос |
--bail |
false | Остановиться при первой ошибке |
--reporter |
cli | Формат отчёта (можно повторять) |
--folder |
Выполнить только запросы с данным префиксом имени |
Форматы отчётов (все 5 можно использовать одновременно):
mockarty-cli run -f tests.json \
--reporter cli \
--reporter json:results.json \
--reporter junit:report.xml \
--reporter allure:allure-results \
--reporter html:report.html
| Формат | Тип | Описание |
|---|---|---|
cli |
Терминал | Цветной вывод в терминал |
json:FILE |
JSON | Машиночитаемые результаты |
junit:FILE |
XML | JUnit XML для CI/CD |
allure:DIR |
JSON | Allure Report Server |
html:FILE |
HTML | Автономный HTML-отчёт с логотипом Mockarty |
Коды выхода: 0 = все тесты прошли, 1 = есть ошибки, 2 = ошибка выполнения.
Фаззинг безопасности (fuzz)
Фаззинг API-эндпоинтов для поиска уязвимостей. Бесплатный тариф: 1 поток, максимум 2 минуты.
mockarty-cli fuzz --target http://api.com --spec openapi.yaml
mockarty-cli fuzz --target http://api.com --har traffic.har --strategy all
mockarty-cli fuzz --target http://api.com --spec openapi.yaml \
--strategy mutation --duration 5m --threads 4 \
--out json:findings.json --out junit:fuzz-report.xml
| Флаг | По умолчанию | Описание |
|---|---|---|
--target |
Целевой URL для фаззинга (обязательный) | |
--spec |
Файл спецификации OpenAPI/Swagger | |
--har |
HAR-файл с начальными запросами | |
--strategy |
security | Стратегия: security, mutation, all |
--duration |
2m | Длительность фаззинга |
--threads |
1 | Количество параллельных потоков |
--timeout |
10s | Таймаут на один запрос |
--auth |
Значение заголовка Authorization | |
--categories |
Конкретные категории: sqli, xss, command_injection, path_traversal | |
--out |
Формат вывода (можно повторять): json:FILE, junit:FILE, allure:DIR |
Стратегии:
| Стратегия | Что тестирует |
|---|---|
security |
SQL-инъекции, XSS, инъекции команд, обход путей |
mutation |
Путаница типов, граничные значения, интеллектуальная мутация значений |
all |
Все стратегии вместе |
Нагрузочное тестирование (perf)
Нагрузочное тестирование с JavaScript-скриптами. Бесплатный тариф: 5 VU, максимум 2 минуты, максимум 100 RPS.
mockarty-cli perf run script.js
mockarty-cli perf run script.js --vus 50 --duration 5m
mockarty-cli perf run script.js --rps 200
mockarty-cli perf run --har traffic.har --vus 5 --duration 30s
mockarty-cli perf run script.js --out json:results.json --out html:report.html
| Флаг | По умолчанию | Описание |
|---|---|---|
--vus |
1 | Количество виртуальных пользователей |
--duration |
30s | Длительность теста |
--rps |
0 | Целевое количество запросов в секунду (0 = темп задаётся VU) |
--har |
HAR-файл для генерации нагрузочного теста | |
--out |
Формат вывода (можно повторять): json:FILE, html:FILE |
Контрактное тестирование (contract)
Валидация моков, верификация реальных сервисов, обнаружение дрейфа, проверка безопасности деплоя и управление реестром API.
# Валидация моков по спецификации (требуется подключённый сервер)
mockarty-cli contract validate --spec openapi.yaml
# Верификация живого сервиса по спецификации
mockarty-cli contract verify --spec openapi.yaml --target http://api.staging.com
mockarty-cli contract verify --spec openapi.yaml --target http://api.staging.com --timeout 120s
# Обнаружение дрейфа моков — сравнение моков с ответами реального API
mockarty-cli contract drift --target http://api.staging.com
# Проверка безопасности деплоя версии сервиса
mockarty-cli contract can-i-deploy --participant user-service
mockarty-cli contract can-i-deploy --contracts contract-id-1,contract-id-2
# Реестр API — список опубликованных API-спецификаций
mockarty-cli contract registry list
| Подкоманда | Описание |
|---|---|
validate |
Валидация моков по OpenAPI-спецификации (подключённый режим) |
verify |
Верификация живого сервиса по OpenAPI-спецификации |
drift |
Сравнение моков с ответами реального API для обнаружения структурных различий |
can-i-deploy |
Проверка, что все контракты потребителей проходят перед деплоем |
registry list |
Список API, опубликованных в реестре |
Коды выхода: 0 = контракт валиден / безопасно деплоить, 1 = найдены нарушения / обнаружен дрейф, 2 = ошибка выполнения.
Хаос-инженерия (chaos) – PRO
Запуск хаос-экспериментов против Kubernetes-кластеров. Требуется PRO-лицензия и настроенный K8s-кластер.
Управление кластерами:
# Добавить K8s-кластер в конфигурацию CLI
mockarty-cli chaos cluster add --name staging --kubeconfig ~/.kube/config --context staging-ctx
mockarty-cli chaos cluster add --name prod --kubeconfig ~/.kube/prod.yaml \
--allowed-namespaces app,test --denied-namespaces kube-system
# Список, переключение, проверка, инспекция, удаление кластеров
mockarty-cli chaos cluster list
mockarty-cli chaos cluster use staging
mockarty-cli chaos cluster test
mockarty-cli chaos cluster info
mockarty-cli chaos cluster remove old-cluster
Запуск экспериментов:
# Запуск из флагов
mockarty-cli chaos run --type pod_kill --k8s-namespace app --selector app=web --duration 5m
mockarty-cli chaos run --type network_partition --deployment my-svc --k8s-namespace app --duration 2m --auto-rollback
# Запуск из YAML-файла
mockarty-cli chaos run -f experiment.yaml
# Запуск из пресета
mockarty-cli chaos preset list
mockarty-cli chaos preset run --preset chaos-monkey --k8s-namespace app --selector app=web
mockarty-cli chaos preset run --preset network-partition --k8s-namespace app --selector app=api --duration 3m
Жизненный цикл экспериментов:
mockarty-cli chaos list # Список экспериментов
mockarty-cli chaos list --status active # Фильтр по статусу
mockarty-cli chaos get <experiment-id> # Детали эксперимента
mockarty-cli chaos abort <experiment-id> # Прервать активный эксперимент
mockarty-cli chaos report <experiment-id> # JSON-отчёт
mockarty-cli chaos report <experiment-id> --format html --output report.html
Управление оператором (K8s):
mockarty-cli chaos operator install # Установить оператор хаоса
mockarty-cli chaos operator install --namespace mockarty-chaos
mockarty-cli chaos operator status # Проверить состояние оператора
mockarty-cli chaos operator uninstall # Удалить оператор
Интерактивный TUI:
mockarty-cli tui chaos # Интерактивный TUI
| Подкоманда | Описание |
|---|---|
cluster add/list/use/test/info/remove |
Управление подключениями к K8s-кластерам |
run |
Запуск эксперимента из флагов или YAML-файла |
preset list/run |
Список и запуск пресетов экспериментов |
list |
Список экспериментов (фильтр через --status) |
get |
Детали эксперимента |
abort |
Прервать активный эксперимент |
report |
Скачать отчёт (JSON или HTML) |
operator install/status/uninstall |
Управление оператором хаоса в K8s |
tui |
Интерактивный TUI-режим |
Встроенные пресеты: chaos-monkey, network-partition, scale-to-zero, resource-pressure, rolling-restart-storm, dns-disruption.
Типы сбоев: pod_kill, pod_kill_random, network_partition, network_delay, network_loss, deployment_restart, scale, node_drain, resource_stress, dns_disruption, io_chaos, time_chaos.
Управление кластером (cluster) – Подключённый режим
Управление Kubernetes-кластером Mockarty через API admin-узла.
mockarty-cli cluster status # Показать статус кластера
mockarty-cli cluster upgrade --tag 1.3.0 # Обновить все компоненты
mockarty-cli cluster scale resolver --replicas 5 # Масштабировать компонент
mockarty-cli cluster restart runner # Rolling-перезапуск
mockarty-cli cluster logs <pod-name> --tail 100 # Стриминг логов пода
mockarty-cli cluster logs <pod-name> --follow # Следить за логами
# Добавление/удаление интеграций
mockarty-cli cluster add-runner --name sandbox-runner --namespace sandbox
mockarty-cli cluster add-resolver --name shared-resolver --scope admin --replicas 2
mockarty-cli cluster remove-integration sandbox-runner
| Подкоманда | Описание |
|---|---|
status |
Общий статус кластера и состояние компонентов |
upgrade |
Обновление всех компонентов на новый тег образа |
scale |
Масштабирование компонента (admin, resolver, runner, orchestrator) |
restart |
Rolling-перезапуск компонента |
logs |
Стриминг логов конкретного пода |
add-runner |
Добавить runner-интеграцию в кластер |
add-resolver |
Добавить resolver-интеграцию в кластер |
remove-integration |
Удалить интеграцию по имени |
Генерация кода (generate)
Генерация определений моков из API-спецификаций, HAR-записей и коллекций Postman.
# Из OpenAPI (через подключённый сервер)
mockarty-cli generate openapi spec.yaml -o mocks/
mockarty-cli generate openapi spec.yaml --upload # Сгенерировать и загрузить на сервер
# Из HAR-записи (локально)
mockarty-cli generate har recording.har -o mocks/
# Из коллекции Postman (локально)
mockarty-cli generate postman collection.json -o mocks/
| Подкоманда | Описание |
|---|---|
openapi |
Генерация моков из OpenAPI/Swagger-спецификации (сервер или локально) |
har |
Генерация моков из HAR-записи (локально) |
postman |
Конвертация коллекции Postman в формат моков Mockarty (локально) |
Утилиты
Проверка здоровья:
mockarty-cli health # Проверить состояние сервера
mockarty-cli health --verbose # Подробная информация (версия, аптайм, лицензия)
mockarty-cli health --wait --timeout 60s # Ждать до состояния healthy
Ожидание готовности (CI/CD):
mockarty-cli wait # Ждать healthy-статуса
mockarty-cli wait --mocks user-api,order-api # Ждать конкретных моков
mockarty-cli wait --mock-count 5 # Ждать N моков
mockarty-cli wait --timeout 120s --interval 5s # Свои таймауты
Проброс портов:
mockarty-cli tunnel --local 5770 --remote server:5770
mockarty-cli tunnel --local 50051 --remote server:50051 # gRPC
Управление хранилищами (подключённый режим):
mockarty-cli store global get # Получить все значения глобального хранилища
mockarty-cli store global set <key> <value> # Установить пару ключ-значение
mockarty-cli store global delete <key> # Удалить ключ
mockarty-cli store chain get <chain-id> # Получить значения цепочного хранилища
mockarty-cli store chain set <chain-id> <key> <value> # Установить пару ключ-значение в цепочке
mockarty-cli store chain delete <chain-id> <key> # Удалить ключ из цепочки
Управление пространствами имён (подключённый режим): (алиас: ns)
mockarty-cli namespace current # Показать текущее пространство имён
mockarty-cli namespace use <name> # Установить пространство имён по умолчанию
mockarty-cli namespace list # Список доступных пространств имён
mockarty-cli namespace create <name> # Создать новое пространство имён
# Короткая форма:
mockarty-cli ns current
Экспорт журнала аудита (admin):
# CSV-архив для compliance-аудита
mockarty-cli audit export --format csv --output audit.csv
# Syslog RFC 5424 — одна запись на строку, поток в SIEM-коллектор
mockarty-cli audit export --format syslog > audit.log
# ArcSight CEF — прямой ingestion в SIEM (Splunk/ArcSight/QRadar/MaxPatrol/KUMA/RuSIEM)
mockarty-cli audit export --format cef --output audit.cef
# Фильтры по пользователю, действию, ресурсу, namespace, временному окну (мс от эпохи)
mockarty-cli audit export --format json --user-id u-42 --action login \
--from 1712345678000 --to 1712431678000
Управление токенами (PRO):
mockarty-cli token create --name "ci-runner" --expires 90d
mockarty-cli token list
mockarty-cli token delete <token-id>
Интерактивный TUI:
mockarty-cli tui
mockarty-cli tui --server http://localhost:8080
Навигация стрелками, Enter для перехода внутрь, Esc для возврата, q для выхода. Горячие клавиши: c создать, e редактировать, d удалить, n новый тест, u загрузить, / поиск.
Сниффер трафика (PRO):
mockarty-cli sniff --target http://real-api.com --port 9090 -o traffic.har
# Направьте ваше приложение на localhost:9090, Ctrl+C для остановки и сохранения HAR
AI-агент чат (PRO):
mockarty-cli agent "create a mock for GET /api/users returning a list"
mockarty-cli agent # Интерактивный режим чата
Резервное копирование/восстановление (PRO):
mockarty-cli backup create
mockarty-cli backup list
mockarty-cli backup download <id> -o backup.tar.gz
Установка платформы (install, update, setup):
# Установка компонентов платформы
mockarty-cli install mockarty # Скачать последний бинарник
mockarty-cli install mockarty --mode docker-compose # Сгенерировать docker-compose.yml
mockarty-cli install mockarty --mode sqlite # Режим одного бинарника на SQLite
mockarty-cli install --all # Установить все компоненты
mockarty-cli install mockarty --version 1.2.3 # Конкретная версия
# Проверка обновлений
mockarty-cli update
# Сгенерировать конфигурацию развёртывания без скачивания бинарников
mockarty-cli setup docker-compose
mockarty-cli setup env
Управление лицензией:
mockarty-cli license # Показать информацию о текущей лицензии
mockarty-cli license features # Список всех возможностей и их доступность
mockarty-cli license activate <key> # Активировать PRO-ключ
Версия и выход:
mockarty-cli version # Показать версию CLI
mockarty-cli logout # Очистить сохранённые учётные данные
Автодополнение в оболочке:
mockarty-cli completion bash|zsh|fish|powershell
# Перенаправьте вывод в директорию автодополнений вашей оболочки
Интеграция с CI/CD
GitHub Actions
name: API Tests
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Установка Mockarty CLI
run: curl -sSL https://mockarty.ru/install.sh | sh
- name: Запуск мок-сервера
run: mockarty-cli serve -f mocks/ --port 8080 &
- name: Ожидание готовности сервера
run: mockarty-cli wait --server http://localhost:8080 --timeout 30s
- name: Запуск API-тестов
run: |
mockarty-cli run -f tests/ \
--reporter cli \
--reporter junit:report.xml \
--reporter html:report.html
- name: Фаззинг безопасности
run: |
mockarty-cli fuzz --target http://localhost:8080 \
--spec openapi.yaml \
--out junit:fuzz-report.xml
- name: Загрузка результатов тестов
if: always()
uses: actions/upload-artifact@v4
with:
name: test-reports
path: |
report.xml
report.html
fuzz-report.xml
GitLab CI
api-tests:
image: mockarty/cli:latest
script:
- mockarty-cli serve -f mocks/ --port 8080 &
- mockarty-cli wait --server http://localhost:8080
- mockarty-cli run -f tests/ --reporter junit:report.xml --reporter allure:allure-results
- mockarty-cli fuzz --target http://localhost:8080 --spec openapi.yaml --out junit:fuzz-report.xml
artifacts:
when: always
reports:
junit: [report.xml, fuzz-report.xml]
paths: [allure-results/]
Коды выхода упрощают интеграцию с CI: 0 = успех, 1 = ошибки, 2 = ошибка выполнения.
Drop-in замена allurectl / testit-cli
mockarty-cli определяет имя бинаря, под которым он вызван, и
автоматически роутит в нужный subcommand. То есть CI-пайплайн,
который сейчас вызывает allurectl upload или testit-cli testrun create, может остаться без изменений — просто подменяем бинарь:
# Symlink (Linux / macOS):
ln -s /usr/local/bin/mockarty-cli /usr/local/bin/allurectl
ln -s /usr/local/bin/mockarty-cli /usr/local/bin/testit-cli
# Или rename для герметичного образа:
cp mockarty-cli allurectl
# Или copy + rename в Dockerfile:
COPY mockarty-cli /usr/local/bin/allurectl
Дальше указываем стандартные env-vars на Mockarty-сервер и запускаем
те же команды что и раньше:
export ALLURE_ENDPOINT=https://mockarty.company.com
export ALLURE_TOKEN=mk_...
export ALLURE_PROJECT_ID=qa-team
allurectl upload ./allure-results # → 'mockarty-cli allure upload'
allurectl launch create --name "PR-42" # → 'mockarty-cli allure launch create'
Аналогично для TestIT — все TMS_URL / TMS_PRIVATE_TOKEN /
TMS_PROJECT_ID уважаются subcommand’ом testit, поэтому
переименование бинаря в testit-cli оставляет CI-скрипт нетронутым.
Распознаваемые имена (без учёта регистра, с опциональным .exe):
| Имя бинаря | Маршрутизируется в |
|---|---|
allurectl |
mockarty-cli allure … |
testit, testit-cli, testitcli, tms-cli |
mockarty-cli testit … |
TestIT — конфигурационные UUID
Стандартный workflow testit-cli требует configuration UUID
(--configuration-id или TMS_CONFIGURATION_ID) для каждого
тест-рана. Два хелпера в поддереве testit configuration позволяют
управлять значением без TestIT admin UI:
# Сгенерировать свежий UUID4 и сразу записать в env-var:
export TMS_CONFIGURATION_ID="$(mockarty-cli testit configuration generate)"
# Показать configuration UUID'ы, уже встречавшиеся в недавних
# external-прогонах текущего namespace (сортированно, без дублей):
mockarty-cli testit configuration list --limit 100
# JSON-вывод для скриптов:
mockarty-cli testit configuration list --format json --since 2026-05-01T00:00:00Z
list сканирует case_context.metadata.testit.configurationId
в недавних прогонах namespace и выводит уникальные значения.
generate — оффлайн, без сетевого вызова, просто UUID4 — работает
в cold-boot CI до настройки Mockarty endpoint.
Бесплатная версия vs PRO
| Возможность | Бесплатно | PRO |
|---|---|---|
| Мок-сервер (HTTP, gRPC, SOAP, MCP) | Да | Да |
| Запуск тестов (Mockarty + Postman + HAR) | Да | Да |
| Все форматы отчётов (CLI, JSON, JUnit, Allure, HTML) | Да | Да |
| Контрактное тестирование | Да | Да |
| Интерактивный TUI | Да | Да |
| Проброс портов (tunnel) | Да | Да |
| Установщик платформы | Да | Да |
| Автодополнение в оболочке | Да | Да |
| Фаззинг (1 поток, 2 мин) | Да | Да |
| Нагрузочное тестирование (5 VU, 2 мин) | Да | Да |
| Фаззинг без ограничений (потоки, длительность) | Да | |
| Нагрузочное тестирование без ограничений (VU, длительность) | Да | |
| Сниффер трафика (экспорт HAR) | Да | |
| AI-агент чат | Да | |
| Резервное копирование / восстановление | Да | |
| Управление токенами | Да | |
| Управление моками в подключённом режиме | Да | |
| Управление кластером (K8s) | Да |
PRO активируется подключением к лицензированному серверу Mockarty или установкой переменной MOCKARTY_LICENSE_KEY.
Форматы вывода
Все команды, отображающие данные, поддерживают флаг -o:
| Формат | Флаг | Описание |
|---|---|---|
| Table | -o table |
По умолчанию. Человекочитаемые выровненные колонки |
| Wide | -o wide |
Расширенная таблица с дополнительными колонками |
| JSON | -o json |
Машиночитаемый вывод в JSON |
| Quiet | -o quiet |
Только ID, по одному на строку (для скриптов) |
Примеры:
mockarty-cli mock list -o json | jq '.[] | .id'
mockarty-cli mock list -o quiet | xargs -I{} mockarty-cli mock delete {}
mockarty-cli mock list -o wide
Установка формата по умолчанию через переменную окружения: export MOCKARTY_OUTPUT=json
Глобальные флаги
Эти флаги работают со всеми командами:
| Флаг | Переменная окружения | Описание |
|---|---|---|
--server |
MOCKARTY_SERVER |
URL сервера Mockarty |
--token |
MOCKARTY_TOKEN |
API-токен |
--namespace |
MOCKARTY_NAMESPACE |
Целевое пространство имён |
-o, --output |
MOCKARTY_OUTPUT |
Формат вывода |
--insecure |
MOCKARTY_TLS_INSECURE |
Пропустить проверку TLS |
--no-color |
NO_COLOR |
Отключить цветной вывод |
Устранение проблем
| Симптом | Причина | Решение |
|---|---|---|
mockarty-cli: command not found |
Бинарь не в PATH |
Переместите его в /usr/local/bin/ или добавьте директорию в PATH |
connection refused |
Сервер не запущен или неверный URL в --server |
Проверьте MOCKARTY_SERVER и выполните mockarty-cli health |
401 unauthorized |
Отсутствует или истёк API-токен | Выполните mockarty-cli login ещё раз или явно задайте MOCKARTY_TOKEN |
403 forbidden на пространстве имён |
Токен ограничен другим пространством | Используйте --namespace <ns> или токен с доступом к нужному пространству |
x509: certificate signed by unknown authority |
Самоподписанный сертификат на сервере | Добавьте --insecure для локальной разработки или установите CA-сертификат сервера на вашу машину |
perf run падает с «free tier limit exceeded» |
VUs, RPS или длительность выше лимитов бесплатной версии | Уменьшите значения или перейдите на PRO; см. Нагрузочное тестирование |
mock create возвращает 409 conflict |
Мок с таким ID уже существует | Удалите существующий мок через mockarty-cli mock delete <id> и пересоздайте или задайте уникальный ID |
| HAR-импорт даёт пустой результат | В HAR-файле нет HTTP/HTTPS-записей (или все отфильтрованы) | Проверьте HAR-файл в просмотрщике и пересохраните, отключив фильтры браузера |
| Установка chaos-оператора не находит kubeconfig | Не задан KUBECONFIG или файл отсутствует |
Экспортируйте KUBECONFIG=~/.kube/config или передайте --kubeconfig <путь> в mockarty-cli chaos cluster add |
Для проблем с подключением повторите команду с mockarty-cli health --verbose, чтобы увидеть полный ответ сервера, либо задайте MOCKARTY_OUTPUT=json для машинного формата.