It("imports the droplet", func() {
				test_helpers.ExecuteCommandWithArgs(importDropletCommand, []string{"droplet-name", dropletPathArg, metadataPathArg})

				Expect(outputBuffer).To(test_helpers.SayLine("Imported droplet-name"))

				Expect(fakeDropletRunner.ImportDropletCallCount()).To(Equal(1))
				dropletName, dropletPath, metadataPath := fakeDropletRunner.ImportDropletArgsForCall(0)
				Expect(dropletName).To(Equal("droplet-name"))
				Expect(dropletPath).To(Equal(dropletPathArg))
				Expect(metadataPath).To(Equal(metadataPathArg))
			})

			Context("when the droplet runner returns an error", func() {
				It("prints the error message", func() {
					fakeDropletRunner.ImportDropletReturns(errors.New("dont tread on me"))

					test_helpers.ExecuteCommandWithArgs(importDropletCommand, []string{"droplet-name", dropletPathArg, metadataPathArg})

					Expect(outputBuffer).To(test_helpers.SayLine("Error importing droplet-name: dont tread on me"))
					Expect(fakeDropletRunner.ImportDropletCallCount()).To(Equal(1))
					Expect(fakeExitHandler.ExitCalledWith).To(Equal([]int{exit_codes.CommandFailed}))
				})
			})
		})

		Context("when required arguments are missing", func() {
			It("prints incorrect usage", func() {
				test_helpers.ExecuteCommandWithArgs(importDropletCommand, []string{"droplet-name", "some-path"})

				Expect(outputBuffer).To(test_helpers.SayIncorrectUsage())