Echolot
Командная строка и CI

echolot validate

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

echolot validate читает каждый файл рабочего пространства и разрешает каждый запрос, ничего не отправляя. Запускайте его первым в CI или перед коммитом, чтобы поймать испорченный файл, переменную, которой нет в одном из окружений, или запрос GraphQL, который больше не соответствует своей схеме.

echolot validate [<workspace>] [--env <env>]

<workspace> — папка рабочего пространства; если её не указать, берётся текущая папка.

Проверка рабочего пространства

echolot validate Alpenglow.echolot
auth/who-am-i: note: {{token}} is captured from a response during the run
auth/client-credentials: note: the OAuth 2.0 token comes from the token URL (client credentials) when the request is sent
orders/list-orders: note: {{token}} is captured from a response during the run
orders/create-order: note: {{token}} is captured from a response during the run
orders/get-order: note: {{token}} is captured from a response during the run
orders/cancel-order: note: {{token}} is captured from a response during the run
29 requests, 3 environments: no problems

Каждая проблема — одна строка в стандартном потоке ошибок, начинающаяся с пути запроса. То, что прогон создаёт по ходу дела (токены OAuth с клиентскими учётными данными, захваченные переменные, ответы других запросов), заранее узнать нельзя, поэтому об этом только сообщается заметкой и никогда не считается проблемой. Последняя строка, в стандартном выводе, считает запросы, окружения и проблемы.

Что проверяется:

  • Каждый файл рабочего пространства читается: TOML разбирается, значения известны Echolot (например, тип авторизации), нет файла, сохранённого более новой версией Echolot.
  • Каждый запрос разрешается с окружением: у каждой {{variable}} и каждого динамического значения есть значение.
  • Запросы GraphQL, указывающие схему, проверяются по ней, с номером строки и столбца каждой проблемы. Предупреждения, например об устаревших полях, не считаются ошибкой.

Параметры

ПараметрЗначение
-e, --env <env>Окружение, с которым разрешать: имя его файла без .toml или его имя.

Проверяйте по разу для каждого окружения, с которым вы запускаете:

echolot validate Alpenglow.echolot --env staging

Секретные переменные разрешаются как в прогоне: из переменных ECHOLOT_SECRET_<NAME> и, на Mac, из Связки ключей. См. секреты.

Коды выхода

КодКогда
0Проблем нет. Заметки не в счёт.
1Есть хотя бы одна проблема или рабочее пространство не удалось прочитать.
64Окружения не существует.

На этой странице