echolot fake
Создавайте тестовые данные по шаблону в терминале — для фикстур, начальных данных и тел моков — с теми же значениями, что и в маршрутах мока.
echolot fake наполняет шаблон тестовыми данными: именами, адресами электронной почты, адресами, ценами, датами,
lorem ipsum и ещё примерно 120 другими значениями. Он использует те же шаблоны, что и тела маршрутов, созданных
вручную, так что можно опробовать тело или написать фикстуры и начальные
данные для тестов.
echolot fake [<template>] [--file <file>] [--count <count>] [--seed <seed>] [--type <type>]
echolot fake listШаблон берётся из аргумента, из --file или из стандартного ввода. Результат идёт в стандартный вывод.
Создание списка
--count превращает шаблон в один элемент списка JSON:
echolot fake '{"id": {{@number}}, "name": "{{$randomFullName}}", "email": "{{$randomEmail}}"}' --count 3[
{"id": 1, "name": "Henry Adams", "email": "stella.meyer.45@yahoo.com"},
{"id": 2, "name": "Jack Grant", "email": "bianca.ivanova.11@icloud.com"},
{"id": 3, "name": "Theo Sato", "email": "samuel.lee.88@yahoo.com"}
]С --type xml или --type text элементы идут один за другим:
echolot fake '<city>{{$randomCity}}</city>' --count 2 --type xml<city>Kyoto</city>
<city>Athens</city>Шаблон может сам создавать списки с помощью {{#repeat 10}} … {{/repeat}}; см. списки.
Те же данные снова
--seed создаёт одни и те же данные каждый раз — для фикстур, которые не должны меняться от прогона к прогону:
echolot fake --file user.json.template --count 50 --seed 7 > users.jsonЭкранирование
--type определяет, как экранируются значения: json (по умолчанию) экранирует значения внутри строк JSON, xml
экранирует &, <, > и кавычки для XML и HTML, text не экранирует ничего. См.
экранирование.
Значения
echolot fake list печатает все значения по группам, с их аргументами:
COMMON
$randomUUID A random UUID: 3f2c1e0a-…
$randomInt(Minimum, Maximum) A whole number, 0 to 1000 unless bounds are given.
$randomFloat(Minimum, Maximum, Decimals) A decimal number between the bounds (0 to 1000), with 2 decimals unless told otherwise.
…Все они перечислены в динамических значениях. Токены о запросе, такие как
{{request.params.id}}, принадлежат маршрутам мока и остаются здесь как написаны.
Параметры
| Параметр | Значение |
|---|---|
<template> | Шаблон или list, чтобы перечислить тестовые значения. |
-f, --file <file> | Прочитать шаблон из файла. |
-c, --count <count> | Создать столько элементов, до 10 000: список JSON или один элемент за другим для --type xml и text. |
--seed <seed> | Создавать одни и те же данные каждый раз. |
--type <type> | json (по умолчанию), xml или text. |
Коды выхода
0, когда все значения созданы. 1, когда значение создать не удалось, например {{$randomInt(9, 1)}}: причина идёт в
стандартный поток ошибок, а токен остаётся в выводе как написан. 64 — при неверном параметре.
echolot mock
Поднимите мок из терминала или в CI — из маршрутов рабочего пространства, созданных вручную, или из документа OpenAPI — с задержками, искусственными сбоями и проверкой запросов.
echolot flow
Перечисляйте, запускайте и создавайте сценарии рабочего пространства из терминала и обслуживайте их расписания и вебхуки.