mediamtx/internal/protocols/whip/link_header_test.go
Alessandro Ros 6a38c87a5b
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
hls, webrtc: add FromStream / ToStream (#3752)
2024-09-09 12:59:23 +02:00

52 lines
1 KiB
Go

package whip
import (
"testing"
"github.com/pion/webrtc/v3"
"github.com/stretchr/testify/require"
)
var linkHeaderCases = []struct {
name string
enc []string
dec []webrtc.ICEServer
}{
{
"a",
[]string{
`<stun:stun.l.google.com:19302>; rel="ice-server"`,
`<turns:turn.example.com>; rel="ice-server"; username="myuser\"a?2;B"; ` +
`credential="mypwd"; credential-type="password"`,
},
[]webrtc.ICEServer{
{
URLs: []string{"stun:stun.l.google.com:19302"},
},
{
URLs: []string{"turns:turn.example.com"},
Username: "myuser\"a?2;B",
Credential: "mypwd",
},
},
},
}
func TestLinkHeaderUnmarshal(t *testing.T) {
for _, ca := range linkHeaderCases {
t.Run(ca.name, func(t *testing.T) {
dec, err := LinkHeaderUnmarshal(ca.enc)
require.NoError(t, err)
require.Equal(t, ca.dec, dec)
})
}
}
func TestLinkHeaderMarshal(t *testing.T) {
for _, ca := range linkHeaderCases {
t.Run(ca.name, func(t *testing.T) {
enc := LinkHeaderMarshal(ca.dec)
require.Equal(t, ca.enc, enc)
})
}
}