Проверка в Sandbox
Обязательные сценарии, доказательства и audit перед Production.
Проверка в Sandbox
Sandbox используется для интеграционного тестирования без реальных банковских данных. Перед Production ESB Team оценивает не факт запуска тестов, а доказательства корректного поведения Consumer.
Входные критерии
- Sandbox application и credentials выданы;
- API subscriptions активны;
- network и TLS connectivity проверены;
- для async API предоставлен тестовый callback URL;
- Consumer завершил свой тестовый цикл;
- подготовлен отчёт с маскированными доказательствами.
Общие проверки
- успешная аутентификация и ожидаемые
401/403для неверного доступа; - корректная передача request ID, trace context и idempotency key;
- соответствие request/response согласованной OpenAPI schema;
- негативные сценарии для обязательных полей и content type;
- корректное поведение при превышении rate limit;
- TLS и mTLS, если применяется;
- отсутствие реальных и чувствительных данных;
- возможность проследить запрос на обеих сторонах.
Sync API
Для синхронного API дополнительно проверяются:
- ответ в рамках исходного HTTP-вызова;
- согласованные
2xx,4xxи5xxresponses; - timeout и поведение клиента после timeout;
- отсутствие опасного автоматического повтора write-операции;
- соответствие результата бизнес-контракту.
Async API
Для асинхронного API дополнительно проверяются:
- немедленный acknowledgement согласно контракту;
- доставка результата на разрешённый callback URL;
- проверка подписи callback, если она предусмотрена;
- отклонение сообщения с неверной подписью;
- retry при временной недоступности callback endpoint;
- дедупликация повторно доставленного callback;
- correlation исходного request, acknowledgement и callback.
Callback должен быть идемпотентным
Сетевая доставка допускает повтор. Consumer обязан безопасно распознавать повторное callback-сообщение и не выполнять бизнес-операцию второй раз.
Доказательства
Для каждого сценария сохраняются:
- маскированный request и response;
- HTTP status и timestamp;
X-External-Request-IDиtraceparent;- релевантные логи Consumer;
- для async — acknowledgement, callback и результат проверки подписи;
- ссылка на test case или audit record.
Credentials, private keys, полные токены и чувствительные payload в доказательства не включаются.
Классификация результатов
| Severity | Значение | Влияние |
|---|---|---|
| Blocker | Нарушение безопасности/контракта или риск потери данных | Блокирует Production |
| Major | Существенный дефект с возможным обходным путём | Требует согласованного плана |
| Minor | Ограниченная некритичная проблема | Обычно не блокирует |
| Observation | Рекомендация или улучшение | Информационно |
Решение audit
Результат фиксируется как:
- Go — обязательные сценарии пройдены, Blocker отсутствуют;
- Conditional Go — допустимые Major имеют владельца и согласованный план;
- No-go — Consumer возвращается в Sandbox после устранения замечаний.
Минимальный audit record
Audit ID:
Consumer / WSO2 Application:
Environment: Sandbox
API and versions:
Flow type: sync | async | mixed
Test period:
Evidence links:
Open findings:
Decision: Go | Conditional Go | No-go
Decision owner: