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 і специфікації, які ви йому надаєте.