Windows · macOS · Linux · Бесплатно · Открытый код

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 и не нужно создавать учетную запись.

  1. УстановитеРаспакуйте последний релиз и запустите установщик для вашей системы. Он скачает собственную среду выполнения Node, сгенерирует ключ администратора и запустит песочницу.
  2. Импортируйте спецификацию и выполните mountСкачайте спецификацию с api.sap.com или сохраните $metadata tenant, импортируйте ее на вкладке Mocks и нажмите mount. Она сразу доступна по адресу /mock/<slug>.
  3. Направьте на нее свой продукт или 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 и спецификации, которые вы ему передаете.