chai-sip
インストール
$ npm install chai-sip --save
導入
チャイプラグインは、CI/CDパイプライン用にNodeで記述されたSIPサーバーテストの開発を簡略化します。SIP要求の送信と応答に基づいたアサートをサポートしています。
また、RTPメディアの送信が必要なテストケースもサポートしています。送信されたSIP招待要求の200 OKに対して受信したSDPの宛先にオーディオを送信するためです。
現バージョンは次の機能をサポートしています。
- 次のパラメータを使用してSIP招待要求を送信します。
- SIP要求URI
- カスタムヘッダーと値
- Content-Type
- リクエスト本文
- 次のパラメータを使用してSIPRec招待要求を送信するための高度なAPI。
- SIP要求URI
- カスタムヘッダーと値
- Content-Type
- リクエスト本文
- 次のパラメータを使用してSIPメッセージ要求を送信します。
- SIP要求URI
- カスタムヘッダーと値
- Content-Type
- リクエスト本文
- 予備レスポンスからSIPキャンセル要求を構築します。
- 着信SIP要求を待機します。
- 確立されたダイアログ内でSIPバイ要求を送信するための高度なAPI。
- 最終SIP応答時にコールバックします。
- 予備SIP応答時にコールバックします。
- SIPダイジェスト認証を使用したプロキシアクセスのサポート。
- UDP、TCP、TLSの各トランスポートを使用したSIPをサポートしています。
- 複数のプロキシホップとレコードルートを使用したデプロイメントをサポートしています。
SIP要求の送受信に加えて、次の新しいアサート機能を提供します。
- to.be.method() - 受信SIP要求メソッドのタイプをアサートします。たとえば、
request.to.be.method("INVITE")
- to.be.status() - 受信SIP応答ステータスコードをアサートします。たとえば、
response.to.be.status(200)
ヘッダー、Content-Type、本文がリクエスト関数に渡されない場合、プラグインは基本的なテストシナリオに役立つ既定のヘッダーと本文を生成します。
このプラグインではsip.jsを使用しています。構成オプションとSIP要求、応答モデル、ヘッダー構成の詳細については、ドキュメントを参照してください。
テストで問題を解決し、実行中の処理に関する詳細情報を取得する必要がある場合は、LOG_LEVEL 環境変数を verbose の値に設定します。たとえば、次のようになります。
$ export LOG_LEVEL=verbose
はじめに
このリポジトリー内の例を参照してください。
このプロジェクトは iotcomms.io によってスポンサーされています。