SAP の認証と格闘せずに、テストに使える SAP API を。
SAP BAH Sandbox は、あなた自身の PC 上で動作します。Business Accelerator Hub から API 仕様をインポートすると、OData も含めて本物のサービスと同じように応答する mock ができます。製品や iFlow の接続先をそこに向けるだけです。さらに Hub のカタログを監視し、API やアーティファクトの新しいバージョンが公開されると知らせます。
Docker 不要、SAP の資格情報も不要 · MIT ライセンス · 自動更新
SAP API のテストに必要なものがすべて
小さなサーバー 1 つと SQLite ファイル 1 つで、mock、変更の追跡、テスト、トラフィック ログがそろいます。
SAP と同じように応答する mock
OpenAPI 3、Swagger 2、OData EDMX の仕様をインポートして mount します。コレクション、キー述語、$filter、$select、$orderby、$top、$skip、そして正しい V2 または V4 のエンベロープに対応します。データはジェネレーター、独自の fixture、ローカル AI、またはプロキシ経由の実際のバックエンドから取得できます。
API の変更がわかる
Hub のカタログ(約 1,950 のパッケージと 42,000 のアーティファクト、ログイン不要)をクロールし、すべてのバージョンを保持して、新規・変更・削除された内容のレポートを作成します。互換性のない変更にはフラグが付きます。形式は HTML、JSON、CSV です。
テスト スイートを自動で作成
操作ごとに 1 つのテストを仕様から作成し、ステータス コードを確認して、レスポンスをスキーマで検証します。実際の tenant 向けの読み取り専用モードと、パイプライン用の終了コードもあります。
iFlow が送信した内容を正確に確認
mock への呼び出しはすべて、ヘッダー、ボディ、タイミングとともに記録され、ブラウザーの開発者ツールのようにリアルタイムで表示されます。不正な JSON も 1 バイト単位でそのままです。
うまくいかないケースも
任意の mock に追加の遅延とエラー率を設定すれば、正常系だけでなく、統合のリトライや例外の分岐もテストできます。
自分でインストールし、自分で更新
コマンド 1 つで専用の Node ランタイムと一緒にインストールされ、ログイン時に起動します。新しいリリースはサンドボックスがアイドル状態のときに自動でインストールされ、データと設定はそのまま残ります。
5 分で動かせます
SAP 側にインストールするものはなく、アカウントの作成も不要です。
- インストールする最新リリースを展開し、お使いのシステム用のインストーラーを実行します。インストーラーは専用の Node ランタイムをダウンロードし、管理者キーを生成して、サンドボックスを起動します。
- 仕様をインポートして mount するapi.sap.com から仕様をダウンロードするか、tenant の
$metadataを保存し、Mocks タブでインポートして [mount] を押します。すぐに/mock/<slug>で利用できます。 - 製品や iFlow の接続先に設定する
http://<host>:8080/mock/<slug>を呼び出します。Cloud Foundry 上の Integration Suite の tenant から 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 ではタスク スケジューラ、macOS では launchd、Linux では systemd を使います。チームで共有するサーバー向けに、システム全体へのインストールも用意しています。
データはあなたの PC から出ません
統合のトラフィックが見えるサンドボックスは、それを慎重に扱う必要があります。
設計からローカル
仕様、データセット、トラフィック ログは、あなたの PC 上の 1 つの SQLite ファイルに保存されます。プロキシ mock を設定しない限り、どこにも送信されません。
保護された管理 API
インストーラーが管理者キーを生成します。他の Web サイトがあなたのブラウザーから送信しようとするリクエストは拒否され、mock のレスポンスが管理ページでコードを実行することはありません。
シークレットはログに残しません
Authorization、Cookie、API key のヘッダーは、何かを保存する前に伏せられます。Hub の資格情報は任意です。カタログは公開されています。
テレメトリなし
サンドボックス自身が行う外部へのリクエストは、GitHub での新しいリリースの匿名チェックだけです。これも 1 つの設定でオフにできます。
無料でオープンソース、これからも
SAP BAH Sandbox は MIT ライセンスで公開されています。仕事で使うのも、改変するのも、共有するのも自由です。午後の作業時間を節約できたなら、少額の寄付がメンテナンスの継続に役立ちます。
よくある質問
SAP の資格情報は必要ですか?
いいえ。カタログの追跡には Hub の公開カタログを使い、mock はインポートした任意の仕様から動作します。Hub の API key またはログイン済みのセッションが必要なのは、仕様を自動でダウンロードする場合だけです。
SAP Integration Suite から mock を呼び出せますか?
はい。Cloud Foundry の tenant はプライベート アドレスに到達できないため、SAP Cloud Connector、Cloudflare Tunnel、または nginx を使ってください。リポジトリには、それぞれの動作する構成があります。
どの仕様に対応していますか?
OpenAPI 3、Swagger 2、OData EDMX に対応しています。tenant から保存した $metadata ドキュメントも使えます。OData エンジンは、統合が実際に送信するクエリ オプションをカバーしています。
自動更新はどのように動作しますか?
サンドボックスは 6 時間ごとに GitHub に最新リリースを問い合わせます。新しいリリースがあれば、15 分間アイドル状態が続いた時点でインストールし、データと設定は保持されます。[Update now] を押すことも、AUTO_UPDATE=false でオフにすることもできます。
macOS や Linux でも動きますか?
はい。同じインストーラーで両方に対応し、launchd エージェントまたは systemd ユーザー サービスを登録します。チーム全体で使うサーバー向けには、システム全体への systemd インストールがあります。
SAP の製品ですか?
いいえ。SAP とは提携していない、独立したオープンソース プロジェクトです。読み取るのは Hub の公開カタログと、あなたが渡した仕様だけです。