{ ID: github.Int(1), Draft: github.Bool(true), }, { ID: github.Int(112), TagName: github.String("some-tag-name"), Assets: []github.ReleaseAsset{existingAssets[0]}, Draft: github.Bool(false), }, } BeforeEach(func() { githubClient.ListReleasesReturns(existingReleases, nil) githubClient.ListReleaseAssetsReturns(existingAssets, nil) namePath := filepath.Join(sourcesDir, "name") bodyPath := filepath.Join(sourcesDir, "body") tagPath := filepath.Join(sourcesDir, "tag") file(namePath, "v0.3.12") file(bodyPath, "this is a great release") file(tagPath, "some-tag-name") request = resource.OutRequest{ Params: resource.OutParams{ NamePath: "name", BodyPath: "body", TagPath: "tag", },
buildAsset := func(id int, name string) github.ReleaseAsset { return github.ReleaseAsset{ ID: github.Int(id), Name: &name, } } Context("when there is a tagged release", func() { Context("when a present version is specified", func() { BeforeEach(func() { githubClient.GetReleaseByTagReturns(buildRelease(1, "v0.35.0", false), nil) githubClient.ListReleaseAssetsReturns([]github.ReleaseAsset{ buildAsset(0, "example.txt"), buildAsset(1, "example.rtf"), buildAsset(2, "example.wtf"), }, nil) inRequest.Version = &resource.Version{ Tag: "v0.35.0", } }) Context("when valid asset filename globs are given", func() { BeforeEach(func() { inRequest.Params = resource.InParams{ Globs: []string{"*.txt", "*.rtf"}, } })