2022-06-23 16:13:58 -04:00
|
|
|
package srt
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestParseStreamId(t *testing.T) {
|
|
|
|
|
streamids := map[string]streamInfo{
|
2022-10-25 08:00:27 -04:00
|
|
|
"bla": {resource: "bla", mode: "request"},
|
|
|
|
|
"bla,mode:publish": {resource: "bla", mode: "publish"},
|
|
|
|
|
"123456789": {resource: "123456789", mode: "request"},
|
|
|
|
|
"bla,token:foobar": {resource: "bla", token: "foobar", mode: "request"},
|
|
|
|
|
"bla,token:foo,bar": {resource: "bla", token: "foo,bar", mode: "request"},
|
|
|
|
|
"123456789,mode:publish,token:foobar": {resource: "123456789", token: "foobar", mode: "publish"},
|
|
|
|
|
"mode:publish": {resource: "mode:publish", mode: "request"},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for streamid, wantsi := range streamids {
|
|
|
|
|
si, err := parseStreamId(streamid)
|
|
|
|
|
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
require.Equal(t, wantsi, si)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestParseOldStreamId(t *testing.T) {
|
|
|
|
|
streamids := map[string]streamInfo{
|
2022-06-23 16:13:58 -04:00
|
|
|
"#!:": {},
|
|
|
|
|
"#!:key=value": {},
|
|
|
|
|
"#!:m=publish": {mode: "publish"},
|
|
|
|
|
"#!:r=123456789": {resource: "123456789"},
|
|
|
|
|
"#!:token=foobar": {token: "foobar"},
|
|
|
|
|
"#!:token=foo,bar": {token: "foo"},
|
|
|
|
|
"#!:m=publish,r=123456789,token=foobar": {mode: "publish", resource: "123456789", token: "foobar"},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for streamid, wantsi := range streamids {
|
2022-10-25 08:00:27 -04:00
|
|
|
si, _ := parseOldStreamId(streamid)
|
2022-06-23 16:13:58 -04:00
|
|
|
|
|
|
|
|
require.Equal(t, wantsi, si)
|
|
|
|
|
}
|
|
|
|
|
}
|