terminalUI = terminal.NewUI(stdinReader, outputBuffer, nil) config = config_package.New(persister.NewMemPersister()) }) Describe("TargetBlobCommand", func() { var targetBlobCommand cli.Command BeforeEach(func() { commandFactory := command_factory.NewConfigCommandFactory(config, terminalUI, fakeTargetVerifier, fakeExitHandler) targetBlobCommand = commandFactory.MakeTargetBlobCommand() }) Context("displaying the blob target", func() { It("outputs the current target", func() { config.SetBlobTarget("192.168.11.11", 8980, "datkeyyo", "supersecretJKJK", "bucket") config.Save() test_helpers.ExecuteCommandWithArgs(targetBlobCommand, []string{}) Expect(outputBuffer).To(test_helpers.Say("Blob Target:\t192.168.11.11:8980\n")) Expect(outputBuffer).To(test_helpers.Say("Access Key:\tdatkeyyo")) Expect(outputBuffer).To(test_helpers.Say("Secret Key:\tsupersecretJKJK")) Expect(outputBuffer).To(test_helpers.Say("Bucket Name:\tbucket")) }) It("alerts the user if no target is set", func() { config.SetBlobTarget("", 0, "", "", "") config.Save() test_helpers.ExecuteCommandWithArgs(targetBlobCommand, []string{})
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.Say("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()) Expect(fakeTargetVerifier.VerifyTargetCallCount()).To(Equal(0))
}) }) Describe("Loggregator", func() { It("provides the loggregator doppler path", func() { testConfig.SetTarget("mytestapi.com") Expect(testConfig.Loggregator()).To(Equal("doppler.mytestapi.com")) }) }) Describe("Save", func() { It("Saves the target with the persistor", func() { testConfig.SetTarget("mynewapi.com") testConfig.SetLogin("testusername", "testpassword") Expect(testConfig.Save()).To(Succeed()) Expect(testPersister.target).To(Equal("mynewapi.com")) Expect(testPersister.username).To(Equal("testusername")) Expect(testPersister.password).To(Equal("testpassword")) }) It("returns errors from the persistor", func() { testPersister.err = errors.New("Error") err := testConfig.Save() Expect(err).To(MatchError("Error")) }) }) Describe("Load", func() {
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.Say("ltc: 'do_it' is not a registered command. See 'ltc help'\n\n")) 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") cliConfig.Save() commandRan := false cliApp.Commands = []cli.Command{ cli.Command{ Name: config_command_factory.TargetCommandName, Action: func(ctx *cli.Context) { commandRan = true }, }, } cliAppArgs := []string{"ltc", config_command_factory.TargetCommandName} err := cliApp.Run(cliAppArgs)
It("provides the loggregator doppler path", func() { testConfig.SetTarget("mytestapi.com") Expect(testConfig.Loggregator()).To(Equal("doppler.mytestapi.com")) }) }) Describe("Save", func() { It("Saves the target with the persistor", func() { fakePersister := &fakePersister{} testConfig = config.New(fakePersister) testConfig.SetTarget("mynewapi.com") testConfig.SetLogin("testusername", "testpassword") testConfig.Save() Expect(fakePersister.target).To(Equal("mynewapi.com")) Expect(fakePersister.username).To(Equal("testusername")) Expect(fakePersister.password).To(Equal("testpassword")) }) It("returns errors from the persistor", func() { testConfig = config.New(&fakePersister{err: errors.New("Error")}) err := testConfig.Save() Expect(err).To(MatchError("Error")) }) })