fakeServer = ghttp.NewServer() fakeServerURL, err := url.Parse(fakeServer.URL()) Expect(err).NotTo(HaveOccurred()) fakeServerHost, fakeServerPort, err := net.SplitHostPort(fakeServerURL.Host) Expect(err).NotTo(HaveOccurred()) ltcTempFile, err = ioutil.TempFile("", "fake-ltc") Expect(err).NotTo(HaveOccurred()) fakeReceptorClient = &fake_receptor.FakeClient{} fakeReceptorClientCreator = &fake_receptor_client_creator.FakeCreator{} fakeReceptorClientCreator.CreateReceptorClientReturns(fakeReceptorClient) config = config_package.New(nil) config.SetTarget(fakeServerHost + ".xip.io:" + fakeServerPort) versionManager = version.NewVersionManager(fakeReceptorClientCreator, fakeFileSwapper, "") }) AfterEach(func() { ltcTempFile.Close() Expect(os.Remove(ltcTempFile.Name())).To(Succeed()) }) Describe("ServerVersions", func() { It("should fetch versions from receptor", func() { fakeReceptorClient.GetVersionReturns(receptor.VersionResponse{ CFRelease: "v219", CFRoutingRelease: "v220", DiegoRelease: "v221", GardenLinuxRelease: "v222",
Describe("App.CommandNotFound", func() { It("prints unknown command message and exits nonzero", func() { testContext := cli.NewContext(cliApp, &flag.FlagSet{}, nil) cliApp.CommandNotFound(testContext, "do_it") Expect(outputBuffer).To(test_helpers.SayLine("ltc: 'do_it' is not a registered command. See 'ltc help'")) Expect(fakeExitHandler.ExitCalledWith).To(Equal([]int{1})) }) }) Describe("App.Before", func() { Context("when running the target command", func() { It("does not verify the current target", func() { cliConfig.SetTarget("my-lattice.example.com") Expect(cliConfig.Save()).To(Succeed()) commandRan := false cliApp.Commands = []cli.Command{ cli.Command{ Name: "target", Action: func(ctx *cli.Context) { commandRan = true }, }, } Expect(cliApp.Run([]string{"ltc", "target"})).To(Succeed()) Expect(commandRan).To(BeTrue())
"github.com/codegangsta/cli" ) var _ = Describe("SSH CommandFactory", func() { var ( config *config_package.Config outputBuffer *gbytes.Buffer terminalUI terminal.UI fakeExitHandler *fake_exit_handler.FakeExitHandler fakeAppExaminer *fake_app_examiner.FakeAppExaminer fakeSSH *mocks.FakeSSH ) BeforeEach(func() { config = config_package.New(nil) config.SetTarget("lattice.xip.io") outputBuffer = gbytes.NewBuffer() terminalUI = terminal.NewUI(nil, outputBuffer, nil) fakeExitHandler = &fake_exit_handler.FakeExitHandler{} fakeAppExaminer = &fake_app_examiner.FakeAppExaminer{} fakeSSH = &mocks.FakeSSH{} }) Describe("SSHCommand", func() { var sshCommand cli.Command BeforeEach(func() { commandFactory := command_factory.NewSSHCommandFactory(config, terminalUI, fakeExitHandler, fakeAppExaminer, fakeSSH) sshCommand = commandFactory.MakeSSHCommand() })
"golang.org/x/crypto/ssh" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("AppDialer", func() { Describe("#Dial", func() { var ( origDial func(network, addr string, config *ssh.ClientConfig) (*ssh.Client, error) config *config_package.Config ) BeforeEach(func() { config = config_package.New(nil) config.SetTarget("some-host") config.SetLogin("some-user", "some-password") origDial = sshapi.DialFunc }) AfterEach(func() { sshapi.DialFunc = origDial }) It("should create a client", func() { dialCalled := false sshClient := &ssh.Client{} sshapi.DialFunc = func(network, addr string, config *ssh.ClientConfig) (*ssh.Client, error) { Expect(network).To(Equal("tcp")) Expect(addr).To(Equal("some-host:2222"))
Describe("TargetCommand", func() { var targetCommand cli.Command verifyOldTargetStillSet := func() { newConfig := config_package.New(configPersister) Expect(newConfig.Load()).To(Succeed()) Expect(newConfig.Receptor()).To(Equal("http://*****:*****@receptor.oldtarget.com")) } BeforeEach(func() { commandFactory := command_factory.NewConfigCommandFactory(config, terminalUI, fakeTargetVerifier, fakeBlobStoreVerifier, fakeExitHandler, fakeVersionManager) targetCommand = commandFactory.MakeTargetCommand() config.SetTarget("oldtarget.com") config.SetLogin("olduser", "oldpass") Expect(config.Save()).To(Succeed()) }) Context("displaying the target", func() { JustBeforeEach(func() { test_helpers.ExecuteCommandWithArgs(targetCommand, []string{}) }) It("outputs the current user and target host", func() { Expect(outputBuffer).To(test_helpers.SayLine("Target:\t\[email protected]")) }) Context("when no username is set", func() { BeforeEach(func() {
) var _ = Describe("Config", func() { var ( testPersister *fakePersister testConfig *config.Config ) BeforeEach(func() { testPersister = &fakePersister{} testConfig = config.New(testPersister) }) Describe("Target", func() { It("sets the target", func() { testConfig.SetTarget("mynewapi.com") Expect(testConfig.Target()).To(Equal("mynewapi.com")) }) }) Describe("Username", func() { It("sets the target", func() { testConfig.SetLogin("ausername", "apassword") Expect(testConfig.Username()).To(Equal("ausername")) }) }) Describe("Receptor", func() { It("returns the Receptor with a username and password", func() {