func initializeRegistrationRunner( logger lager.Logger, consulClient consuladapter.Client, port int, clock clock.Clock) ifrit.Runner { registration := &api.AgentServiceRegistration{ Name: "bbs", Port: port, Check: &api.AgentServiceCheck{ TTL: "3s", }, } return locket.NewRegistrationRunner(logger, registration, consulClient, locket.RetryInterval, clock) }
func initializeRegistrationRunner(logger lager.Logger, consulClient consuladapter.Client, listenAddress string, clock clock.Clock) ifrit.Runner { _, portString, err := net.SplitHostPort(listenAddress) if err != nil { logger.Fatal("failed-invalid-listen-address", err) } portNum, err := net.LookupPort("tcp", portString) if err != nil { logger.Fatal("failed-invalid-listen-port", err) } registration := &api.AgentServiceRegistration{ Name: "cc-uploader", Port: portNum, Check: &api.AgentServiceCheck{ TTL: "3s", }, } return locket.NewRegistrationRunner(logger, registration, consulClient, locket.RetryInterval, clock) }
BeforeEach(func() { consulClient = consulRunner.NewClient() logger = lagertest.NewTestLogger("test") clock = fakeclock.NewFakeClock(time.Now()) registration = &api.AgentServiceRegistration{ ID: serviceID, Name: serviceName, Tags: []string{"a", "b", "c"}, Port: 8080, Address: "127.0.0.1", } }) JustBeforeEach(func() { registrationRunner := locket.NewRegistrationRunner(logger, registration, consulClient, 5*time.Second, clock) registrationProcess = ginkgomon.Invoke(registrationRunner) }) AfterEach(func() { ginkgomon.Kill(registrationProcess) }) Context("when the service has not already been registered", func() { It("registers the service", func() { services, err := consulClient.Agent().Services() Expect(err).NotTo(HaveOccurred()) service, ok := services[registration.ID] Expect(ok).To(BeTrue()) Expect(*service).To(Equal(api.AgentService{ ID: registration.ID,