API SAP для тестов — без борьбы с аутентификацией SAP.
SAP BAH Sandbox работает на вашем компьютере. Импортируйте спецификацию API из Business Accelerator Hub — и получите mock, который отвечает как настоящий сервис, включая OData: направьте на него свой продукт или iFlow. Кроме того, программа следит за каталогом Hub и сообщает, когда API или артефакт публикует новую версию.
Без Docker, учетные данные SAP не нужны · лицензия MIT · обновляется сама
Всё, что нужно для тестирования с API SAP
Один небольшой сервер и один файл SQLite: mock, отслеживание изменений, тесты и журнал трафика.
Mock, которые отвечают как SAP
Импортируйте спецификацию OpenAPI 3, Swagger 2 или OData EDMX и выполните mount. Коллекции, предикаты ключа, $filter, $select, $orderby, $top, $skip и правильная обертка V2 или V4 — с данными из генератора, ваших фикстур, локального ИИ или реального бэкенда через прокси.
Узнавайте, когда API меняется
Программа обходит каталог Hub — около 1 950 пакетов и 42 000 артефактов, без входа в систему, — хранит каждую версию и составляет отчет о том, что появилось, изменилось или удалено, с пометкой несовместимых изменений. HTML, JSON и CSV.
Набор тестов, написанный за вас
По тесту на каждую операцию, заполненному по спецификации: он проверяет код состояния и валидирует ответ по его схеме. Режим только для чтения для настоящих tenant и код возврата для вашего пайплайна.
Смотрите, что именно отправил ваш iFlow
Каждый вызов mock записывается с заголовками, телами и временем выполнения и отображается в реальном времени, как в инструментах разработчика браузера, — включая некорректный JSON, байт в байт.
И неудачные сценарии тоже
Задайте любому mock дополнительную задержку и долю ошибок и проверьте ветки повторных попыток и обработки исключений в вашей интеграции, а не только удачный сценарий.
Сама устанавливается и обновляется
Одна команда устанавливает программу вместе с собственной средой выполнения Node и запускает ее при входе в систему. Новые релизы устанавливаются сами, когда песочница простаивает; ваши данные и настройки сохраняются.
Запуск за пять минут
Ничего не нужно устанавливать на стороне SAP и не нужно создавать учетную запись.
- УстановитеРаспакуйте последний релиз и запустите установщик для вашей системы. Он скачает собственную среду выполнения Node, сгенерирует ключ администратора и запустит песочницу.
- Импортируйте спецификацию и выполните mountСкачайте спецификацию с api.sap.com или сохраните
$metadatatenant, импортируйте ее на вкладке Mocks и нажмите mount. Она сразу доступна по адресу/mock/<slug>. - Направьте на нее свой продукт или iFlowВызывайте
http://<host>:8080/mock/<slug>. Для tenant Integration Suite в Cloud Foundry в репозитории описано, как подключиться через Cloud Connector, туннель или nginx.
Из командной строки
# Windows (PowerShell), inside the unpacked release powershell -ExecutionPolicy Bypass -File .\install\install.ps1 # macOS / Linux ./install/install.sh # then sapbah open # the UI in your browser sapbah sync --filter SuccessFactors # what changed on the Hub sapbah test --mock s4-bp --read-only # run the generated suite sapbah update --check # is there a new release?
Установщик настраивает автозапуск: Планировщик заданий в Windows, launchd в macOS, systemd в Linux. Есть и общесистемная установка для общего сервера команды.
Ваши данные остаются на вашем компьютере
Песочница, которая видит трафик ваших интеграций, должна обращаться с ним бережно.
Локально по замыслу
Спецификации, наборы данных и журнал трафика хранятся в одном файле SQLite на вашем компьютере. Ничего никуда не уходит, если только вы не настроите mock с прокси.
Защищенный API администрирования
Установщик генерирует ключ администратора. Запросы, которые другой сайт пытается отправить из вашего браузера, отклоняются, а ответы mock никогда не могут выполнить код на странице администрирования.
Секреты не попадают в журнал
Заголовки Authorization, Cookie и API key скрываются до того, как что-либо будет сохранено. Учетные данные Hub необязательны: каталог публичный.
Без телеметрии
Единственный исходящий запрос по собственной инициативе — анонимная проверка нового релиза на GitHub, и его отключает одна настройка.
Бесплатно и с открытым кодом — и так останется
SAP BAH Sandbox распространяется по лицензии MIT: используйте на работе, изменяйте, делитесь. Если программа сэкономила вам полдня, небольшое пожертвование поможет ее поддерживать.
Вопросы
Нужны ли учетные данные SAP?
Нет. Отслеживание каталога использует публичный каталог Hub, а mock работают с любой импортированной спецификацией. Только для автоматического скачивания спецификаций нужен API key Hub или сеанс с выполненным входом.
Может ли SAP Integration Suite вызывать mock?
Да. Tenant в Cloud Foundry не может обратиться к частному адресу, поэтому используйте SAP Cloud Connector, Cloudflare Tunnel или nginx — в репозитории есть рабочая конфигурация для каждого варианта.
Какие спецификации поддерживаются?
OpenAPI 3, Swagger 2 и OData EDMX, включая документ $metadata, сохраненный из tenant. Движок OData поддерживает те параметры запроса, которые интеграции действительно отправляют.
Как работает автоматическое обновление?
Каждые шесть часов песочница запрашивает у GitHub последний релиз. Если есть более новый, она устанавливает его, как только простоит без дела 15 минут, сохраняя ваши данные и настройки. Можно также нажать Update now или отключить обновление с помощью AUTO_UPDATE=false.
Работает ли программа в macOS и Linux?
Да. Один и тот же установщик подходит для обеих систем и регистрирует агент launchd или пользовательскую службу systemd. Для сервера, которым пользуется вся команда, есть общесистемная установка systemd.
Это продукт SAP?
Нет. Это независимый проект с открытым исходным кодом, не связанный с SAP. Он читает только публичный каталог Hub и спецификации, которые вы ему передаете.