func main() { cf_debug_server.AddFlags(flag.CommandLine) cf_lager.AddFlags(flag.CommandLine) flag.Var( &insecureDockerRegistries, "insecureDockerRegistry", "Docker registry to allow connecting to even if not secure. (Can be specified multiple times to allow insecure connection to multiple repositories)", ) lifecycles := flags.LifecycleMap{} flag.Var(&lifecycles, "lifecycle", "app lifecycle binary bundle mapping (lifecycle[/stack]:bundle-filepath-in-fileserver)") flag.Parse() logger, reconfigurableSink := cf_lager.New("stager") initializeDropsonde(logger) ccClient := cc_client.NewCcClient(*ccBaseURL, *ccUsername, *ccPassword, *skipCertVerify) backends := initializeBackends(logger, lifecycles) handler := handlers.New(logger, ccClient, initializeBBSClient(logger), backends, clock.NewClock()) members := grouper.Members{ {"server", http_server.New(*listenAddress, handler)}, } if dbgAddr := cf_debug_server.DebugAddress(flag.CommandLine); dbgAddr != "" { members = append(grouper.Members{ {"debug-server", cf_debug_server.Runner(dbgAddr, reconfigurableSink)}, }, members...) } logger.Info("starting") group := grouper.NewOrdered(os.Interrupt, members) process := ifrit.Invoke(sigmon.New(group)) logger.Info("Listening for staging requests!") err := <-process.Wait() if err != nil { logger.Fatal("Stager exited with error", err) } logger.Info("stopped") }
var ( fakeCC *ghttp.Server logger lager.Logger ccClient cc_client.CcClient stagingGuid string ) BeforeEach(func() { fakeCC = ghttp.NewServer() logger = lager.NewLogger("fakelogger") logger.RegisterSink(lager.NewWriterSink(GinkgoWriter, lager.DEBUG)) ccClient = cc_client.NewCcClient(fakeCC.URL(), "username", "password", true) stagingGuid = "the-staging-guid" }) AfterEach(func() { if fakeCC.HTTPTestServer != nil { fakeCC.Close() } }) Describe("Successfully calling the Cloud Controller", func() { var expectedBody = []byte(`{ "key": "value" }`) BeforeEach(func() { fakeCC.AppendHandlers(