From 6f5ae33a7df7cd41337b5979751dcd8c9a10b99b Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Fri, 14 Apr 2017 14:06:50 -0300 Subject: [PATCH] more tests --- checksum/checksum_test.go | 42 ++++++++++++++++++++++++++++ pipeline/checksums/checksums_test.go | 24 +++++++++++++++- 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 checksum/checksum_test.go diff --git a/checksum/checksum_test.go b/checksum/checksum_test.go new file mode 100644 index 000000000..86e273dc4 --- /dev/null +++ b/checksum/checksum_test.go @@ -0,0 +1,42 @@ +package checksum + +import ( + "io/ioutil" + "os" + "path/filepath" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestChecksums(t *testing.T) { + var assert = assert.New(t) + folder, err := ioutil.TempDir("", "gorelasertest") + assert.NoError(err) + file, err := os.OpenFile( + filepath.Join(folder, "subject"), + os.O_APPEND|os.O_WRONLY|os.O_CREATE|os.O_EXCL, + 0600, + ) + assert.NoError(err) + _, err = file.WriteString("lorem ipsum") + assert.NoError(err) + assert.NoError(file.Close()) + t.Run("md5", func(t *testing.T) { + sum, err := MD5(file.Name()) + assert.NoError(err) + assert.Equal("80a751fde577028640c419000e33eba6", sum) + }) + t.Run("sha256", func(t *testing.T) { + sum, err := SHA256(file.Name()) + assert.NoError(err) + assert.Equal("5e2bf57d3f40c4b6df69daf1936cb766f832374b4fc0259a7cbff06e2f70f269", sum) + }) +} + +func TestOpenFailure(t *testing.T) { + var assert = assert.New(t) + sum, err := MD5("/tmp/this-file-wont-exist-I-hope") + assert.Empty(sum) + assert.Error(err) +} diff --git a/pipeline/checksums/checksums_test.go b/pipeline/checksums/checksums_test.go index 6ec1fe02a..15bd76b50 100644 --- a/pipeline/checksums/checksums_test.go +++ b/pipeline/checksums/checksums_test.go @@ -1,6 +1,9 @@ package checksums import ( + "io/ioutil" + "os" + "path/filepath" "testing" "github.com/goreleaser/goreleaser/config" @@ -14,8 +17,27 @@ func TestDescription(t *testing.T) { func TestBlah(t *testing.T) { var assert = assert.New(t) + folder, err := ioutil.TempDir("", "gorelasertest") + assert.NoError(err) + file, err := os.OpenFile( + filepath.Join(folder, "binary"), + os.O_APPEND|os.O_WRONLY|os.O_CREATE|os.O_EXCL, + 0600, + ) + assert.NoError(err) + _, err = file.WriteString("some string") + assert.NoError(err) + assert.NoError(file.Close()) var ctx = &context.Context{ - Config: config.Project{}, + Config: config.Project{ + Dist: folder, + }, } + ctx.AddArtifact(file.Name()) assert.NoError(Pipe{}.Run(ctx)) + assert.Len(ctx.Artifacts, 2) + bts, err := ioutil.ReadFile(filepath.Join(folder, "binary.checksums")) + assert.NoError(err) + assert.Contains(string(bts), "md5sum 5ac749fbeec93607fc28d666be85e73a") + assert.Contains(string(bts), "sha256sum 61d034473102d7dac305902770471fd50f4c5b26f6831a56dd90b5184b3c30fc") }