func findCommand(cmdName string) (cmd cli.Command) { fakeUI := &testterm.FakeUI{} configRepo := testconfig.NewRepository() pluginConfig := &testPluginConfig.FakePluginConfiguration{} manifestRepo := manifest.NewManifestDiskRepository() apiRepoLocator := api.NewRepositoryLocator(configRepo, map[string]net.Gateway{ "auth": net.NewUAAGateway(configRepo, fakeUI), "cloud-controller": net.NewCloudControllerGateway(configRepo, time.Now, fakeUI), "uaa": net.NewUAAGateway(configRepo, fakeUI), }) rpcService, _ := rpc.NewRpcService(nil, nil, nil, nil, api.RepositoryLocator{}, nil) cmdFactory := command_factory.NewFactory(fakeUI, configRepo, manifestRepo, apiRepoLocator, pluginConfig, rpcService) requirementsFactory := &testreq.FakeReqFactory{} cmdRunner := command_runner.NewRunner(cmdFactory, requirementsFactory, fakeUI) myApp := app.NewApp(cmdRunner, cmdFactory.CommandMetadatas()...) for _, cmd := range myApp.Commands { if cmd.Name == cmdName { return cmd } } panic(fmt.Sprintf("command %s does not exist", cmdName)) return }
func setupDependencies() (deps *cliDependencies) { deps = new(cliDependencies) deps.termUI = terminal.NewUI(os.Stdin) deps.manifestRepo = manifest.NewManifestDiskRepository() deps.configRepo = configuration.NewRepositoryFromFilepath(configuration.DefaultFilePath(), func(err error) { if err != nil { deps.termUI.Failed(fmt.Sprintf("Config error: %s", err)) } }) i18n.T = i18n.Init(deps.configRepo) terminal.UserAskedForColors = deps.configRepo.ColorEnabled() terminal.InitColorSupport() if os.Getenv("CF_TRACE") != "" { trace.Logger = trace.NewLogger(os.Getenv("CF_TRACE")) } else { trace.Logger = trace.NewLogger(deps.configRepo.Trace()) } deps.gateways = map[string]net.Gateway{ "auth": net.NewUAAGateway(deps.configRepo), "cloud-controller": net.NewCloudControllerGateway(deps.configRepo, time.Now), "uaa": net.NewUAAGateway(deps.configRepo), } deps.apiRepoLocator = api.NewRepositoryLocator(deps.configRepo, deps.gateways) return }
func NewDependency() Dependency { deps := Dependency{} deps.TeePrinter = terminal.NewTeePrinter() deps.Ui = terminal.NewUI(os.Stdin, deps.TeePrinter) deps.ManifestRepo = manifest.NewManifestDiskRepository() errorHandler := func(err error) { if err != nil { deps.Ui.Failed(fmt.Sprintf("Config error: %s", err)) } } deps.Config = core_config.NewRepositoryFromFilepath(config_helpers.DefaultFilePath(), errorHandler) deps.PluginConfig = plugin_config.NewPluginConfig(errorHandler) deps.Detector = &detection.JibberJabberDetector{} terminal.UserAskedForColors = deps.Config.ColorEnabled() terminal.InitColorSupport() if os.Getenv("CF_TRACE") != "" { trace.Logger = trace.NewLogger(os.Getenv("CF_TRACE")) } else { trace.Logger = trace.NewLogger(deps.Config.Trace()) } deps.Gateways = map[string]net.Gateway{ "auth": net.NewUAAGateway(deps.Config, deps.Ui), "cloud-controller": net.NewCloudControllerGateway(deps.Config, time.Now, deps.Ui), "uaa": net.NewUAAGateway(deps.Config, deps.Ui), } deps.RepoLocator = api.NewRepositoryLocator(deps.Config, deps.Gateways) deps.PluginModels = &pluginModels{Application: nil} return deps }
func createUserProvidedServiceInstanceRepo(req testnet.TestRequest) (ts *httptest.Server, handler *testnet.TestHandler, repo UserProvidedServiceInstanceRepository) { ts, handler = testnet.NewServer([]testnet.TestRequest{req}) configRepo := testconfig.NewRepositoryWithDefaults() configRepo.SetApiEndpoint(ts.URL) gateway := net.NewCloudControllerGateway(configRepo, time.Now) repo = NewCCUserProvidedServiceInstanceRepository(configRepo, gateway) return }
func createServiceSummaryRepo(req testnet.TestRequest) (ts *httptest.Server, handler *testnet.TestHandler, repo ServiceSummaryRepository) { ts, handler = testnet.NewServer([]testnet.TestRequest{req}) configRepo := testconfig.NewRepositoryWithDefaults() configRepo.SetAPIEndpoint(ts.URL) gateway := net.NewCloudControllerGateway(configRepo, time.Now, new(terminalfakes.FakeUI), new(tracefakes.FakePrinter), "") repo = NewCloudControllerServiceSummaryRepository(configRepo, gateway) return }
func createAppRepo(requests []testnet.TestRequest) (ts *httptest.Server, handler *testnet.TestHandler, repo ApplicationRepository) { ts, handler = testnet.NewServer(requests) configRepo := testconfig.NewRepositoryWithDefaults() configRepo.SetApiEndpoint(ts.URL) gateway := net.NewCloudControllerGateway(configRepo, time.Now, &testterm.FakeUI{}) repo = NewCloudControllerApplicationRepository(configRepo, gateway) return }
func createServiceBrokerRepo(requests ...testnet.TestRequest) (ts *httptest.Server, handler *testnet.TestHandler, repo ServiceBrokerRepository) { ts, handler = testnet.NewServer(requests) configRepo := testconfig.NewRepositoryWithDefaults() configRepo.SetApiEndpoint(ts.URL) gateway := net.NewCloudControllerGateway(configRepo, time.Now) repo = NewCloudControllerServiceBrokerRepository(configRepo, gateway) return }
func createUserProvidedServiceInstanceRepo(req []testnet.TestRequest) (ts *httptest.Server, handler *testnet.TestHandler, repo UserProvidedServiceInstanceRepository) { ts, handler = testnet.NewServer(req) configRepo := testconfig.NewRepositoryWithDefaults() configRepo.SetAPIEndpoint(ts.URL) gateway := net.NewCloudControllerGateway(configRepo, time.Now, new(terminalfakes.FakeUI), new(tracefakes.FakePrinter)) repo = NewCCUserProvidedServiceInstanceRepository(configRepo, gateway) return }
func createPasswordRepo(req testnet.TestRequest) (passwordServer *httptest.Server, handler *testnet.TestHandler, repo Repository) { passwordServer, handler = testnet.NewServer([]testnet.TestRequest{req}) configRepo := testconfig.NewRepositoryWithDefaults() configRepo.SetUaaEndpoint(passwordServer.URL) gateway := net.NewCloudControllerGateway(configRepo, time.Now, new(terminalfakes.FakeUI), new(tracefakes.FakePrinter), "") repo = NewCloudControllerRepository(configRepo, gateway) return }
func createOrganizationRepo(reqs ...testnet.TestRequest) (testserver *httptest.Server, handler *testnet.TestHandler, repo OrganizationRepository) { testserver, handler = testnet.NewServer(reqs) configRepo := testconfig.NewRepositoryWithDefaults() configRepo.SetApiEndpoint(testserver.URL) gateway := net.NewCloudControllerGateway(configRepo, time.Now) repo = NewCloudControllerOrganizationRepository(configRepo, gateway) return }
func createAppInstancesRepo(requests []testnet.TestRequest) (ts *httptest.Server, handler *testnet.TestHandler, repo Repository) { ts, handler = testnet.NewServer(requests) space := models.SpaceFields{} space.GUID = "my-space-guid" configRepo := testconfig.NewRepositoryWithDefaults() configRepo.SetAPIEndpoint(ts.URL) gateway := net.NewCloudControllerGateway(configRepo, time.Now, new(terminalfakes.FakeUI), new(tracefakes.FakePrinter), "") repo = NewCloudControllerAppInstancesRepository(configRepo, gateway) return }
func createAppInstancesRepo(requests []testnet.TestRequest) (ts *httptest.Server, handler *testnet.TestHandler, repo AppInstancesRepository) { ts, handler = testnet.NewServer(requests) space := models.SpaceFields{} space.Guid = "my-space-guid" configRepo := testconfig.NewRepositoryWithDefaults() configRepo.SetApiEndpoint(ts.URL) gateway := net.NewCloudControllerGateway(configRepo, time.Now) repo = NewCloudControllerAppInstancesRepository(configRepo, gateway) return }
func createCommandFactory() command_factory.Factory { fakeUI := &testterm.FakeUI{} configRepo := testconfig.NewRepository() manifestRepo := manifest.NewManifestDiskRepository() apiRepoLocator := api.NewRepositoryLocator(configRepo, map[string]net.Gateway{ "auth": net.NewUAAGateway(configRepo), "cloud-controller": net.NewCloudControllerGateway(configRepo, time.Now), "uaa": net.NewUAAGateway(configRepo), }) return command_factory.NewFactory(fakeUI, configRepo, manifestRepo, apiRepoLocator) }
func createCommandFactory() command_factory.Factory { fakeUI := &testterm.FakeUI{} configRepo := testconfig.NewRepository() pluginConfig := &testPluginConfig.FakePluginConfiguration{} manifestRepo := manifest.NewManifestDiskRepository() apiRepoLocator := api.NewRepositoryLocator(configRepo, map[string]net.Gateway{ "auth": net.NewUAAGateway(configRepo, fakeUI), "cloud-controller": net.NewCloudControllerGateway(configRepo, time.Now, fakeUI), "uaa": net.NewUAAGateway(configRepo, fakeUI), }) rpcService, _ := rpc.NewRpcService(nil, nil, nil, nil) return command_factory.NewFactory(fakeUI, configRepo, manifestRepo, apiRepoLocator, pluginConfig, rpcService) }
func New(ccTarget string, uaaTarget string, username string, password string) (*CFServices, error) { cfs := CFServices{ CCTarget: ccTarget, UAATarget: uaaTarget, Username: username, Password: password, SessionID: uuid.New(), } cfs.gateways = make(map[string]net.Gateway) cfs.configFilePath = strings.Replace(config_helpers.DefaultFilePath(), ".json", "."+cfs.SessionID+".json", -1) cfs.config = core_config.NewRepositoryFromFilepath(cfs.configFilePath, func(err error) { if err != nil { fmt.Printf("Config error: %s", err) } }) cfs.config.SetApiEndpoint(ccTarget) cfs.config.SetAuthenticationEndpoint(uaaTarget) cfs.config.SetUaaEndpoint(uaaTarget) cfs.config.SetSSLDisabled(true) cfs.teePrinter = terminal.NewTeePrinter() cfs.termUI = terminal.NewUI(os.Stdin, cfs.teePrinter) cfs.detector = &detection.JibberJabberDetector{} T = Init(cfs.config, cfs.detector) terminal.UserAskedForColors = cfs.config.ColorEnabled() terminal.InitColorSupport() cfs.gateways["cloud-controller"] = net.NewCloudControllerGateway(cfs.config, time.Now, cfs.termUI) cfs.gateways["auth"] = net.NewUAAGateway(cfs.config, cfs.termUI) cfs.gateways["uaa"] = net.NewUAAGateway(cfs.config, cfs.termUI) cfs.authRepo = authentication.NewUAAAuthenticationRepository(cfs.gateways["uaa"], cfs.config) cfs.Organizations = organizations.NewCloudControllerOrganizationRepository(cfs.config, cfs.gateways["cloud-controller"]) cfs.Spaces = spaces.NewCloudControllerSpaceRepository(cfs.config, cfs.gateways["cloud-controller"]) cfs.Services = api.NewCloudControllerServiceRepository(cfs.config, cfs.gateways["cloud-controller"]) cfs.Plans = api.NewCloudControllerServicePlanRepository(cfs.config, cfs.gateways["cloud-controller"]) err := cfs.authRepo.Authenticate(map[string]string{ "username": username, "password": password, }) return &cfs, err }
func setupDependencies() (deps *cliDependencies) { deps = new(cliDependencies) deps.teePrinter = terminal.NewTeePrinter() deps.termUI = terminal.NewUI(os.Stdin, deps.teePrinter) deps.manifestRepo = manifest.NewManifestDiskRepository() errorHandler := func(err error) { if err != nil { deps.termUI.Failed(fmt.Sprintf("Config error: %s", err)) } } deps.configRepo = core_config.NewRepositoryFromFilepath(config_helpers.DefaultFilePath(), errorHandler) deps.pluginConfig = plugin_config.NewPluginConfig(errorHandler) deps.detector = &detection.JibberJabberDetector{} T = Init(deps.configRepo, deps.detector) terminal.UserAskedForColors = deps.configRepo.ColorEnabled() terminal.InitColorSupport() if os.Getenv("CF_TRACE") != "" { trace.Logger = trace.NewLogger(os.Getenv("CF_TRACE")) } else { trace.Logger = trace.NewLogger(deps.configRepo.Trace()) } deps.gateways = map[string]net.Gateway{ "auth": net.NewUAAGateway(deps.configRepo, deps.termUI), "cloud-controller": net.NewCloudControllerGateway(deps.configRepo, time.Now, deps.termUI), "uaa": net.NewUAAGateway(deps.configRepo, deps.termUI), } deps.apiRepoLocator = api.NewRepositoryLocator(deps.configRepo, deps.gateways) return }
var ( testServer *httptest.Server testHandler *testnet.TestHandler configRepo configuration.ReadWriter repo CloudControllerServiceBindingRepository ) setupTestServer := func(reqs ...testnet.TestRequest) { testServer, testHandler = testnet.NewServer(reqs) configRepo.SetApiEndpoint(testServer.URL) } BeforeEach(func() { configRepo = testconfig.NewRepositoryWithDefaults() gateway := net.NewCloudControllerGateway((configRepo), time.Now) repo = NewCloudControllerServiceBindingRepository(configRepo, gateway) }) AfterEach(func() { testServer.Close() }) Describe("Create", func() { Context("when the service binding can be created", func() { BeforeEach(func() { setupTestServer(testapi.NewCloudControllerTestRequest(testnet.TestRequest{ Method: "POST", Path: "/v2/service_bindings", Matcher: testnet.RequestBodyMatcher(`{"app_guid":"my-app-guid","service_instance_guid":"my-service-instance-guid","async":true}`), Response: testnet.TestResponse{Status: http.StatusCreated},
}) Context("error when getting SSH info from /v2/info", func() { BeforeEach(func() { getRequest := apifakes.NewCloudControllerTestRequest(testnet.TestRequest{ Method: "GET", Path: "/v2/info", Response: testnet.TestResponse{ Status: http.StatusNotFound, Body: `{}`, }, }) testServer, handler = testnet.NewServer([]testnet.TestRequest{getRequest}) configRepo.SetAPIEndpoint(testServer.URL) ccGateway = net.NewCloudControllerGateway(configRepo, time.Now, &testterm.FakeUI{}, new(tracefakes.FakePrinter), "") deps.Gateways["cloud-controller"] = ccGateway }) It("notifies users", func() { runCommand("my-app") Expect(handler).To(HaveAllRequestsCalled()) Expect(ui.Outputs()).To(ContainSubstrings( []string{"Error getting SSH info", "404"}, )) }) }) Context("error when getting oauth token", func() {
var _ = Describe("App", func() { var ( app *cli.App cmdRunner *FakeRunner ) JustBeforeEach(func() { ui := &testterm.FakeUI{} config := testconfig.NewRepository() pluginConfig := &testPluginConfig.FakePluginConfiguration{} manifestRepo := &testmanifest.FakeManifestRepository{} repoLocator := api.NewRepositoryLocator(config, map[string]net.Gateway{ "auth": net.NewUAAGateway(config, ui), "cloud-controller": net.NewCloudControllerGateway(config, time.Now, &testterm.FakeUI{}), "uaa": net.NewUAAGateway(config, ui), }) rpcService, _ := rpc.NewRpcService(nil, nil, nil, nil, api.RepositoryLocator{}, nil) cmdFactory := command_factory.NewFactory(ui, config, manifestRepo, repoLocator, pluginConfig, rpcService) cmdRunner = &FakeRunner{cmdFactory: cmdFactory} app = NewApp(cmdRunner, cmdFactory.CommandMetadatas()...) }) Describe("trace file integration", func() { var ( output *bytes.Buffer ) BeforeEach(func() {
"github.com/cloudfoundry/cli/cf/trace/tracefakes" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("StagingSecurityGroupsRepo", func() { var ( testServer *httptest.Server testHandler *testnet.TestHandler configRepo coreconfig.ReadWriter repo SecurityGroupsRepo ) BeforeEach(func() { configRepo = testconfig.NewRepositoryWithDefaults() gateway := net.NewCloudControllerGateway(configRepo, time.Now, new(terminalfakes.FakeUI), new(tracefakes.FakePrinter), "") repo = NewSecurityGroupsRepo(configRepo, gateway) }) AfterEach(func() { testServer.Close() }) setupTestServer := func(reqs ...testnet.TestRequest) { testServer, testHandler = testnet.NewServer(reqs) configRepo.SetAPIEndpoint(testServer.URL) } Describe("BindToStagingSet", func() { It("makes a correct request", func() { setupTestServer(
func newCurlDependencies() (deps curlDependencies) { deps.config = testconfig.NewRepository() deps.config.SetAccessToken("BEARER my_access_token") deps.gateway = net.NewCloudControllerGateway(deps.config, time.Now, new(terminalfakes.FakeUI), new(tracefakes.FakePrinter), "") return }
var _ = Describe("Service Keys Repo", func() { var ( ccServer *ghttp.Server configRepo core_config.ReadWriter repo ServiceKeyRepository ) BeforeEach(func() { configRepo = testconfig.NewRepositoryWithDefaults() configRepo.SetAccessToken("BEARER my_access_token") ccServer = ghttp.NewServer() configRepo.SetApiEndpoint(ccServer.URL()) gateway := net.NewCloudControllerGateway(configRepo, time.Now, &testterm.FakeUI{}) repo = NewCloudControllerServiceKeyRepository(configRepo, gateway) }) AfterEach(func() { ccServer.Close() }) Describe("CreateServiceKey", func() { It("tries to create the service key", func() { ccServer.AppendHandlers( ghttp.CombineHandlers( ghttp.VerifyRequest("POST", "/v2/service_keys"), ghttp.RespondWith(http.StatusCreated, nil), ghttp.VerifyJSON(`{"service_instance_guid": "fake-instance-guid", "name": "fake-key-name"}`), ),
var _ = Describe("Endpoints Repository", func() { var ( config configuration.ReadWriter gateway net.Gateway testServer *httptest.Server repo EndpointRepository testServerFn func(w http.ResponseWriter, r *http.Request) ) BeforeEach(func() { config = testconfig.NewRepository() testServer = httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { testServerFn(w, r) })) gateway = net.NewCloudControllerGateway((config), time.Now) gateway.SetTrustedCerts(testServer.TLS.Certificates) repo = NewEndpointRepository(config, gateway) }) AfterEach(func() { testServer.Close() }) Describe("updating the endpoints", func() { Context("when the API request is successful", func() { var ( org models.OrganizationFields space models.SpaceFields ) BeforeEach(func() {
func NewTestCloudControllerGateway(configRepo core_config.Reader) net.Gateway { fakeLogger := new(fakes.FakePrinter) return net.NewCloudControllerGateway(configRepo, time.Now, &testterm.FakeUI{}, fakeLogger) }
func NewDependency(logger trace.Printer) Dependency { deps := Dependency{} deps.TeePrinter = terminal.NewTeePrinter() deps.Ui = terminal.NewUI(os.Stdin, deps.TeePrinter, logger) errorHandler := func(err error) { if err != nil { deps.Ui.Failed(fmt.Sprintf("Config error: %s", err)) } } deps.Config = core_config.NewRepositoryFromFilepath(config_helpers.DefaultFilePath(), errorHandler) deps.ManifestRepo = manifest.NewManifestDiskRepository() deps.AppManifest = manifest.NewGenerator() deps.PluginConfig = plugin_config.NewPluginConfig(errorHandler) terminal.UserAskedForColors = deps.Config.ColorEnabled() terminal.InitColorSupport() deps.Gateways = map[string]net.Gateway{ "cloud-controller": net.NewCloudControllerGateway(deps.Config, time.Now, deps.Ui, logger), "uaa": net.NewUAAGateway(deps.Config, deps.Ui, logger), "routing-api": net.NewRoutingApiGateway(deps.Config, time.Now, deps.Ui, logger), } deps.RepoLocator = api.NewRepositoryLocator(deps.Config, deps.Gateways, logger) deps.PluginModels = &PluginModels{Application: nil} deps.PlanBuilder = plan_builder.NewBuilder( deps.RepoLocator.GetServicePlanRepository(), deps.RepoLocator.GetServicePlanVisibilityRepository(), deps.RepoLocator.GetOrganizationRepository(), ) deps.ServiceBuilder = service_builder.NewBuilder( deps.RepoLocator.GetServiceRepository(), deps.PlanBuilder, ) deps.BrokerBuilder = broker_builder.NewBuilder( deps.RepoLocator.GetServiceBrokerRepository(), deps.ServiceBuilder, ) deps.PluginRepo = plugin_repo.NewPluginRepo() deps.ServiceHandler = actors.NewServiceHandler( deps.RepoLocator.GetOrganizationRepository(), deps.BrokerBuilder, deps.ServiceBuilder, ) deps.ServicePlanHandler = actors.NewServicePlanHandler( deps.RepoLocator.GetServicePlanRepository(), deps.RepoLocator.GetServicePlanVisibilityRepository(), deps.RepoLocator.GetOrganizationRepository(), deps.PlanBuilder, deps.ServiceBuilder, ) deps.WordGenerator = generator.NewWordGenerator() deps.AppZipper = app_files.ApplicationZipper{} deps.AppFiles = app_files.ApplicationFiles{} deps.PushActor = actors.NewPushActor(deps.RepoLocator.GetApplicationBitsRepository(), deps.AppZipper, deps.AppFiles) deps.ChecksumUtil = utils.NewSha1Checksum("") deps.Logger = logger return deps }
. "github.com/onsi/gomega" ) var _ = Describe("factory", func() { var ( factory Factory ) BeforeEach(func() { fakeUI := &testterm.FakeUI{} config := testconfig.NewRepository() manifestRepo := manifest.NewManifestDiskRepository() pluginConfig := &testPluginConfig.FakePluginConfiguration{} repoLocator := api.NewRepositoryLocator(config, map[string]net.Gateway{ "auth": net.NewUAAGateway(config, fakeUI), "cloud-controller": net.NewCloudControllerGateway(config, time.Now, fakeUI), "uaa": net.NewUAAGateway(config, fakeUI), }) rpcService, _ := rpc.NewRpcService(nil, nil, nil, nil, api.RepositoryLocator{}, nil) factory = NewFactory(fakeUI, config, manifestRepo, repoLocator, pluginConfig, rpcService) }) // skipping test during the process of converting commands into non-codegangsta structure XIt("provides the metadata for its commands", func() { commands := factory.CommandMetadatas() suffixesToIgnore := []string{ "i18n_init.go", // ignore all i18n initializers "_test.go", // ignore test files ".test", // ignore generated .test (temporary files)
var _ = Describe("Endpoints Repository", func() { var ( config core_config.ReadWriter gateway net.Gateway testServer *httptest.Server repo EndpointRepository testServerFn func(w http.ResponseWriter, r *http.Request) ) BeforeEach(func() { config = testconfig.NewRepository() testServer = httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { testServerFn(w, r) })) gateway = net.NewCloudControllerGateway((config), time.Now, &testterm.FakeUI{}) gateway.SetTrustedCerts(testServer.TLS.Certificates) repo = NewEndpointRepository(config, gateway) }) AfterEach(func() { testServer.Close() }) Describe("updating the endpoints", func() { Context("when the API request is successful", func() { var ( org models.OrganizationFields space models.SpaceFields ) BeforeEach(func() {
var ( server *httptest.Server handler *testnet.TestHandler config configuration.ReadWriter repo AppEventsRepository ) BeforeEach(func() { config = testconfig.NewRepository() config.SetAccessToken("BEARER my_access_token") config.SetApiVersion("2.2.0") }) JustBeforeEach(func() { strategy := strategy.NewEndpointStrategy(config.ApiVersion()) gateway := net.NewCloudControllerGateway(config, time.Now) repo = NewCloudControllerAppEventsRepository(config, gateway, strategy) }) AfterEach(func() { server.Close() }) setupTestServer := func(requests ...testnet.TestRequest) { server, handler = testnet.NewServer(requests) config.SetApiEndpoint(server.URL) } Describe("list recent events", func() { It("returns the most recent events", func() { setupTestServer(eventsRequest)
func NewDependency(writer io.Writer, logger trace.Printer) Dependency { deps := Dependency{} deps.TeePrinter = terminal.NewTeePrinter(writer) deps.UI = terminal.NewUI(os.Stdin, writer, deps.TeePrinter, logger) errorHandler := func(err error) { if err != nil { deps.UI.Failed(fmt.Sprintf("Config error: %s", err)) } } configPath, err := confighelpers.DefaultFilePath() if err != nil { errorHandler(err) } deps.Config = coreconfig.NewRepositoryFromFilepath(configPath, errorHandler) deps.ManifestRepo = manifest.NewDiskRepository() deps.AppManifest = manifest.NewGenerator() pluginPath := filepath.Join(confighelpers.PluginRepoDir(), ".cf", "plugins") deps.PluginConfig = pluginconfig.NewPluginConfig( errorHandler, configuration.NewDiskPersistor(filepath.Join(pluginPath, "config.json")), pluginPath, ) terminal.UserAskedForColors = deps.Config.ColorEnabled() terminal.InitColorSupport() deps.Gateways = map[string]net.Gateway{ "cloud-controller": net.NewCloudControllerGateway(deps.Config, time.Now, deps.UI, logger), "uaa": net.NewUAAGateway(deps.Config, deps.UI, logger), "routing-api": net.NewRoutingAPIGateway(deps.Config, time.Now, deps.UI, logger), } deps.RepoLocator = api.NewRepositoryLocator(deps.Config, deps.Gateways, logger) deps.PluginModels = &PluginModels{Application: nil} deps.PlanBuilder = planbuilder.NewBuilder( deps.RepoLocator.GetServicePlanRepository(), deps.RepoLocator.GetServicePlanVisibilityRepository(), deps.RepoLocator.GetOrganizationRepository(), ) deps.ServiceBuilder = servicebuilder.NewBuilder( deps.RepoLocator.GetServiceRepository(), deps.PlanBuilder, ) deps.BrokerBuilder = brokerbuilder.NewBuilder( deps.RepoLocator.GetServiceBrokerRepository(), deps.ServiceBuilder, ) deps.PluginRepo = pluginrepo.NewPluginRepo() deps.ServiceHandler = actors.NewServiceHandler( deps.RepoLocator.GetOrganizationRepository(), deps.BrokerBuilder, deps.ServiceBuilder, ) deps.ServicePlanHandler = actors.NewServicePlanHandler( deps.RepoLocator.GetServicePlanRepository(), deps.RepoLocator.GetServicePlanVisibilityRepository(), deps.RepoLocator.GetOrganizationRepository(), deps.PlanBuilder, deps.ServiceBuilder, ) deps.WordGenerator = generator.NewWordGenerator() deps.AppZipper = appfiles.ApplicationZipper{} deps.AppFiles = appfiles.ApplicationFiles{} deps.PushActor = actors.NewPushActor(deps.RepoLocator.GetApplicationBitsRepository(), deps.AppZipper, deps.AppFiles) deps.ChecksumUtil = utils.NewSha1Checksum("") deps.Logger = logger return deps }
func newCurlDependencies() (deps curlDependencies) { deps.config = testconfig.NewRepository() deps.config.SetAccessToken("BEARER my_access_token") deps.gateway = net.NewCloudControllerGateway(deps.config, time.Now) return }