It("has Nats connectivity", func() { localIP, err := localip.LocalIP() Expect(err).ToNot(HaveOccurred()) statusPort := test_util.NextAvailPort() proxyPort := test_util.NextAvailPort() cfgFile := filepath.Join(tmpdir, "config.yml") config := createConfig(cfgFile, statusPort, proxyPort) gorouterSession = startGorouterSession(cfgFile) mbusClient, err := newMessageBus(config) zombieApp := test.NewGreetApp([]route.Uri{"zombie.vcap.me"}, proxyPort, mbusClient, nil) zombieApp.Listen() runningApp := test.NewGreetApp([]route.Uri{"innocent.bystander.vcap.me"}, proxyPort, mbusClient, nil) runningApp.Listen() routesUri := fmt.Sprintf("http://%s:%s@%s:%d/routes", config.Status.User, config.Status.Pass, localIP, statusPort) Eventually(func() bool { return appRegistered(routesUri, zombieApp) }).Should(BeTrue()) Eventually(func() bool { return appRegistered(routesUri, runningApp) }).Should(BeTrue()) heartbeatInterval := 200 * time.Millisecond zombieTicker := time.NewTicker(heartbeatInterval) runningTicker := time.NewTicker(heartbeatInterval) go func() {
}).Should(BeTrue()) app.VerifyAppStatus(200) app.Unregister() Eventually(func() bool { return appUnregistered(registry, app) }).Should(BeTrue()) app.VerifyAppStatus(404) } Describe("app with no route service", func() { BeforeEach(func() { app = test.NewGreetApp([]route.Uri{"test.vcap.me"}, config.Port, mbusClient, nil) }) It("registers and unregisters", func() { assertRegisterUnregister() }) }) Describe("app with an http route service", func() { BeforeEach(func() { app = test.NewRouteServiceApp([]route.Uri{"test.vcap.me"}, config.Port, mbusClient, "http://my-insecure-service.me") }) It("does not register", func() { app.Listen()