func (cmd *ATCCommand) appendStaticWorker( logger lager.Logger, sqlDB *db.SQLDB, members []grouper.Member, ) []grouper.Member { if cmd.Worker.GardenURL.URL() == nil { return members } var resourceTypes []atc.WorkerResourceType for t, resourcePath := range cmd.Worker.ResourceTypes { resourceTypes = append(resourceTypes, atc.WorkerResourceType{ Type: t, Image: resourcePath, }) } return append(members, grouper.Member{ Name: "static-worker", Runner: worker.NewHardcoded( logger, sqlDB, clock.NewClock(), cmd.Worker.GardenURL.URL().Host, cmd.Worker.BaggageclaimURL.String(), resourceTypes, ), }, ) }
logger = lagertest.NewTestLogger("hardcoded-worker") workerDB = &fakes.FakeSaveWorkerDB{} gardenAddr = "http://garden.example.com" baggageClaimAddr = "http://volumes.example.com" resourceTypes = []atc.WorkerResourceType{ { Type: "type", Image: "image", }, } fakeClock = fakeclock.NewFakeClock(time.Now()) }) Describe("registering a single worker", func() { JustBeforeEach(func() { runner := worker.NewHardcoded(logger, workerDB, fakeClock, gardenAddr, baggageClaimAddr, resourceTypes) process = ginkgomon.Invoke(runner) }) AfterEach(func() { ginkgomon.Interrupt(process) }) It("registers it and then keeps registering it on an interval", func() { expectedWorkerInfo := db.WorkerInfo{ Name: gardenAddr, GardenAddr: gardenAddr, BaggageclaimURL: baggageClaimAddr, ActiveContainers: 0, ResourceTypes: resourceTypes, Platform: "linux",