func initializeServer( bbsClient bbs.Client, executorClient executor.Client, evacuatable evacuation_context.Evacuatable, evacuationReporter evacuation_context.EvacuationReporter, logger lager.Logger, stackMap rep.StackPathMap, supportedProviders []string, ) (ifrit.Runner, string) { lrpStopper := initializeLRPStopper(*cellID, executorClient, logger) auctionCellRep := auction_cell_rep.New(*cellID, stackMap, supportedProviders, *zone, generateGuid, executorClient, evacuationReporter, logger) handlers := handlers.New(auctionCellRep, lrpStopper, executorClient, evacuatable, logger) router, err := rata.NewRouter(rep.Routes, handlers) if err != nil { logger.Fatal("failed-to-construct-router", err) } ip, err := localip.LocalIP() if err != nil { logger.Fatal("failed-to-fetch-ip", err) } port := strings.Split(*listenAddr, ":")[1] address := fmt.Sprintf("http://%s:%s", ip, port) return http_server.New(*listenAddr, router), address }
logger = lagertest.NewTestLogger("test") evacuationReporter = &fake_evacuation_context.FakeEvacuationReporter{} expectedGuid = "container-guid" expectedGuidError = nil fakeGenerateContainerGuid = func() (string, error) { return expectedGuid, expectedGuidError } linuxRootFSURL = models.PreloadedRootFS(linuxStack) commonErr = errors.New("Failed to fetch") client.HealthyReturns(true) }) JustBeforeEach(func() { cellRep = auction_cell_rep.New(expectedCellID, rep.StackPathMap{linuxStack: linuxPath}, []string{"docker"}, "the-zone", fakeGenerateContainerGuid, client, evacuationReporter, logger) }) Describe("State", func() { var ( availableResources, totalResources executor.ExecutorResources containers []executor.Container ) BeforeEach(func() { evacuationReporter.EvacuatingReturns(true) totalResources = executor.ExecutorResources{ MemoryMB: 1024, DiskMB: 2048, Containers: 4, }