github.com/client9/goreleaser@v0.17.4-0.20170511023544-27e4b028926d/checksum/checksum_test.go (about) 1 package checksum 2 3 import ( 4 "crypto/sha256" 5 "io/ioutil" 6 "os" 7 "path/filepath" 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestChecksums(t *testing.T) { 14 var assert = assert.New(t) 15 folder, err := ioutil.TempDir("", "goreleasertest") 16 assert.NoError(err) 17 var file = filepath.Join(folder, "subject") 18 assert.NoError(ioutil.WriteFile(file, []byte("lorem ipsum"), 0644)) 19 sum, err := SHA256(file) 20 assert.NoError(err) 21 assert.Equal("5e2bf57d3f40c4b6df69daf1936cb766f832374b4fc0259a7cbff06e2f70f269", sum) 22 } 23 24 func TestOpenFailure(t *testing.T) { 25 var assert = assert.New(t) 26 sum, err := SHA256("/tmp/this-file-wont-exist-I-hope") 27 assert.Empty(sum) 28 assert.Error(err) 29 } 30 31 func TestFileDoesntExist(t *testing.T) { 32 var assert = assert.New(t) 33 folder, err := ioutil.TempDir("", "goreleasertest") 34 assert.NoError(err) 35 var path = filepath.Join(folder, "subject") 36 file, err := os.Create(path) 37 assert.NoError(err) 38 assert.NoError(file.Close()) 39 _, err = doCalculate(sha256.New(), file) 40 assert.Error(err) 41 }