BeforeEach(func() { modTag2 = models.ModificationTag{Guid: "abc"} endpoint1 := route.NewEndpoint("", "1.2.3.4", 5678, "", nil, -1, "", modTag) Expect(pool.Put(endpoint1)).To(BeTrue()) }) It("updates an endpoint with modification tag", func() { endpoint := route.NewEndpoint("", "1.2.3.4", 5678, "", nil, -1, "", modTag2) Expect(pool.Put(endpoint)).To(BeTrue()) Expect(pool.Endpoints("").Next().ModificationTag).To(Equal(modTag2)) }) Context("when modification_tag is older", func() { BeforeEach(func() { modTag.Increment() endpoint := route.NewEndpoint("", "1.2.3.4", 5678, "", nil, -1, "", modTag2) pool.Put(endpoint) }) It("doesnt update an endpoint", func() { olderModTag := models.ModificationTag{Guid: "abc"} endpoint := route.NewEndpoint("", "1.2.3.4", 5678, "", nil, -1, "", olderModTag) Expect(pool.Put(endpoint)).To(BeFalse()) Expect(pool.Endpoints("").Next().ModificationTag).To(Equal(modTag2)) }) }) }) })