prunedEndpoints = pool.PruneEndpoints(0) Expect(pool.IsEmpty()).To(BeTrue()) Expect(prunedEndpoints).To(ConsistOf(e1)) }) }) Context("Each", func() { It("applies a function to each endpoint", func() { e1 := route.NewEndpoint("", "1.2.3.4", 5678, "", "", nil, -1, "", modTag) e2 := route.NewEndpoint("", "5.6.7.8", 1234, "", "", nil, -1, "", modTag) pool.Put(e1) pool.Put(e2) endpoints := make(map[string]*route.Endpoint) pool.Each(func(e *route.Endpoint) { endpoints[e.CanonicalAddr()] = e }) Expect(endpoints).To(HaveLen(2)) Expect(endpoints[e1.CanonicalAddr()]).To(Equal(e1)) Expect(endpoints[e2.CanonicalAddr()]).To(Equal(e2)) }) }) Context("Stats", func() { Context("NumberConnections", func() { It("increments number of connections", func() { e1 := route.NewEndpoint("", "1.2.3.4", 5678, "", "", nil, -1, "", modTag) e2 := route.NewEndpoint("", "5.6.7.8", 5678, "", "", nil, -1, "", modTag) // endpoint 1 e1.Stats.NumberConnections.Increment()