1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-07-17 01:42:37 +02:00

initial test

This commit is contained in:
Carlos Alexandro Becker
2017-09-12 00:29:12 -03:00
parent 4c4b9ef42c
commit 7e1a4b4f94
2 changed files with 55 additions and 3 deletions

View File

@ -30,9 +30,6 @@ func (Pipe) Run(ctx *context.Context) error {
if len(ctx.Config.Dockers) == 0 || ctx.Config.Dockers[0].Image == "" {
return pipeline.Skip("docker section is not configured")
}
if ctx.Config.Release.Draft {
return pipeline.Skip("release is marked as draft")
}
_, err := exec.LookPath("docker")
if err != nil {
return ErrNoDocker
@ -79,6 +76,9 @@ func doRun(ctx *context.Context, folder string, docker config.Docker, binary con
if !ctx.Publish {
return pipeline.Skip("--skip-publish is set")
}
if ctx.Config.Release.Draft {
return pipeline.Skip("release is marked as draft")
}
if err := dockerPush(image); err != nil {
return err
}

View File

@ -0,0 +1,52 @@
package docker
import (
"os"
"testing"
"github.com/goreleaser/goreleaser/config"
"github.com/goreleaser/goreleaser/context"
"github.com/goreleaser/goreleaser/pipeline"
"github.com/tj/assert"
)
func TestDescription(t *testing.T) {
var assert = assert.New(t)
assert.NotEmpty(Pipe{}.Description())
}
func TestNoDockers(t *testing.T) {
var assert = assert.New(t)
assert.True(pipeline.IsSkip(Pipe{}.Run(context.New(config.Project{}))))
}
func TestNoDockerWithoutImageName(t *testing.T) {
var assert = assert.New(t)
assert.True(pipeline.IsSkip(Pipe{}.Run(context.New(config.Project{
Dockers: []config.Docker{
{
Goos: "linux",
},
},
}))))
}
func TestDockerNotInPath(t *testing.T) {
var assert = assert.New(t)
var path = os.Getenv("PATH")
defer func() {
assert.NoError(os.Setenv("PATH", path))
}()
assert.NoError(os.Setenv("PATH", ""))
var ctx = &context.Context{
Version: "1.0.0",
Config: config.Project{
Dockers: []config.Docker{
{
Image: "a/b",
},
},
},
}
assert.EqualError(Pipe{}.Run(ctx), ErrNoDocker.Error())
}