From d30b6e6f487df02b07773273b0296d9e5f1bfcde Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Sat, 27 Dec 2014 17:22:49 +0000
Subject: [PATCH] add test for ignoring updates without actual changes

---
 node/node_test.go | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/node/node_test.go b/node/node_test.go
index b7b67fd3..ed01d1b4 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)
+	}
+}
-- 
GitLab