Route: "post_here", Port: 7000, IP: "1.2.3.4", TTL: 50, LogGuid: "my-guid", } etcd.Connect() }) AfterEach(func() { etcd.Disconnect() }) Describe(".ReadRoutes", func() { It("Returns a empty list of routes", func() { routes, err := etcd.ReadRoutes() Expect(err).NotTo(HaveOccurred()) Expect(routes).To(Equal([]db.Route{})) }) Context("when only one entry is present", func() { BeforeEach(func() { route.Route = "next-route" route.IP = "9.8.7.6" route.Port = 12345 err := etcd.SaveRoute(route) Expect(err).NotTo(HaveOccurred()) }) It("Returns a list with one route", func() {
LogGuid: "my-guid", RouteServiceUrl: "https://rs.com", } fakeKeysAPI = &fakes.FakeKeysAPI{} fakeEtcd = setupFakeEtcd(fakeKeysAPI) tcpRouteMapping1 = models.NewTcpRouteMapping("router-group-guid-002", 52002, "2.3.4.5", 60002, 50) }) Describe("Http Routes", func() { Describe("ReadRoutes", func() { var routes []models.Route var err error JustBeforeEach(func() { routes, err = fakeEtcd.ReadRoutes() Expect(err).ToNot(HaveOccurred()) }) Context("when the route key is missing", func() { BeforeEach(func() { fakeKeysAPI.GetReturns(nil, errors.New("key missing error")) }) It("gives empty list of routes", func() { Expect(routes).To(HaveLen(0)) }) }) Context("when there are no routes", func() { BeforeEach(func() { fakeKeysAPI.GetReturns(&client.Response{Node: &client.Node{}}, nil)