diff --git a/node/node_test.go b/node/node_test.go index b7b67fd3e56b1c50bb384e8fdeede63c48abd3d9..ed01d1b43927cea2e514a4a2fc9d2fb8f9c1935d 100644 --- a/node/node_test.go +++ b/node/node_test.go @@ -135,3 +135,21 @@ func TestRadioNode_ConfigChangePropagation(t *testing.T) { n.Wait() } } + +func TestRadioNode_UpdatesDoNotTriggerIfNothingChanged(t *testing.T) { + etcd := util.NewTestEtcdClient() + loadTestData(etcd) + node := startTestNodes(1, etcd)[0] + + for i := 0; i < 10; i++ { + time.Sleep(100 * time.Millisecond) + etcd.Set(autoradio.MountPrefix+"test.ogg", + `{"Name": "/test.ogg", "Username": "source1", "Password": "foo"}`, + 86400) + } + + numUpdates := node.icecast.(*mockController).numUpdates + if numUpdates != 1 { + t.Errorf("node received %d updates (expected 1)", numUpdates) + } +}