Key: "syslog_drain_binder/leader", Value: []byte("some-other-instance"), }) Expect(err).NotTo(HaveOccurred()) go candidate.RunForElection() Eventually(func() int { return len(testingSink.Records()) }, 3).Should(BeNumerically(">=", 2)) for _, record := range testingSink.Records() { Expect(record.Message).To(Equal("Elector: 'name' lost election for cluster leader.")) } }) It("returns an error if any other error occurs while setting key", func() { testError := errors.New("test error") fakeStore.CreateErrInjector = fakestoreadapter.NewFakeStoreAdapterErrorInjector("syslog_drain_binder", testError) err := candidate.RunForElection() Expect(err).To(Equal(testError)) Expect(candidate.IsLeader()).To(BeFalse()) }) It("returns nil when it eventually wins", func() { preExistingNode := storeadapter.StoreNode{ Key: "syslog_drain_binder/leader", Value: []byte("some-other-instance"), } err := fakeStore.Create(preExistingNode) Expect(err).NotTo(HaveOccurred()) errChan := make(chan error)