Ω(bucketName).Should(Equal("bucket-name"))
				Ω(remotePath).Should(Equal("folder-123/file.tgz"))
				Ω(localPath).Should(Equal(filepath.Join(sourceDir, "a/file-123.tgz")))

				Ω(response.Version.Path).Should(Equal("folder-123/file.tgz"))

				Ω(response.Metadata[0].Name).Should(Equal("filename"))
				Ω(response.Metadata[0].Value).Should(Equal("file.tgz"))
			})
		})

		Describe("output metadata", func() {
			BeforeEach(func() {
				s3client.URLStub = func(bucketName string, remotePath string, private bool, versionID string) string {
					return "http://example.com/" + filepath.Join(bucketName, remotePath)
				}
			})

			It("returns a response", func() {
				request.Params.From = "a/(.*).tgz"
				request.Params.To = "a-folder/"
				createFile("a/file.tgz")

				response, err := command.Run(sourceDir, request)
				Ω(err).ShouldNot(HaveOccurred())

				Ω(s3client.URLCallCount()).Should(Equal(1))
				bucketName, remotePath, private, versionID := s3client.URLArgsForCall(0)
				Ω(bucketName).Should(Equal("bucket-name"))
				Ω(remotePath).Should(Equal("a-folder/file.tgz"))