pool = route.NewPool(2*time.Minute, "") modTag = models.ModificationTag{} }) Context("Put", func() { It("adds endpoints", func() { endpoint := &route.Endpoint{} b := pool.Put(endpoint) Expect(b).To(BeTrue()) }) It("handles duplicate endpoints", func() { endpoint := route.NewEndpoint("", "1.2.3.4", 5678, "", "", nil, 1, "", modTag) pool.Put(endpoint) pool.MarkUpdated(time.Now().Add(-(10 * time.Minute))) b := pool.Put(endpoint) Expect(b).To(BeTrue()) prunedEndpoints := pool.PruneEndpoints(time.Second) Expect(prunedEndpoints).To(BeEmpty()) }) It("handles equivalent (duplicate) endpoints", func() { endpoint1 := route.NewEndpoint("", "1.2.3.4", 5678, "", "", nil, -1, "", modTag) endpoint2 := route.NewEndpoint("", "1.2.3.4", 5678, "", "", nil, -1, "", modTag) pool.Put(endpoint1) Expect(pool.Put(endpoint2)).To(BeTrue()) })