func callShareDomain(args []string, requirementsFactory *testreq.FakeReqFactory, domainRepo *testapi.FakeDomainRepository) (fakeUI *testterm.FakeUI) { fakeUI = new(testterm.FakeUI) configRepo := testconfig.NewRepositoryWithAccessToken(configuration.TokenInfo{Username: "******"}) cmd := NewCreateSharedDomain(fakeUI, configRepo, domainRepo) testcmd.RunCommand(cmd, args, requirementsFactory) return }
func callShowOrg(args []string, requirementsFactory *testreq.FakeReqFactory) (ui *testterm.FakeUI) { ui = new(testterm.FakeUI) token := core_config.TokenInfo{Username: "******"} spaceFields := models.SpaceFields{} spaceFields.Name = "my-space" orgFields := models.OrganizationFields{} orgFields.Name = "my-org" configRepo := testconfig.NewRepositoryWithAccessToken(token) configRepo.SetSpaceFields(spaceFields) configRepo.SetOrganizationFields(orgFields) return }
func callListDomains(args []string, requirementsFactory *testreq.FakeReqFactory, domainRepo *testapi.FakeDomainRepository) (fakeUI *testterm.FakeUI) { fakeUI = new(testterm.FakeUI) configRepo := testconfig.NewRepositoryWithAccessToken(configuration.TokenInfo{Username: "******"}) spaceFields := models.SpaceFields{} spaceFields.Name = "my-space" orgFields := models.OrganizationFields{} orgFields.Name = "my-org" configRepo.SetSpaceFields(spaceFields) configRepo.SetOrganizationFields(orgFields) cmd := domain.NewListDomains(fakeUI, configRepo, domainRepo) testcmd.RunCommand(cmd, args, requirementsFactory) return }
func callDeleteSharedDomain(args []string, inputs []string, deps deleteSharedDomainDependencies) (ui *testterm.FakeUI) { ui = &testterm.FakeUI{ Inputs: inputs, } configRepo := testconfig.NewRepositoryWithAccessToken(configuration.TokenInfo{Username: "******"}) spaceFields := models.SpaceFields{} spaceFields.Name = "my-space" orgFields := models.OrganizationFields{} orgFields.Name = "my-org" configRepo.SetSpaceFields(spaceFields) configRepo.SetOrganizationFields(orgFields) cmd := domain.NewDeleteSharedDomain(ui, configRepo, deps.domainRepo) testcmd.RunCommand(cmd, args, deps.requirementsFactory) return }
func callCreateOrg(args []string, requirementsFactory *testreq.FakeReqFactory, orgRepo *testapi.FakeOrgRepository) (fakeUI *testterm.FakeUI) { fakeUI = new(testterm.FakeUI) space := models.SpaceFields{} space.Name = "my-space" organization := models.OrganizationFields{} organization.Name = "my-org" token := configuration.TokenInfo{Username: "******"} config := testconfig.NewRepositoryWithAccessToken(token) config.SetSpaceFields(space) config.SetOrganizationFields(organization) cmd := NewCreateOrg(fakeUI, config, orgRepo) testcmd.RunCommand(cmd, args, requirementsFactory) return }
import ( "github.com/cloudfoundry/cli/cf/configuration/coreconfig" . "github.com/cloudfoundry/cli/cf/requirements" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" testconfig "github.com/cloudfoundry/cli/testhelpers/configuration" ) var _ = Describe("LoginRequirement", func() { BeforeEach(func() { }) It("succeeds when given a config with an API endpoint and authentication", func() { config := testconfig.NewRepositoryWithAccessToken(coreconfig.TokenInfo{Username: "******"}) config.SetAPIEndpoint("api.example.com") req := NewLoginRequirement(config) err := req.Execute() Expect(err).NotTo(HaveOccurred()) }) It("fails when given a config with only an API endpoint", func() { config := testconfig.NewRepository() config.SetAPIEndpoint("api.example.com") req := NewLoginRequirement(config) err := req.Execute() Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("Not logged in.")) })
Expect(output).ToNot(ContainSubstrings([]string{"API endpoint:"})) Expect(output).To(ContainSubstrings([]string{"Not logged in", "Use", "log in"})) }) }) Context("when an api endpoint is set and the user logged in", func() { var config coreconfig.ReadWriter BeforeEach(func() { accessToken := coreconfig.TokenInfo{ UserGUID: "my-user-guid", Username: "******", Email: "my-user-email", } config = testconfig.NewRepositoryWithAccessToken(accessToken) config.SetAPIEndpoint("https://test.example.org") config.SetAPIVersion("☃☃☃") }) Describe("tells the user what is set in the config", func() { var output []string JustBeforeEach(func() { output = io_helpers.CaptureOutput(func() { ui := NewUI(os.Stdin, os.Stdout, NewTeePrinter(os.Stdout), fakeLogger) ui.ShowConfiguration(config) }) }) It("tells the user which api endpoint is set", func() {
. "github.com/cloudfoundry/cli/testhelpers/matchers" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("Testing with ginkgo", func() { var ( requirementsFactory *testreq.FakeReqFactory ui *testterm.FakeUI domainRepo *testapi.FakeDomainRepository configRepo configuration.ReadWriter ) BeforeEach(func() { requirementsFactory = &testreq.FakeReqFactory{LoginSuccess: true} domainRepo = &testapi.FakeDomainRepository{} configRepo = testconfig.NewRepositoryWithAccessToken(configuration.TokenInfo{Username: "******"}) }) runCommand := func(args ...string) { ui = new(testterm.FakeUI) cmd := NewCreateSharedDomain(ui, configRepo, domainRepo) testcmd.RunCommand(cmd, args, requirementsFactory) return } It("TestShareDomainRequirements", func() { runCommand("example.com") Expect(testcmd.CommandDidPassRequirements).To(BeTrue()) requirementsFactory = &testreq.FakeReqFactory{LoginSuccess: false} runCommand("example.com")