mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-01-10 03:47:03 +02:00
492a018b7f
Artifactory is an universal Artifact Repository Manager by JFrog. See https://www.jfrog.com/artifactory/ It is available in an OSS and Enterprise version. Many companies using this internally to store, manage and distribute binaries within their internal infrastructure. It adds basic support to push all generated binaries into an Artifactory. Basic means only the built artifacts. Without checksums or archives. As an authentication only Basic auth is supported by this Pipe. See #344
69 lines
2.0 KiB
Go
69 lines
2.0 KiB
Go
package config
|
|
|
|
import (
|
|
"fmt"
|
|
"io/ioutil"
|
|
"os"
|
|
"path/filepath"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestRepo(t *testing.T) {
|
|
assert.Equal(
|
|
t,
|
|
"goreleaser/godownloader",
|
|
Repo{Owner: "goreleaser", Name: "godownloader"}.String(),
|
|
)
|
|
}
|
|
|
|
func TestEmptyRepoNameAndOwner(t *testing.T) {
|
|
assert.Empty(t, Repo{}.String())
|
|
}
|
|
|
|
func TestLoadReader(t *testing.T) {
|
|
var conf = `
|
|
fpm:
|
|
homepage: http://goreleaser.github.io
|
|
`
|
|
buf := strings.NewReader(conf)
|
|
prop, err := LoadReader(buf)
|
|
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, "http://goreleaser.github.io", prop.FPM.Homepage, "yaml did not load correctly")
|
|
}
|
|
|
|
type errorReader struct{}
|
|
|
|
func (errorReader) Read(p []byte) (n int, err error) {
|
|
return 1, fmt.Errorf("error")
|
|
}
|
|
func TestLoadBadReader(t *testing.T) {
|
|
_, err := LoadReader(errorReader{})
|
|
assert.Error(t, err)
|
|
}
|
|
|
|
func TestFile(t *testing.T) {
|
|
f, err := ioutil.TempFile(os.TempDir(), "config")
|
|
assert.NoError(t, err)
|
|
_, err = Load(filepath.Join(f.Name()))
|
|
assert.NoError(t, err)
|
|
}
|
|
|
|
func TestFileNotFound(t *testing.T) {
|
|
_, err := Load("/nope/no-way.yml")
|
|
assert.Error(t, err)
|
|
}
|
|
|
|
func TestInvalidFields(t *testing.T) {
|
|
_, err := Load("testdata/invalid_config.yml")
|
|
assert.EqualError(t, err, "unknown fields in the config file: invalid_root, archive.invalid_archive, archive.format_overrides[0].invalid_archive_fmtoverrides, brew.invalid_brew, brew.github.invalid_brew_github, builds[0].invalid_builds, builds[0].hooks.invalid_builds_hooks, builds[0].ignored_builds[0].invalid_builds_ignore, fpm.invalid_fpm, release.invalid_release, release.github.invalid_release_github, build.invalid_build, builds.hooks.invalid_build_hook, builds.ignored_builds[0].invalid_build_ignore, snapshot.invalid_snapshot, docker[0].invalid_docker, artifactory[0].invalid_artifactory, changelog.invalid_changelog, changelog.filters.invalid_filters")
|
|
}
|
|
|
|
func TestInvalidYaml(t *testing.T) {
|
|
_, err := Load("testdata/invalid.yml")
|
|
assert.EqualError(t, err, "yaml: line 1: did not find expected node content")
|
|
}
|