Host: expectedHostname, Path: expectedPath, } }) Context("the route exists", func() { BeforeEach(func() { fakeRouteRepository.FindReturns(expectedRoute, nil) }) It("does not create a route", func() { route, err := routeActor.FindOrCreateRoute(expectedHostname, expectedDomain, expectedPath, false) Expect(route).To(Equal(expectedRoute)) Expect(err).ToNot(HaveOccurred()) Expect(fakeRouteRepository.CreateCallCount()).To(Equal(0)) Expect(fakeUI.SayCallCount()).To(Equal(1)) output, _ := fakeUI.SayArgsForCall(0) Expect(output).To(MatchRegexp("Using route.*hostname.foo.com/path")) }) }) Context("the route does not exist", func() { BeforeEach(func() { fakeRouteRepository.FindReturns(models.Route{}, cferrors.NewModelNotFoundError("foo", "bar")) }) Context("with a random port", func() { var tcpRoute models.Route