テスト API¶
概要¶
テスト API は意図的に発生させるのが難しい状況を API 経由で発生させるための API です。
設定¶
テスト API を利用するには sora.conf の test_api を true に設定する必要があります。
デフォルトは false です。
注意¶
- テスト API は利便性を最優先にするため破壊的変更を積極的に行います
GenerateCrashLog¶
- x-sora-target:
Sora_20380119.GenerateCrashLog
意図的に Sora のクラッシュログを発生させます。クラッシュログの監視のテストなどに利用してください。
この API はかならずステータスコード 500 を返します。
キー |
型 |
|---|---|
info |
object |
$ curl -sS \
-X POST \
http://127.0.0.1:3000/ \
-H "x-sora-target: Sora_20380119.GenerateCrashLog" \
--json '{"info":{"spam":"egg"}}' \
| jq .
FailArchive¶
バージョン 2024.1.0 で追加。
バージョン 2024.2.0 で変更。
クラスターに対応しました
- x-sora-target:
Sora_20380119.FailArchive
意図的に Sora の録画を失敗させます。 archive.failed ウェブフックを意図的に出力させたい場合に利用してください。
テストの利便性を考えランダムな値である connection_id ではなく、固定値として設定できる client_id を指定できるようにしています。
client_id は指定しなければ connection_id が設定されるので、
client_id を指定しない場合、 client_id に connection_id を指定しても動作します。
キー |
型 |
|---|---|
channel_id |
string |
client_id |
string |
$ curl -sS \
-X POST \
http://127.0.0.1:3000/ \
-H "x-sora-target: Sora_20380119.FailArchive" \
--json '{"channel_id":"sora","client_id":"test"}' \
| jq .
SendSignalingNotify¶
バージョン 2024.1.0 で追加。
- x-sora-target:
Sora_20380119.SendSignalingNotify
指定した内容のシグナリング通知として送信します。シグナリング通知のテストなどに利用してください。
- 指定したチャネルの参加者全員に json に指定した値がそのまま通知されます
- クラスター機能を利用していた場合、API を実行したノードでのみ通知されます
キー |
型 |
|---|---|
channel_id |
string |
json |
object |
$ curl -sS \
-X POST \
http://127.0.0.1:3000/ \
-H "x-sora-target: Sora_20380119.SendSignalingNotify" \
--json '{"channel_id":"sora","json":{"type":"notify","event_type":"audio-streaming-failed"}}' \
| jq .
LockIceConnectionState¶
バージョン 2024.2.0 で追加。
- x-sora-target:
Sora_20380119.LockIceConnectionState
ICE コネクションステートの状態を指定した状態に変更しロックします。ICE コネクションステートのテストなどに利用してください。
一度でもこの API で状態を変更した場合は、ICE コネクションステート機能は機能しなくなりますので注意してください。 ただし状態を変更した際のシグナリング通知は通知されます。
キー |
型 |
|---|---|
channel_id |
string |
connection_id |
string |
state_name |
string (connected | checking | disconnected) |
$ curl -sS \
-X POST \
http://127.0.0.1:3000/ \
-H "x-sora-target: Sora_20380119.LockIceConnectionState" \
--json '{"channel_id":"sora","connection_id":"6V9VANDZZH71HCQGVKBWKJ8GS0","state_name":"checking"}' \
| jq .