You've already forked go-semantic-release
test(internal/releaser/util): add test for PrepareAssets
This commit is contained in:
1
go.mod
1
go.mod
@@ -4,6 +4,7 @@ go 1.12
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/Masterminds/semver v1.4.2
|
github.com/Masterminds/semver v1.4.2
|
||||||
|
github.com/coreos/etcd v3.3.10+incompatible
|
||||||
github.com/gliderlabs/ssh v0.2.2 // indirect
|
github.com/gliderlabs/ssh v0.2.2 // indirect
|
||||||
github.com/google/go-cmp v0.3.0 // indirect
|
github.com/google/go-cmp v0.3.0 // indirect
|
||||||
github.com/google/go-github/v25 v25.1.3
|
github.com/google/go-github/v25 v25.1.3
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/Nightapes/go-semantic-release/pkg/config"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|
||||||
"github.com/Nightapes/go-semantic-release/internal/releaser/util"
|
"github.com/Nightapes/go-semantic-release/internal/releaser/util"
|
||||||
@@ -41,3 +43,77 @@ func TestGetAccessToken(t *testing.T) {
|
|||||||
os.Unsetenv(envName)
|
os.Unsetenv(envName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type testDoubleFiles struct {
|
||||||
|
testFiles []config.Asset
|
||||||
|
valid bool
|
||||||
|
}
|
||||||
|
|
||||||
|
var files = []testDoubleFiles{
|
||||||
|
testDoubleFiles{
|
||||||
|
testFiles: []config.Asset{
|
||||||
|
config.Asset{
|
||||||
|
Name: "file0",
|
||||||
|
Compress: true,
|
||||||
|
},
|
||||||
|
config.Asset{
|
||||||
|
Name: "file1",
|
||||||
|
Compress: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
valid: true,
|
||||||
|
},
|
||||||
|
testDoubleFiles{
|
||||||
|
testFiles: []config.Asset{
|
||||||
|
config.Asset{
|
||||||
|
Name: "",
|
||||||
|
Compress: true,
|
||||||
|
},
|
||||||
|
config.Asset{
|
||||||
|
Name: "",
|
||||||
|
Compress: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
valid: false,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestPrepareAssets(t *testing.T) {
|
||||||
|
for _, testObject := range files {
|
||||||
|
workDir, _ := os.Getwd()
|
||||||
|
filesToDelete := []string{}
|
||||||
|
|
||||||
|
for _, testFile := range testObject.testFiles {
|
||||||
|
|
||||||
|
if testFile.Name != "" {
|
||||||
|
filesToDelete = append(filesToDelete, testFile.Name)
|
||||||
|
|
||||||
|
file, err := os.Create(testFile.Name)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Print(err.Error())
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
if testFile.Compress {
|
||||||
|
filesToDelete = append(filesToDelete, testFile.Name+".zip")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
preparedFiles, err := util.PrepareAssets(workDir, testObject.testFiles)
|
||||||
|
|
||||||
|
if err == nil {
|
||||||
|
assert.Equal(t, 2, len(preparedFiles))
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.Equal(t, testObject.valid, err == nil)
|
||||||
|
|
||||||
|
for _, file := range filesToDelete {
|
||||||
|
if err := os.Remove(file); err != nil {
|
||||||
|
fmt.Println(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user