}) Context("when deleting the currently targeted org", func() { It("untargets the deleted org", func() { config.SetOrganizationFields(org.OrganizationFields) runCommand("org-to-delete") Expect(config.OrganizationFields()).To(Equal(models.OrganizationFields{})) Expect(config.SpaceFields()).To(Equal(models.SpaceFields{})) }) }) Context("when deleting an org that is not targeted", func() { BeforeEach(func() { otherOrgFields := models.OrganizationFields{} otherOrgFields.Guid = "some-other-org-guid" otherOrgFields.Name = "some-other-org" config.SetOrganizationFields(otherOrgFields) spaceFields := models.SpaceFields{} spaceFields.Name = "some-other-space" config.SetSpaceFields(spaceFields) }) It("deletes the org with the given name", func() { runCommand("org-to-delete") Expect(ui.Prompts).To(ContainSubstrings([]string{"Really delete the org org-to-delete"})) Expect(ui.Outputs).To(ContainSubstrings( []string{"Deleting", "org-to-delete"},
It("prompts the user to target an org when no org is targeted", func() { sf := models.SpaceFields{} sf.Guid = "guid" sf.Name = "name" output := io_helpers.CaptureOutput(func() { ui := NewUI(os.Stdin, NewTeePrinter()) ui.ShowConfiguration(config) }) Expect(output).To(ContainSubstrings([]string{"No", "org", "targeted", "-o ORG"})) }) It("prompts the user to target a space when no space is targeted", func() { of := models.OrganizationFields{} of.Guid = "of-guid" of.Name = "of-name" output := io_helpers.CaptureOutput(func() { ui := NewUI(os.Stdin, NewTeePrinter()) ui.ShowConfiguration(config) }) Expect(output).To(ContainSubstrings([]string{"No", "space", "targeted", "-s SPACE"})) }) }) Describe("failing", func() { It("panics with a specific string", func() { io_helpers.CaptureOutput(func() { testassert.AssertPanic(QuietPanic, func() {
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() { org.Name = "my-org" org.Guid = "my-org-guid" space.Name = "my-space" space.Guid = "my-space-guid" config.SetOrganizationFields(org) config.SetSpaceFields(space) testServerFn = validApiInfoEndpoint }) It("stores the data from the /info api in the config", func() { repo.UpdateEndpoint(testServer.URL) Expect(config.AccessToken()).To(Equal("")) Expect(config.AuthenticationEndpoint()).To(Equal("https://login.example.com")) Expect(config.LoggregatorEndpoint()).To(Equal("wss://loggregator.foo.example.org:4443"))
callListDomains([]string{}, requirementsFactory, domainRepo) Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) It("TestListDomainsFailsWithUsage", func() { requirementsFactory := &testreq.FakeReqFactory{LoginSuccess: true, TargetedOrgSuccess: true} domainRepo := &testapi.FakeDomainRepository{} ui := callListDomains([]string{"foo"}, requirementsFactory, domainRepo) Expect(ui.FailedWithUsage).To(BeTrue()) }) It("lists domains", func() { orgFields := models.OrganizationFields{} orgFields.Name = "my-org" orgFields.Guid = "my-org-guid" requirementsFactory := &testreq.FakeReqFactory{LoginSuccess: true, TargetedOrgSuccess: true, OrganizationFields: orgFields} domainRepo := &testapi.FakeDomainRepository{ ListDomainsForOrgDomains: []models.DomainFields{ models.DomainFields{ Shared: false, Name: "Private-domain1", }, models.DomainFields{ Shared: true, Name: "The-shared-domain", }, models.DomainFields{ Shared: false,