gitee.com/mirrors_opencollective/goreleaser@v0.45.0/pipeline/defaults/defaults_test.go (about) 1 package defaults 2 3 import ( 4 "testing" 5 6 "github.com/goreleaser/goreleaser/config" 7 "github.com/goreleaser/goreleaser/context" 8 "github.com/goreleaser/goreleaser/internal/testlib" 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestDescription(t *testing.T) { 13 assert.NotEmpty(t, Pipe{}.String()) 14 } 15 16 func TestFillBasicData(t *testing.T) { 17 _, back := testlib.Mktmp(t) 18 defer back() 19 testlib.GitInit(t) 20 testlib.GitRemoteAdd(t, "git@github.com:goreleaser/goreleaser.git") 21 22 var ctx = &context.Context{ 23 Config: config.Project{}, 24 } 25 26 assert.NoError(t, Pipe{}.Run(ctx)) 27 assert.Equal(t, "goreleaser", ctx.Config.Release.GitHub.Owner) 28 assert.Equal(t, "goreleaser", ctx.Config.Release.GitHub.Name) 29 assert.NotEmpty(t, ctx.Config.Builds) 30 assert.Equal(t, "goreleaser", ctx.Config.Builds[0].Binary) 31 assert.Equal(t, ".", ctx.Config.Builds[0].Main) 32 assert.Contains(t, ctx.Config.Builds[0].Goos, "darwin") 33 assert.Contains(t, ctx.Config.Builds[0].Goos, "linux") 34 assert.Contains(t, ctx.Config.Builds[0].Goarch, "386") 35 assert.Contains(t, ctx.Config.Builds[0].Goarch, "amd64") 36 assert.Equal(t, "tar.gz", ctx.Config.Archive.Format) 37 assert.Contains(t, ctx.Config.Brew.Install, "bin.install \"goreleaser\"") 38 assert.Empty(t, ctx.Config.Dockers) 39 assert.NotEmpty( 40 t, 41 ctx.Config.Archive.NameTemplate, 42 ctx.Config.Builds[0].Ldflags, 43 ctx.Config.Archive.Files, 44 ctx.Config.Dist, 45 ) 46 } 47 48 func TestFillPartial(t *testing.T) { 49 _, back := testlib.Mktmp(t) 50 defer back() 51 testlib.GitInit(t) 52 testlib.GitRemoteAdd(t, "git@github.com:goreleaser/goreleaser.git") 53 54 var ctx = &context.Context{ 55 Config: config.Project{ 56 Dist: "disttt", 57 Release: config.Release{ 58 GitHub: config.Repo{ 59 Owner: "goreleaser", 60 Name: "test", 61 }, 62 }, 63 Archive: config.Archive{ 64 Files: []string{ 65 "glob/*", 66 }, 67 }, 68 Builds: []config.Build{ 69 {Binary: "testreleaser"}, 70 {Goos: []string{"linux"}}, 71 { 72 Binary: "another", 73 Ignore: []config.IgnoredBuild{ 74 {Goos: "darwin", Goarch: "amd64"}, 75 }, 76 }, 77 }, 78 Dockers: []config.Docker{ 79 {Image: "a/b"}, 80 }, 81 }, 82 } 83 assert.NoError(t, Pipe{}.Run(ctx)) 84 assert.Len(t, ctx.Config.Archive.Files, 1) 85 assert.Equal(t, `bin.install "testreleaser"`, ctx.Config.Brew.Install) 86 assert.NotEmpty(t, ctx.Config.Dockers[0].Binary) 87 assert.NotEmpty(t, ctx.Config.Dockers[0].Goos) 88 assert.NotEmpty(t, ctx.Config.Dockers[0].Goarch) 89 assert.NotEmpty(t, ctx.Config.Dockers[0].Dockerfile) 90 assert.Empty(t, ctx.Config.Dockers[0].Goarm) 91 assert.Equal(t, "disttt", ctx.Config.Dist) 92 }