It("has some sweet metadata", func() { inResponse, inErr = command.Run(destDir, inRequest) Ω(inResponse.Metadata).Should(ConsistOf( resource.MetadataPair{Name: "url", Value: "http://google.com"}, resource.MetadataPair{Name: "name", Value: "release-name", URL: "http://google.com"}, resource.MetadataPair{Name: "body", Value: "*markdown*", Markdown: true}, resource.MetadataPair{Name: "tag", Value: "v0.35.0"}, )) }) It("calls #GetReleastByTag with the correct arguments", func() { command.Run(destDir, inRequest) Ω(githubClient.GetReleaseByTagArgsForCall(0)).Should(Equal("v0.35.0")) }) It("downloads only the files that match the globs", func() { inResponse, inErr = command.Run(destDir, inRequest) Expect(githubClient.DownloadReleaseAssetCallCount()).To(Equal(2)) Ω(githubClient.DownloadReleaseAssetArgsForCall(0)).Should(Equal(buildAsset(0, "example.txt"))) Ω(githubClient.DownloadReleaseAssetArgsForCall(1)).Should(Equal(buildAsset(1, "example.rtf"))) }) It("does create the tag and version files", func() { inResponse, inErr = command.Run(destDir, inRequest) contents, err := ioutil.ReadFile(path.Join(destDir, "tag")) Ω(err).ShouldNot(HaveOccurred())