sync: migrate ai-operator to Gitea (2026-08-10)
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
package ari
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestParseStasisStart(t *testing.T) {
|
||||
event, err := ParseEvent([]byte(`{"type":"StasisStart","args":["test"],"channel":{"id":"c1","caller":{"number":"+77771234567"}}}`))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
start, ok := event.(StasisStartEvent)
|
||||
if !ok {
|
||||
t.Fatalf("type %T", event)
|
||||
}
|
||||
if start.Channel.ID != "c1" || start.Args[0] != "test" {
|
||||
t.Fatalf("bad parse: %+v", start)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseStasisEnd(t *testing.T) {
|
||||
event, err := ParseEvent([]byte(`{"type":"StasisEnd","channel":{"id":"c1"}}`))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if event.ChannelID() != "c1" {
|
||||
t.Fatalf("channel=%s", event.ChannelID())
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseHangupDestroyedUnknownInvalid(t *testing.T) {
|
||||
if event, err := ParseEvent([]byte(`{"type":"ChannelHangupRequest","channel":{"id":"c1"},"cause":16}`)); err != nil || event.ChannelID() != "c1" {
|
||||
t.Fatalf("hangup %v %v", event, err)
|
||||
}
|
||||
if event, err := ParseEvent([]byte(`{"type":"ChannelDestroyed","channel":{"id":"c2"},"cause_txt":"Normal"}`)); err != nil || event.ChannelID() != "c2" {
|
||||
t.Fatalf("destroyed %v %v", event, err)
|
||||
}
|
||||
if event, err := ParseEvent([]byte(`{"type":"SomethingNew","value":1}`)); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if _, ok := event.(GenericEvent); !ok {
|
||||
t.Fatalf("want generic, got %T", event)
|
||||
}
|
||||
if _, err := ParseEvent([]byte(`{bad json`)); err == nil {
|
||||
t.Fatal("want invalid json error")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user