testcmd "github.com/nttlabs/cli/testhelpers/commands" testconfig "github.com/nttlabs/cli/testhelpers/configuration" testterm "github.com/nttlabs/cli/testhelpers/terminal" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" . "github.com/nttlabs/cli/testhelpers/matchers" ) var _ = Describe("Login Command", func() { var ( Flags []string Config core_config.ReadWriter ui *testterm.FakeUI authRepo *testapi.FakeAuthenticationRepository endpointRepo *testapi.FakeEndpointRepo orgRepo *fake_organizations.FakeOrganizationRepository spaceRepo *testapi.FakeSpaceRepository org models.Organization ) BeforeEach(func() { Flags = []string{} Config = testconfig.NewRepository() ui = &testterm.FakeUI{} authRepo = &testapi.FakeAuthenticationRepository{ AccessToken: "my_access_token", RefreshToken: "my_refresh_token", Config: Config, }
. "github.com/nttlabs/cli/testhelpers/matchers" ) func callApi(args []string, config core_config.ReadWriter, endpointRepo *testapi.FakeEndpointRepo) (ui *testterm.FakeUI) { ui = new(testterm.FakeUI) cmd := NewApi(ui, config, endpointRepo) requirementsFactory := &testreq.FakeReqFactory{} testcmd.RunCommand(cmd, args, requirementsFactory) return } var _ = Describe("api command", func() { var ( config core_config.ReadWriter endpointRepo *testapi.FakeEndpointRepo ) BeforeEach(func() { config = testconfig.NewRepository() endpointRepo = &testapi.FakeEndpointRepo{} }) Context("when the api endpoint's ssl certificate is invalid", func() { It("warns the user and prints out a tip", func() { endpointRepo.UpdateEndpointError = errors.NewInvalidSSLCert("https://buttontomatoes.org", "why? no. go away") ui := callApi([]string{"https://buttontomatoes.org"}, config, endpointRepo) Expect(ui.Outputs).To(ContainSubstrings( []string{"FAILED"}, []string{"SSL Cert", "https://buttontomatoes.org"},