diff --git a/node/icecast_test.go b/node/icecast_test.go new file mode 100644 index 0000000000000000000000000000000000000000..2e49694083bd0d7f347bec0fb20b83e76be28e6d --- /dev/null +++ b/node/icecast_test.go @@ -0,0 +1,26 @@ +package node + +import ( + "strings" + "testing" +) + +func TestIcecast_TestParseStatusPage(t *testing.T) { + xml := `<?xml version="1.0"?> +<status><mount name="/test.ogg"><listeners>3</listeners><bitrate/><quality/><video-quality/><frame-size/><frame-rate/></mount></status>` + + ic := NewIcecastController("1.2.3.4", make(chan bool)) + result, err := ic.parseStatusPage(strings.NewReader(xml)) + if err != nil { + t.Fatal(err) + } + if len(result.Mounts) != 1 { + t.Fatalf("Bad number of mounts: %+v", result) + } + if result.Mounts[0].Name != "/test.ogg" { + t.Fatalf("Bad mount name: %+v", result) + } + if result.Mounts[0].Listeners != 3 { + t.Fatalf("Bad # of listeners: %+v", result) + } +}