request.Version.Path = "" s3client.BucketFilesReturns([]string{ "files/a-file-0.0.1.tgz", "files/a-file-3.53.tgz", "files/a-file-2.33.333.tgz", "files/a-file-2.4.3.tgz", }, nil) }) It("scans the bucket for the latest file to download", func() { _, err := command.Run(destDir, request) Ω(err).ShouldNot(HaveOccurred()) Ω(s3client.DownloadFileCallCount()).Should(Equal(1)) bucketName, remotePath, localPath := s3client.DownloadFileArgsForCall(0) Ω(bucketName).Should(Equal("bucket-name")) Ω(remotePath).Should(Equal("files/a-file-3.53.tgz")) Ω(localPath).Should(Equal(filepath.Join(destDir, "a-file-3.53.tgz"))) }) Context("when using a CloudFront domain", func() { BeforeEach(func() { request.Source.CloudfrontURL = "https://1234567890.cloudfront.net" }) It("creates a 'url' file that contains the URL including the CloudFront domain", func() { urlPath := filepath.Join(destDir, "url") Ω(urlPath).ShouldNot(ExistOnFilesystem())