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() repo = NewCloudControllerAppInstancesRepository(configRepo, gateway) return }
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" testassert "testhelpers/assert" testconfig "testhelpers/configuration" testterm "testhelpers/terminal" ) var _ = Describe("Testing with ginkgo", func() { It("TestSpaceRequirement", func() { ui := new(testterm.FakeUI) org := models.OrganizationFields{} org.Name = "my-org" org.Guid = "my-org-guid" space := models.SpaceFields{} space.Name = "my-space" space.Guid = "my-space-guid" config := testconfig.NewRepositoryWithDefaults() req := NewTargetedSpaceRequirement(ui, config) success := req.Execute() Expect(success).To(BeTrue()) config.SetSpaceFields(models.SpaceFields{}) testassert.AssertPanic(testterm.FailedWasCalled, func() { NewTargetedSpaceRequirement(ui, config).Execute() }) testassert.SliceContains(ui.Outputs, testassert.Lines{ {"FAILED"}, {"No space targeted"},
}) It("prompts the user to target an org and space when no org or space is targeted", func() { output := captureOutput(func() { ui := NewUI(os.Stdin) ui.ShowConfiguration(config) }) testassert.SliceContains(output, testassert.Lines{ {"No", "org", "space", "targeted", "-o ORG", "-s SPACE"}, }) }) It("prompts the user to target an org when no org is targeted", func() { sf := models.SpaceFields{} sf.Guid = "guid" sf.Name = "name" output := captureOutput(func() { ui := NewUI(os.Stdin) ui.ShowConfiguration(config) }) testassert.SliceContains(output, testassert.Lines{ {"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"
ui := &testterm.FakeUI{} ctxt := testcmd.NewContext("delete", []string{"-f", "space-to-delete"}) cmd := NewDeleteSpace(ui, config, spaceRepo) testcmd.RunCommand(cmd, ctxt, reqFactory) Expect(config.HasSpace()).To(Equal(false)) }) It("TestDeleteSpaceWhenSpaceNotTargeted", func() { reqFactory := defaultDeleteSpaceReqFactory() spaceRepo := &testapi.FakeSpaceRepository{} otherSpace := models.SpaceFields{} otherSpace.Name = "do-not-delete" otherSpace.Guid = "do-not-delete-guid" config := testconfig.NewRepository() config.SetSpaceFields(otherSpace) ui := &testterm.FakeUI{} ctxt := testcmd.NewContext("delete", []string{"-f", "space-to-delete"}) cmd := NewDeleteSpace(ui, config, spaceRepo) testcmd.RunCommand(cmd, ctxt, reqFactory) Expect(config.HasSpace()).To(Equal(true)) }) It("TestDeleteSpaceCommandWith", func() {