1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-19 20:57:53 +02:00

fix: wip fixing artifactory

This commit is contained in:
Carlos Alexandro Becker 2017-12-17 19:19:44 -02:00
parent d4b84becd7
commit 8a0b484cab
No known key found for this signature in database
GPG Key ID: E61E2F7DC14AB940

View File

@ -11,6 +11,7 @@ import (
"github.com/goreleaser/goreleaser/config" "github.com/goreleaser/goreleaser/config"
"github.com/goreleaser/goreleaser/context" "github.com/goreleaser/goreleaser/context"
"github.com/goreleaser/goreleaser/internal/artifact"
"github.com/goreleaser/goreleaser/pipeline" "github.com/goreleaser/goreleaser/pipeline"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
@ -175,16 +176,10 @@ func TestRunPipe_ModeBinary(t *testing.T) {
"ARTIFACTORY_PRODUCTION-US_SECRET": "deployuser-secret", "ARTIFACTORY_PRODUCTION-US_SECRET": "deployuser-secret",
"ARTIFACTORY_PRODUCTION-EU_SECRET": "productionuser-apikey", "ARTIFACTORY_PRODUCTION-EU_SECRET": "productionuser-apikey",
}, },
Artifacts: artifact.New(),
Config: config.Project{ Config: config.Project{
ProjectName: "mybin", ProjectName: "mybin",
Dist: dist, Dist: dist,
Builds: []config.Build{
{
Env: []string{"CGO_ENABLED=0"},
Goos: []string{"linux", "darwin"},
Goarch: []string{"amd64"},
},
},
Artifactories: []config.Artifactory{ Artifactories: []config.Artifactory{
{ {
Name: "production-us", Name: "production-us",
@ -201,8 +196,16 @@ func TestRunPipe_ModeBinary(t *testing.T) {
}, },
}, },
} }
for _, plat := range []string{"linuxamd64", "linux386", "darwinamd64"} { for _, os := range []string{"linux", "darwin"} {
ctx.AddBinary(plat, "mybin", "mybin", binPath) for _, arch := range []string{"amd64", "386"} {
ctx.Artifacts.Add(artifact.Artifact{
Name: "mybin",
Path: binPath,
Goarch: arch,
Goos: os,
Type: artifact.UploadableBinary,
})
}
} }
assert.NoError(t, Pipe{}.Run(ctx)) assert.NoError(t, Pipe{}.Run(ctx))
@ -223,6 +226,7 @@ func TestRunPipe_ModeArchive(t *testing.T) {
Version: "1.0.0", Version: "1.0.0",
Publish: true, Publish: true,
Parallelism: 4, Parallelism: 4,
Artifacts: artifact.New(),
Env: map[string]string{ Env: map[string]string{
"ARTIFACTORY_PRODUCTION_SECRET": "deployuser-secret", "ARTIFACTORY_PRODUCTION_SECRET": "deployuser-secret",
}, },
@ -240,8 +244,16 @@ func TestRunPipe_ModeArchive(t *testing.T) {
}, },
} }
ctx.AddArtifact(tarfile.Name()) ctx.Artifacts.Add(artifact.Artifact{
ctx.AddArtifact(debfile.Name()) Type: artifact.UploadableArchive,
Name: "bin.tar.gz",
Path: tarfile.Name(),
})
ctx.Artifacts.Add(artifact.Artifact{
Type: artifact.LinuxPackage,
Name: "bin.deb",
Path: debfile.Name(),
})
// Dummy artifactories // Dummy artifactories
mux.HandleFunc("/example-repo-local/goreleaser/1.0.0/bin.tar.gz", func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc("/example-repo-local/goreleaser/1.0.0/bin.tar.gz", func(w http.ResponseWriter, r *http.Request) {
@ -308,19 +320,13 @@ func TestRunPipe_TargetTemplateError(t *testing.T) {
Version: "1.0.0", Version: "1.0.0",
Publish: true, Publish: true,
Parallelism: 4, Parallelism: 4,
Artifacts: artifact.New(),
Env: map[string]string{ Env: map[string]string{
"ARTIFACTORY_PRODUCTION_SECRET": "deployuser-secret", "ARTIFACTORY_PRODUCTION_SECRET": "deployuser-secret",
}, },
Config: config.Project{ Config: config.Project{
ProjectName: "mybin", ProjectName: "mybin",
Dist: dist, Dist: dist,
Builds: []config.Build{
{
Env: []string{"CGO_ENABLED=0"},
Goos: []string{"darwin"},
Goarch: []string{"amd64"},
},
},
Artifactories: []config.Artifactory{ Artifactories: []config.Artifactory{
{ {
Name: "production", Name: "production",
@ -332,9 +338,15 @@ func TestRunPipe_TargetTemplateError(t *testing.T) {
}, },
}, },
} }
ctx.AddBinary("darwinamd64", "mybin", "mybin", binPath) ctx.Artifacts.Add(artifact.Artifact{
Name: "mybin",
Path: binPath,
Goarch: "amd64",
Goos: "darwin",
Type: artifact.UploadableBinary,
})
assert.Error(t, Pipe{}.Run(ctx)) assert.EqualError(t, Pipe{}.Run(ctx), `artifactory: error while building the target url: template: mybin:1: unexpected "/" in operand`)
} }
func TestRunPipe_BadCredentials(t *testing.T) { func TestRunPipe_BadCredentials(t *testing.T) {
@ -370,6 +382,7 @@ func TestRunPipe_BadCredentials(t *testing.T) {
var ctx = &context.Context{ var ctx = &context.Context{
Version: "1.0.0", Version: "1.0.0",
Publish: true, Publish: true,
Artifacts: artifact.New(),
Parallelism: 4, Parallelism: 4,
Env: map[string]string{ Env: map[string]string{
"ARTIFACTORY_PRODUCTION_SECRET": "deployuser-secret", "ARTIFACTORY_PRODUCTION_SECRET": "deployuser-secret",
@ -377,13 +390,6 @@ func TestRunPipe_BadCredentials(t *testing.T) {
Config: config.Project{ Config: config.Project{
ProjectName: "mybin", ProjectName: "mybin",
Dist: dist, Dist: dist,
Builds: []config.Build{
{
Env: []string{"CGO_ENABLED=0"},
Goos: []string{"darwin"},
Goarch: []string{"amd64"},
},
},
Artifactories: []config.Artifactory{ Artifactories: []config.Artifactory{
{ {
Name: "production", Name: "production",
@ -394,13 +400,17 @@ func TestRunPipe_BadCredentials(t *testing.T) {
}, },
}, },
} }
for _, plat := range []string{"darwinamd64"} { ctx.Artifacts.Add(artifact.Artifact{
ctx.AddBinary(plat, "mybin", "mybin", binPath) Name: "mybin",
} Path: binPath,
Goarch: "amd64",
Goos: "darwin",
Type: artifact.UploadableBinary,
})
err = Pipe{}.Run(ctx) err = Pipe{}.Run(ctx)
assert.Error(t, err) assert.Error(t, err)
assert.True(t, len(err.Error()) > 0) assert.Contains(t, err.Error(), "Bad credentials")
} }
func TestRunPipe_UnparsableErrorResponse(t *testing.T) { func TestRunPipe_UnparsableErrorResponse(t *testing.T) {
@ -439,16 +449,10 @@ func TestRunPipe_UnparsableErrorResponse(t *testing.T) {
Env: map[string]string{ Env: map[string]string{
"ARTIFACTORY_PRODUCTION_SECRET": "deployuser-secret", "ARTIFACTORY_PRODUCTION_SECRET": "deployuser-secret",
}, },
Artifacts: artifact.New(),
Config: config.Project{ Config: config.Project{
ProjectName: "mybin", ProjectName: "mybin",
Dist: dist, Dist: dist,
Builds: []config.Build{
{
Env: []string{"CGO_ENABLED=0"},
Goos: []string{"darwin"},
Goarch: []string{"amd64"},
},
},
Artifactories: []config.Artifactory{ Artifactories: []config.Artifactory{
{ {
Name: "production", Name: "production",
@ -459,11 +463,15 @@ func TestRunPipe_UnparsableErrorResponse(t *testing.T) {
}, },
}, },
} }
for _, plat := range []string{"darwinamd64"} { ctx.Artifacts.Add(artifact.Artifact{
ctx.AddBinary(plat, "mybin", "mybin", binPath) Name: "mybin",
} Path: binPath,
Goarch: "amd64",
Goos: "darwin",
Type: artifact.UploadableBinary,
})
assert.Error(t, Pipe{}.Run(ctx)) assert.EqualError(t, Pipe{}.Run(ctx), `artifactory: upload failed: invalid character '.' looking for beginning of value`)
} }
func TestRunPipe_UnparsableResponse(t *testing.T) { func TestRunPipe_UnparsableResponse(t *testing.T) {
@ -501,16 +509,10 @@ func TestRunPipe_UnparsableResponse(t *testing.T) {
Env: map[string]string{ Env: map[string]string{
"ARTIFACTORY_PRODUCTION_SECRET": "deployuser-secret", "ARTIFACTORY_PRODUCTION_SECRET": "deployuser-secret",
}, },
Artifacts: artifact.New(),
Config: config.Project{ Config: config.Project{
ProjectName: "mybin", ProjectName: "mybin",
Dist: dist, Dist: dist,
Builds: []config.Build{
{
Env: []string{"CGO_ENABLED=0"},
Goos: []string{"darwin"},
Goarch: []string{"amd64"},
},
},
Artifactories: []config.Artifactory{ Artifactories: []config.Artifactory{
{ {
Name: "production", Name: "production",
@ -521,9 +523,15 @@ func TestRunPipe_UnparsableResponse(t *testing.T) {
}, },
}, },
} }
ctx.AddBinary("darwinamd64", "mybin", "mybin", binPath) ctx.Artifacts.Add(artifact.Artifact{
Name: "mybin",
Path: binPath,
Goarch: "amd64",
Goos: "darwin",
Type: artifact.Binary,
})
assert.Error(t, Pipe{}.Run(ctx)) assert.EqualError(t, Pipe{}.Run(ctx), `asd`)
} }
func TestRunPipe_WithoutBinaryTarget(t *testing.T) { func TestRunPipe_WithoutBinaryTarget(t *testing.T) {
@ -541,13 +549,6 @@ func TestRunPipe_WithoutBinaryTarget(t *testing.T) {
Config: config.Project{ Config: config.Project{
ProjectName: "mybin", ProjectName: "mybin",
Dist: dist, Dist: dist,
Builds: []config.Build{
{
Env: []string{"CGO_ENABLED=0"},
Goos: []string{"darwin"},
Goarch: []string{"amd64"},
},
},
Artifactories: []config.Artifactory{ Artifactories: []config.Artifactory{
{ {
Name: "production", Name: "production",
@ -573,13 +574,6 @@ func TestRunPipe_NoFile(t *testing.T) {
Config: config.Project{ Config: config.Project{
ProjectName: "mybin", ProjectName: "mybin",
Dist: "archivetest/dist", Dist: "archivetest/dist",
Builds: []config.Build{
{
Env: []string{"CGO_ENABLED=0"},
Goos: []string{"darwin"},
Goarch: []string{"amd64"},
},
},
Artifactories: []config.Artifactory{ Artifactories: []config.Artifactory{
{ {
Name: "production", Name: "production",
@ -590,7 +584,13 @@ func TestRunPipe_NoFile(t *testing.T) {
}, },
}, },
} }
ctx.AddBinary("darwinamd64", "mybin", "mybin", "archivetest/dist/mybin/mybin") ctx.Artifacts.Add(artifact.Artifact{
Name: "mybin",
Path: "archivetest/dist/mybin/mybin",
Goarch: "amd64",
Goos: "darwin",
Type: artifact.Binary,
})
assert.Error(t, Pipe{}.Run(ctx)) assert.Error(t, Pipe{}.Run(ctx))
} }
@ -616,13 +616,6 @@ func TestRunPipe_UnparsableTarget(t *testing.T) {
Config: config.Project{ Config: config.Project{
ProjectName: "mybin", ProjectName: "mybin",
Dist: dist, Dist: dist,
Builds: []config.Build{
{
Env: []string{"CGO_ENABLED=0"},
Goos: []string{"darwin"},
Goarch: []string{"amd64"},
},
},
Artifactories: []config.Artifactory{ Artifactories: []config.Artifactory{
{ {
Name: "production", Name: "production",
@ -633,9 +626,13 @@ func TestRunPipe_UnparsableTarget(t *testing.T) {
}, },
}, },
} }
for _, plat := range []string{"darwinamd64"} { ctx.Artifacts.Add(artifact.Artifact{
ctx.AddBinary(plat, "mybin", "mybin", binPath) Name: "mybin",
} Path: binPath,
Goarch: "amd64",
Goos: "darwin",
Type: artifact.Binary,
})
assert.Error(t, Pipe{}.Run(ctx)) assert.Error(t, Pipe{}.Run(ctx))
} }
@ -679,13 +676,6 @@ func TestRunPipe_DirUpload(t *testing.T) {
Config: config.Project{ Config: config.Project{
ProjectName: "mybin", ProjectName: "mybin",
Dist: dist, Dist: dist,
Builds: []config.Build{
{
Env: []string{"CGO_ENABLED=0"},
Goos: []string{"darwin"},
Goarch: []string{"amd64"},
},
},
Artifactories: []config.Artifactory{ Artifactories: []config.Artifactory{
{ {
Name: "production", Name: "production",
@ -696,9 +686,13 @@ func TestRunPipe_DirUpload(t *testing.T) {
}, },
}, },
} }
for _, plat := range []string{"darwinamd64"} { ctx.Artifacts.Add(artifact.Artifact{
ctx.AddBinary(plat, "mybin", "mybin", binPath) Name: "mybin",
} Path: binPath,
Goarch: "amd64",
Goos: "darwin",
Type: artifact.Binary,
})
assert.Error(t, Pipe{}.Run(ctx)) assert.Error(t, Pipe{}.Run(ctx))
} }