github.com/szyn/goreleaser@v0.76.1-0.20180517112710-333da09a1297/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 folder, err := ioutil.TempDir("", "goreleasertest") 15 assert.NoError(t, err) 16 var file = filepath.Join(folder, "subject") 17 assert.NoError(t, ioutil.WriteFile(file, []byte("lorem ipsum"), 0644)) 18 sum, err := SHA256(file) 19 assert.NoError(t, err) 20 assert.Equal(t, "5e2bf57d3f40c4b6df69daf1936cb766f832374b4fc0259a7cbff06e2f70f269", sum) 21 } 22 23 func TestOpenFailure(t *testing.T) { 24 sum, err := SHA256("/tmp/this-file-wont-exist-I-hope") 25 assert.Empty(t, sum) 26 assert.Error(t, err) 27 } 28 29 func TestFileDoesntExist(t *testing.T) { 30 folder, err := ioutil.TempDir("", "goreleasertest") 31 assert.NoError(t, err) 32 var path = filepath.Join(folder, "subject") 33 file, err := os.Create(path) 34 assert.NoError(t, err) 35 assert.NoError(t, file.Close()) 36 _, err = doCalculate(sha256.New(), file) 37 assert.Error(t, err) 38 }