req := testapi.NewCloudControllerTestRequest(testnet.TestRequest{ Method: "PUT", Path: "/v2/user_provided_service_instances/my-instance-guid", Matcher: testnet.RequestBodyMatcher(`{"credentials":{"host":"example.com","password":"******","user":"******"},"syslog_drain_url":"syslog://example.com"}`), Response: testnet.TestResponse{Status: http.StatusCreated}, }) ts, handler, repo := createUserProvidedServiceInstanceRepo(req) defer ts.Close() params := map[string]string{ "host": "example.com", "user": "******", "password": "******", } serviceInstance := models.ServiceInstanceFields{} serviceInstance.Guid = "my-instance-guid" serviceInstance.Params = params serviceInstance.SysLogDrainUrl = "syslog://example.com" apiErr := repo.Update(serviceInstance) Expect(handler).To(testnet.HaveAllRequestsCalled()) Expect(apiErr).NotTo(HaveOccurred()) }) }) 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)
Context("when logged in and an org is targeted", func() { BeforeEach(func() { org := models.OrganizationFields{} org.Name = "my-org" app := models.ApplicationFields{} app.Name = "app1" app.Guid = "app1-guid" apps := []models.ApplicationFields{app} domain := models.DomainFields{} domain.Name = "domain1" domain.Guid = "domain1-guid" domains := []models.DomainFields{domain} serviceInstance := models.ServiceInstanceFields{} serviceInstance.Name = "service1" serviceInstance.Guid = "service1-guid" services := []models.ServiceInstanceFields{serviceInstance} securityGroup1 := models.SecurityGroupFields{Name: "Nacho Security"} securityGroup2 := models.SecurityGroupFields{Name: "Nacho Prime"} securityGroups := []models.SecurityGroupFields{securityGroup1, securityGroup2} space := models.Space{} space.Name = "whose-space-is-it-anyway" space.Organization = org space.Applications = apps space.Domains = domains space.ServiceInstances = services space.SecurityGroups = securityGroups
req := apifakes.NewCloudControllerTestRequest(testnet.TestRequest{ Method: "PUT", Path: "/v2/user_provided_service_instances/my-instance-guid", Matcher: testnet.RequestBodyMatcher(`{"credentials":{"host":"example.com","password":"******","user":"******"},"syslog_drain_url":"syslog://example.com","route_service_url":""}`), Response: testnet.TestResponse{Status: http.StatusCreated}, }) ts, handler, repo := createUserProvidedServiceInstanceRepo([]testnet.TestRequest{req}) defer ts.Close() params := map[string]interface{}{ "host": "example.com", "user": "******", "password": "******", } serviceInstance := models.ServiceInstanceFields{} serviceInstance.GUID = "my-instance-guid" serviceInstance.Params = params serviceInstance.SysLogDrainURL = "syslog://example.com" serviceInstance.RouteServiceURL = "" apiErr := repo.Update(serviceInstance) Expect(handler).To(HaveAllRequestsCalled()) Expect(apiErr).NotTo(HaveOccurred()) }) }) Context("GetSummaries()", func() { It("returns all user created service in []models.UserProvidedService", func() { responseStr := testnet.TestResponse{Status: http.StatusOK, Body: ` {