mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-01-10 03:47:03 +02:00
9b4cf40ef6
assert.NotEmpty() was being used as if it would check multiple arguments. In actuality, it checks the second argument and, if it determines that it is empty, fails the test with an error message containing all subsequent arguments.
95 lines
2.7 KiB
Go
95 lines
2.7 KiB
Go
package defaults
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/goreleaser/goreleaser/config"
|
|
"github.com/goreleaser/goreleaser/context"
|
|
"github.com/goreleaser/goreleaser/internal/testlib"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestDescription(t *testing.T) {
|
|
assert.NotEmpty(t, Pipe{}.String())
|
|
}
|
|
|
|
func TestFillBasicData(t *testing.T) {
|
|
_, back := testlib.Mktmp(t)
|
|
defer back()
|
|
testlib.GitInit(t)
|
|
testlib.GitRemoteAdd(t, "git@github.com:goreleaser/goreleaser.git")
|
|
|
|
var ctx = &context.Context{
|
|
Config: config.Project{},
|
|
}
|
|
|
|
assert.NoError(t, Pipe{}.Run(ctx))
|
|
assert.Equal(t, "goreleaser", ctx.Config.Release.GitHub.Owner)
|
|
assert.Equal(t, "goreleaser", ctx.Config.Release.GitHub.Name)
|
|
assert.NotEmpty(t, ctx.Config.Builds)
|
|
assert.Equal(t, "goreleaser", ctx.Config.Builds[0].Binary)
|
|
assert.Equal(t, ".", ctx.Config.Builds[0].Main)
|
|
assert.Contains(t, ctx.Config.Builds[0].Goos, "darwin")
|
|
assert.Contains(t, ctx.Config.Builds[0].Goos, "linux")
|
|
assert.Contains(t, ctx.Config.Builds[0].Goarch, "386")
|
|
assert.Contains(t, ctx.Config.Builds[0].Goarch, "amd64")
|
|
assert.Equal(t, "tar.gz", ctx.Config.Archive.Format)
|
|
assert.Contains(t, ctx.Config.Brew.Install, "bin.install \"goreleaser\"")
|
|
assert.Empty(t, ctx.Config.Dockers)
|
|
assert.Equal(t, "https://github.com", ctx.Config.GitHubURLs.Download)
|
|
assert.NotEmpty(t, ctx.Config.Archive.NameTemplate)
|
|
assert.NotEmpty(t, ctx.Config.Builds[0].Ldflags)
|
|
assert.NotEmpty(t, ctx.Config.Archive.Files)
|
|
assert.NotEmpty(t, ctx.Config.Dist)
|
|
}
|
|
|
|
func TestFillPartial(t *testing.T) {
|
|
_, back := testlib.Mktmp(t)
|
|
defer back()
|
|
testlib.GitInit(t)
|
|
testlib.GitRemoteAdd(t, "git@github.com:goreleaser/goreleaser.git")
|
|
|
|
var ctx = &context.Context{
|
|
Config: config.Project{
|
|
GitHubURLs: config.GitHubURLs{
|
|
Download: "https://github.company.com",
|
|
},
|
|
Dist: "disttt",
|
|
Release: config.Release{
|
|
GitHub: config.Repo{
|
|
Owner: "goreleaser",
|
|
Name: "test",
|
|
},
|
|
},
|
|
Archive: config.Archive{
|
|
Files: []string{
|
|
"glob/*",
|
|
},
|
|
},
|
|
Builds: []config.Build{
|
|
{Binary: "testreleaser"},
|
|
{Goos: []string{"linux"}},
|
|
{
|
|
Binary: "another",
|
|
Ignore: []config.IgnoredBuild{
|
|
{Goos: "darwin", Goarch: "amd64"},
|
|
},
|
|
},
|
|
},
|
|
Dockers: []config.Docker{
|
|
{Image: "a/b"},
|
|
},
|
|
},
|
|
}
|
|
assert.NoError(t, Pipe{}.Run(ctx))
|
|
assert.Len(t, ctx.Config.Archive.Files, 1)
|
|
assert.Equal(t, `bin.install "testreleaser"`, ctx.Config.Brew.Install)
|
|
assert.NotEmpty(t, ctx.Config.Dockers[0].Binary)
|
|
assert.NotEmpty(t, ctx.Config.Dockers[0].Goos)
|
|
assert.NotEmpty(t, ctx.Config.Dockers[0].Goarch)
|
|
assert.NotEmpty(t, ctx.Config.Dockers[0].Dockerfile)
|
|
assert.Empty(t, ctx.Config.Dockers[0].Goarm)
|
|
assert.Equal(t, "disttt", ctx.Config.Dist)
|
|
assert.NotEqual(t, "https://github.com", ctx.Config.GitHubURLs.Download)
|
|
}
|