Expect(err).NotTo(HaveOccurred()) event := <-results Expect(event).NotTo(BeNil()) Expect(event.Type).To(Equal(storeadapter.UpdateEvent)) }) }) Context("when a route is deleted", func() { It("should return an delete watch event", func() { err := etcd.SaveRoute(route) Expect(err).NotTo(HaveOccurred()) results, _, _ := etcd.WatchRouteChanges() err = etcd.DeleteRoute(route) Expect(err).NotTo(HaveOccurred()) event := <-results Expect(event).NotTo(BeNil()) Expect(event.Type).To(Equal(storeadapter.DeleteEvent)) }) }) Context("when a route is expired", func() { It("should return an expire watch event", func() { route.TTL = 1 err := etcd.SaveRoute(route) Expect(err).NotTo(HaveOccurred()) results, _, _ := etcd.WatchRouteChanges()
By("when tcp route is upserted") err = etcd.SaveTcpRouteMapping(tcpRouteMapping1) Expect(err).NotTo(HaveOccurred()) Consistently(results).ShouldNot(Receive()) }) }) Context("when a route is deleted", func() { It("should return an delete watch event", func() { err := etcd.SaveRoute(route) Expect(err).NotTo(HaveOccurred()) results, _, _ := etcd.WatchRouteChanges(db.HTTP_ROUTE_BASE_KEY) err = etcd.DeleteRoute(route) Expect(err).NotTo(HaveOccurred()) var event db.Event Eventually(results).Should((Receive(&event))) Expect(event).NotTo(BeNil()) Expect(event.Type).To(Equal(db.DeleteEvent)) }) }) Context("when a route is expired", func() { It("should return an expire watch event", func() { route.TTL = 1 err := etcd.SaveRoute(route) Expect(err).NotTo(HaveOccurred()) results, _, _ := etcd.WatchRouteChanges(db.HTTP_ROUTE_BASE_KEY)