テスト API

概要

テスト API は意図的に発生させるのが難しい状況を API 経由で発生させるための API です。

設定

テスト API を利用するには sora.conftest_apitrue に設定する必要があります。

デフォルトは 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_idconnection_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 .