close(mockStoreAdapter.WatchOutput.errors) close(mockStoreAdapter.WatchOutput.events) close(mockStoreAdapter.WatchOutput.stop) close(mockStoreAdapter.ListRecursivelyOutput.ret1) }) JustBeforeEach(func() { metaNode, legacyNode = etcdNodes(metaServers, legacyServers) mockStoreAdapter.ListRecursivelyOutput.ret0 <- metaNode mockStoreAdapter.ListRecursivelyOutput.ret0 <- legacyNode finder.Start() }) Context("valid server urls", func() { It("returns Doppler's websocket connection url", func() { websocketServers := finder.WebsocketServers() for _, server := range expectedServers { Expect(websocketServers).To(ContainElement(server)) } }) }) Context("invalid server urls", func() { BeforeEach(func() { legacyServers["z1/doppler_z1/5"] = "%" }) It("are ignored", func() { websocketServers := finder.WebsocketServers() Expect(websocketServers).To(HaveLen(len(expectedServers)))