github.com/marianogappa/goreleaser@v0.26.2-0.20170715090149-96acd0a9fc46/config/config_test.go (about)

     1  package config
     2  
     3  import (
     4  	"fmt"
     5  	"io/ioutil"
     6  	"os"
     7  	"path/filepath"
     8  	"strings"
     9  	"testing"
    10  
    11  	"github.com/stretchr/testify/assert"
    12  )
    13  
    14  func TestRepo(t *testing.T) {
    15  	var assert = assert.New(t)
    16  	r := Repo{Owner: "goreleaser", Name: "godownloader"}
    17  	assert.Equal("goreleaser/godownloader", r.String(), "not equal")
    18  }
    19  
    20  func TestLoadReader(t *testing.T) {
    21  	var conf = `
    22  fpm:
    23    homepage: http://goreleaser.github.io
    24  `
    25  	var assert = assert.New(t)
    26  	buf := strings.NewReader(conf)
    27  	prop, err := LoadReader(buf)
    28  
    29  	assert.Nil(err)
    30  	assert.Equal("http://goreleaser.github.io", prop.FPM.Homepage, "yaml did not load correctly")
    31  }
    32  
    33  type errorReader struct{}
    34  
    35  func (errorReader) Read(p []byte) (n int, err error) {
    36  	return 1, fmt.Errorf("error")
    37  }
    38  func TestLoadBadReader(t *testing.T) {
    39  	var assert = assert.New(t)
    40  	_, err := LoadReader(errorReader{})
    41  	assert.Error(err)
    42  }
    43  
    44  func TestFile(t *testing.T) {
    45  	var assert = assert.New(t)
    46  	f, err := ioutil.TempFile(os.TempDir(), "config")
    47  	assert.NoError(err)
    48  	_, err = Load(filepath.Join(f.Name()))
    49  	assert.NoError(err)
    50  }
    51  
    52  func TestFileNotFound(t *testing.T) {
    53  	var assert = assert.New(t)
    54  	_, err := Load("/nope/no-way.yml")
    55  	assert.Error(err)
    56  }
    57  
    58  func TestInvalidFields(t *testing.T) {
    59  	var assert = assert.New(t)
    60  	_, err := Load("testdata/invalid_config.yml")
    61  	assert.EqualError(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")
    62  }