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))
Beispiel #3
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)
Beispiel #5
0
		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"))
		})
	})