package node import ( "strings" "testing" "git.autistici.org/ale/autoradio" ) func TestIcecastConfig(t *testing.T) { mount := &autoradio.Mount{ Name: "/test.ogg", Username: "user", Password: "pass", } c := newClusterConfig() c.setMountIfChanged(mount) // Test a relay config. ice := newIcecastConfig("1.2.3.4", 1000) ice.Update(c, false, "2.3.4.5") output, err := ice.Encode() if err != nil { t.Fatal(err) } outputs := string(output) if !strings.Contains(outputs, "<icecast>") { t.Fatalf("No <icecast> element:\n%s", output) } if !strings.Contains(outputs, "<relay>") { t.Fatalf("Mount not configured as relay:\n%s", output) } // Test a master config. ice = newIcecastConfig("1.2.3.4", 1000) ice.Update(c, true, "2.3.4.5") output, err = ice.Encode() if err != nil { t.Fatal(err) } outputs = string(output) if !strings.Contains(outputs, "<mount>") { t.Fatalf("Mount not configured as master:\n%s", output) } }