mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-02-09 13:36:56 +02:00
improved config package test coverage
This commit is contained in:
parent
6ea93d173d
commit
b9d644db55
@ -6,6 +6,8 @@ import (
|
||||
"io"
|
||||
"io/ioutil"
|
||||
|
||||
"os"
|
||||
|
||||
yaml "gopkg.in/yaml.v1"
|
||||
)
|
||||
|
||||
@ -111,15 +113,14 @@ type Project struct {
|
||||
|
||||
// Load config file
|
||||
func Load(file string) (config Project, err error) {
|
||||
data, err := ioutil.ReadFile(file)
|
||||
f, err := os.Open(file)
|
||||
if err != nil {
|
||||
return config, err
|
||||
return
|
||||
}
|
||||
err = yaml.Unmarshal(data, &config)
|
||||
return
|
||||
return LoadReader(f)
|
||||
}
|
||||
|
||||
// Load config via io.Reader
|
||||
// LoadReader config via io.Reader
|
||||
func LoadReader(fd io.Reader) (config Project, err error) {
|
||||
data, err := ioutil.ReadAll(fd)
|
||||
if err != nil {
|
||||
|
@ -1,9 +1,14 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"fmt"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
@ -26,3 +31,28 @@ fpm:
|
||||
assert.Nil(err)
|
||||
assert.Equal("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) {
|
||||
var assert = assert.New(t)
|
||||
_, err := LoadReader(errorReader{})
|
||||
assert.Error(err)
|
||||
}
|
||||
|
||||
func TestFile(t *testing.T) {
|
||||
var assert = assert.New(t)
|
||||
f, err := ioutil.TempFile(os.TempDir(), "config")
|
||||
assert.NoError(err)
|
||||
_, err = Load(filepath.Join(f.Name()))
|
||||
assert.NoError(err)
|
||||
}
|
||||
|
||||
func TestFileNotFound(t *testing.T) {
|
||||
var assert = assert.New(t)
|
||||
_, err := Load("/nope/no-way.yml")
|
||||
assert.Error(err)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user