Files
go2rtc/pkg/yaml/yaml_test.go
T
2023-07-25 18:05:50 +03:00

86 lines
1.3 KiB
Go

package yaml
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestPatch(t *testing.T) {
b := []byte(`# prefix`)
b, err := Patch(b, "camera1", "url1", "streams")
require.Nil(t, err)
require.Equal(t, `# prefix
streams:
camera1: url1
`, string(b))
b, err = Patch(b, "camera2", []string{"url2", "url3"}, "streams")
require.Nil(t, err)
require.Equal(t, `# prefix
streams:
camera1: url1
camera2:
- url2
- url3
`, string(b))
b, err = Patch(b, "camera1", "url4", "streams")
require.Nil(t, err)
require.Equal(t, `# prefix
streams:
camera1: url4
camera2:
- url2
- url3
`, string(b))
b, err = Patch(b, "camera2", "url5", "streams")
require.Nil(t, err)
require.Equal(t, `# prefix
streams:
camera1: url4
camera2: url5
`, string(b))
b, err = Patch(b, "camera1", nil, "streams")
require.Nil(t, err)
require.Equal(t, `# prefix
streams:
camera2: url5
`, string(b))
}
func TestPatchParings(t *testing.T) {
b := []byte(`homekit:
camera1:
pin: 123-45-678
streams:
camera1: url1
`)
pairings := map[string]string{
"client1": "public1",
"client2": "public2",
}
b, err := Patch(b, "pairings", pairings, "homekit", "camera1")
require.Nil(t, err)
require.Equal(t, `homekit:
camera1:
pin: 123-45-678
pairings:
client1: public1
client2: public2
streams:
camera1: url1
`, string(b))
}