func (a *appAnalyzer) appendStopMessageIfNotDuplicate(message models.PendingStopMessage, loggingMessage string, additionalDetails map[string]string) { existingMessage, alreadyQueued := a.existingPendingStopMessages[message.StoreKey()] if !alreadyQueued { a.logger.Info(fmt.Sprintf("Enqueuing Stop Message: %s", loggingMessage), message.LogDescription(), additionalDetails) a.stopMessages[message.StoreKey()] = message } else { a.logger.Info(fmt.Sprintf("Skipping Already Enqueued Stop Message: %s", loggingMessage), existingMessage.LogDescription(), additionalDetails) } }
Describe("Saving stop messages", func() { BeforeEach(func() { err := store.SavePendingStopMessages( message1, message2, ) Ω(err).ShouldNot(HaveOccurred()) }) It("stores the passed in stop messages", func() { node, err := storeAdapter.ListRecursively("/hm/v1/stop") Ω(err).ShouldNot(HaveOccurred()) Ω(node.ChildNodes).Should(HaveLen(2)) Ω(node.ChildNodes).Should(ContainElement(storeadapter.StoreNode{ Key: "/hm/v1/stop/" + message1.StoreKey(), Value: message1.ToJSON(), TTL: 0, })) Ω(node.ChildNodes).Should(ContainElement(storeadapter.StoreNode{ Key: "/hm/v1/stop/" + message2.StoreKey(), Value: message2.ToJSON(), TTL: 0, })) }) }) Describe("Fetching stop message", func() { Context("When the stop message is present", func() { BeforeEach(func() { err := store.SavePendingStopMessages(