You've already forked go-semantic-release
feat(assets): calculate checksum for all assets and upload it
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/Nightapes/go-semantic-release/internal/assets"
|
||||
"github.com/Nightapes/go-semantic-release/internal/gitutil"
|
||||
"github.com/Nightapes/go-semantic-release/internal/shared"
|
||||
"github.com/Nightapes/go-semantic-release/pkg/config"
|
||||
@@ -64,7 +65,7 @@ func (g *Client) GetCompareURL(oldVersion, newVersion string) string {
|
||||
}
|
||||
|
||||
// CreateRelease creates release on remote
|
||||
func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog) error {
|
||||
func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog, _ *assets.Container) error {
|
||||
|
||||
tag := "v" + releaseVersion.Next.Version.String()
|
||||
g.log.Infof("create release with version %s", tag)
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/Nightapes/go-semantic-release/internal/assets"
|
||||
"github.com/Nightapes/go-semantic-release/internal/releaser/util"
|
||||
"github.com/Nightapes/go-semantic-release/internal/shared"
|
||||
"github.com/Nightapes/go-semantic-release/pkg/config"
|
||||
@@ -78,7 +79,16 @@ func (g *Client) GetCompareURL(oldVersion, newVersion string) string {
|
||||
}
|
||||
|
||||
// CreateRelease creates release on remote
|
||||
func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog) error {
|
||||
func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog, assets *assets.Container) error {
|
||||
err := g.makeRelease(releaseVersion, generatedChangelog)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return g.uploadAssets(assets)
|
||||
}
|
||||
|
||||
// CreateRelease creates release on remote
|
||||
func (g *Client) makeRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog) error {
|
||||
|
||||
tag := "v" + releaseVersion.Next.Version.String()
|
||||
g.log.Debugf("create release with version %s", tag)
|
||||
@@ -107,15 +117,14 @@ func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedC
|
||||
}
|
||||
|
||||
// UploadAssets uploads specified assets
|
||||
func (g *Client) UploadAssets(repoDir string, assets []config.Asset) error {
|
||||
func (g *Client) uploadAssets(assets *assets.Container) error {
|
||||
if g.release != nil {
|
||||
filesToUpload, err := util.PrepareAssets(repoDir, assets)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, f := range filesToUpload {
|
||||
|
||||
file, err := os.Open(*f)
|
||||
for _, asset := range assets.All() {
|
||||
path, err := asset.GetPath()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
file, err := os.Open(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package github_test
|
||||
package github
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
@@ -11,7 +11,6 @@ import (
|
||||
|
||||
"github.com/Masterminds/semver"
|
||||
|
||||
"github.com/Nightapes/go-semantic-release/internal/releaser/github"
|
||||
"github.com/Nightapes/go-semantic-release/internal/shared"
|
||||
"github.com/Nightapes/go-semantic-release/pkg/config"
|
||||
"github.com/stretchr/testify/assert"
|
||||
@@ -123,7 +122,7 @@ func TestNew(t *testing.T) {
|
||||
os.Setenv("GITHUB_TOKEN", "XXX")
|
||||
}
|
||||
|
||||
_, err := github.New(&testOject.config, true)
|
||||
_, err := New(&testOject.config, true)
|
||||
assert.Equal(t, testOject.valid, err == nil)
|
||||
|
||||
os.Unsetenv("GITHUB_TOKEN")
|
||||
@@ -134,7 +133,7 @@ func TestNew(t *testing.T) {
|
||||
func TestGetCommitURL(t *testing.T) {
|
||||
os.Setenv("GITHUB_TOKEN", "XX")
|
||||
for _, testOject := range testNewClient {
|
||||
client, _ := github.New(&testOject.config, false)
|
||||
client, _ := New(&testOject.config, false)
|
||||
actualURL := client.GetCommitURL()
|
||||
if testOject.config.CustomURL != "" {
|
||||
expectedURL := fmt.Sprintf("%s/%s/%s/commit/{{hash}}", testOject.config.CustomURL, testOject.config.User, testOject.config.Repo)
|
||||
@@ -152,7 +151,7 @@ func TestGetCommitURL(t *testing.T) {
|
||||
func TestGetCompareURL(t *testing.T) {
|
||||
os.Setenv("GITHUB_TOKEN", "XX")
|
||||
for _, testOject := range testNewClient {
|
||||
client, _ := github.New(&testOject.config, false)
|
||||
client, _ := New(&testOject.config, false)
|
||||
actualURL := client.GetCompareURL("1", "2")
|
||||
if testOject.config.CustomURL != "" {
|
||||
expectedURL := fmt.Sprintf("%s/%s/%s/compare/%s...%s", testOject.config.CustomURL, testOject.config.User, testOject.config.Repo, "1", "2")
|
||||
@@ -174,9 +173,9 @@ func TestCreateRelease(t *testing.T) {
|
||||
if testObejct.valid {
|
||||
server := initHTTPServer(testObejct.requestResponseCode, testObejct.requestResponseBody)
|
||||
testObejct.config.CustomURL = server.URL
|
||||
client, _ := github.New(&testObejct.config, false)
|
||||
client, _ := New(&testObejct.config, false)
|
||||
|
||||
err := client.CreateRelease(testObejct.releaseVersion, testObejct.generatedChangelog)
|
||||
err := client.makeRelease(testObejct.releaseVersion, testObejct.generatedChangelog)
|
||||
if err != nil {
|
||||
t.Log(err)
|
||||
}
|
||||
@@ -186,9 +185,9 @@ func TestCreateRelease(t *testing.T) {
|
||||
|
||||
} else {
|
||||
testObejct.config.CustomURL = "http://foo"
|
||||
client, _ := github.New(&testObejct.config, false)
|
||||
client, _ := New(&testObejct.config, false)
|
||||
|
||||
err := client.CreateRelease(testObejct.releaseVersion, testObejct.generatedChangelog)
|
||||
err := client.makeRelease(testObejct.releaseVersion, testObejct.generatedChangelog)
|
||||
if err != nil {
|
||||
t.Log(err)
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/Nightapes/go-semantic-release/internal/assets"
|
||||
"github.com/Nightapes/go-semantic-release/internal/releaser/util"
|
||||
"github.com/Nightapes/go-semantic-release/internal/shared"
|
||||
"github.com/Nightapes/go-semantic-release/pkg/config"
|
||||
@@ -86,7 +87,16 @@ func (g *Client) GetCompareURL(oldVersion, newVersion string) string {
|
||||
}
|
||||
|
||||
// CreateRelease creates release on remote
|
||||
func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog) error {
|
||||
func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog, assets *assets.Container) error {
|
||||
err := g.makeRelease(releaseVersion, generatedChangelog)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return g.uploadAssets(assets)
|
||||
}
|
||||
|
||||
// CreateRelease creates release on remote
|
||||
func (g *Client) makeRelease(releaseVersion *shared.ReleaseVersion, generatedChangelog *shared.GeneratedChangelog) error {
|
||||
|
||||
tag := "v" + releaseVersion.Next.Version.String()
|
||||
g.Release = tag
|
||||
@@ -126,15 +136,13 @@ func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedC
|
||||
return nil
|
||||
}
|
||||
|
||||
// UploadAssets uploads specified assets
|
||||
func (g *Client) UploadAssets(repoDir string, assets []config.Asset) error {
|
||||
filesToUpload, err := util.PrepareAssets(repoDir, assets)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, f := range filesToUpload {
|
||||
|
||||
file, err := os.Open(*f)
|
||||
func (g *Client) uploadAssets(assets *assets.Container) error {
|
||||
for _, asset := range assets.All() {
|
||||
path, err := asset.GetPath()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
file, err := os.Open(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -151,9 +159,9 @@ func (g *Client) UploadAssets(repoDir string, assets []config.Asset) error {
|
||||
|
||||
g.log.Infof("Uploaded file %s to gitlab can be downloaded under %s", file.Name(), downloadURL)
|
||||
|
||||
path := fmt.Sprintf("%s/projects/%s/releases/%s/assets/links?name=%s&url=%s", g.apiURL, util.PathEscape(g.config.Repo), g.Release, util.PathEscape(fileInfo.Name()), downloadURL)
|
||||
uploadURL := fmt.Sprintf("%s/projects/%s/releases/%s/assets/links?name=%s&url=%s", g.apiURL, util.PathEscape(g.config.Repo), g.Release, util.PathEscape(fileInfo.Name()), downloadURL)
|
||||
|
||||
req, err := http.NewRequest("POST", path, nil)
|
||||
req, err := http.NewRequest("POST", uploadURL, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package gitlab_test
|
||||
package gitlab
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
log "github.com/sirupsen/logrus"
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/Nightapes/go-semantic-release/internal/releaser/gitlab"
|
||||
"github.com/Nightapes/go-semantic-release/internal/assets"
|
||||
"github.com/Nightapes/go-semantic-release/internal/shared"
|
||||
"github.com/Nightapes/go-semantic-release/pkg/config"
|
||||
)
|
||||
@@ -21,7 +21,7 @@ import (
|
||||
func TestGetCommitURL(t *testing.T) {
|
||||
os.Setenv("GITLAB_ACCESS_TOKEN", "XXX")
|
||||
defer os.Unsetenv("GITLAB_ACCESS_TOKEN")
|
||||
client, err := gitlab.New(&config.GitLabProvider{
|
||||
client, err := New(&config.GitLabProvider{
|
||||
CustomURL: "https://localhost/",
|
||||
Repo: "test/test",
|
||||
}, true)
|
||||
@@ -32,7 +32,7 @@ func TestGetCommitURL(t *testing.T) {
|
||||
func TestGetCompareURL(t *testing.T) {
|
||||
os.Setenv("GITLAB_ACCESS_TOKEN", "XXX")
|
||||
defer os.Unsetenv("GITLAB_ACCESS_TOKEN")
|
||||
client, err := gitlab.New(&config.GitLabProvider{
|
||||
client, err := New(&config.GitLabProvider{
|
||||
CustomURL: "https://localhost/",
|
||||
Repo: "test/test",
|
||||
}, true)
|
||||
@@ -43,7 +43,7 @@ func TestGetCompareURL(t *testing.T) {
|
||||
func TestValidateConfig_EmptyRepro(t *testing.T) {
|
||||
os.Setenv("GITLAB_ACCESS_TOKEN", "XXX")
|
||||
defer os.Unsetenv("GITLAB_ACCESS_TOKEN")
|
||||
_, err := gitlab.New(&config.GitLabProvider{
|
||||
_, err := New(&config.GitLabProvider{
|
||||
CustomURL: "https://localhost/",
|
||||
}, true)
|
||||
assert.Error(t, err)
|
||||
@@ -55,7 +55,7 @@ func TestValidateConfig_DefaultURL(t *testing.T) {
|
||||
config := &config.GitLabProvider{
|
||||
Repo: "localhost/test",
|
||||
}
|
||||
_, err := gitlab.New(config, true)
|
||||
_, err := New(config, true)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "https://gitlab.com", config.CustomURL)
|
||||
}
|
||||
@@ -67,7 +67,7 @@ func TestValidateConfig_CustomURL(t *testing.T) {
|
||||
Repo: "/localhost/test/",
|
||||
CustomURL: "https://localhost/",
|
||||
}
|
||||
_, err := gitlab.New(config, true)
|
||||
_, err := New(config, true)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "https://localhost", config.CustomURL)
|
||||
assert.Equal(t, "localhost/test", config.Repo)
|
||||
@@ -190,10 +190,10 @@ func TestCreateRelease(t *testing.T) {
|
||||
}
|
||||
os.Setenv("GITLAB_ACCESS_TOKEN", "aToken")
|
||||
defer os.Unsetenv("GITLAB_ACCESS_TOKEN")
|
||||
client, err := gitlab.New(&testObject.config, false)
|
||||
client, err := New(&testObject.config, false)
|
||||
assert.NoError(t, err)
|
||||
|
||||
err = client.CreateRelease(testObject.releaseVersion, testObject.generatedChangelog)
|
||||
err = client.makeRelease(testObject.releaseVersion, testObject.generatedChangelog)
|
||||
if err != nil {
|
||||
t.Log(err)
|
||||
}
|
||||
@@ -317,11 +317,16 @@ func TestUploadAssets(t *testing.T) {
|
||||
}
|
||||
os.Setenv("GITLAB_ACCESS_TOKEN", "aToken")
|
||||
defer os.Unsetenv("GITLAB_ACCESS_TOKEN")
|
||||
client, err := gitlab.New(&testObject.config, false)
|
||||
client, err := New(&testObject.config, false)
|
||||
assert.NoError(t, err)
|
||||
client.Release = "1.0.0"
|
||||
|
||||
err = client.UploadAssets(testObject.testDir, testObject.assets)
|
||||
assets := assets.New(testObject.testDir, "")
|
||||
err = assets.Add(testObject.assets...)
|
||||
if err != nil {
|
||||
t.Log(err)
|
||||
}
|
||||
err = client.uploadAssets(assets)
|
||||
if err != nil {
|
||||
t.Log(err)
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package releaser
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/Nightapes/go-semantic-release/internal/assets"
|
||||
"github.com/Nightapes/go-semantic-release/internal/gitutil"
|
||||
"github.com/Nightapes/go-semantic-release/internal/releaser/git"
|
||||
"github.com/Nightapes/go-semantic-release/internal/releaser/github"
|
||||
@@ -21,8 +22,7 @@ type Releasers struct {
|
||||
|
||||
// Releaser interface for providers
|
||||
type Releaser interface {
|
||||
CreateRelease(*shared.ReleaseVersion, *shared.GeneratedChangelog) error
|
||||
UploadAssets(repoDir string, assets []config.Asset) error
|
||||
CreateRelease(*shared.ReleaseVersion, *shared.GeneratedChangelog, *assets.Container) error
|
||||
GetCommitURL() string
|
||||
GetCompareURL(oldVersion, newVersion string) string
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
"archive/zip"
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
@@ -11,7 +10,6 @@ import (
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/Nightapes/go-semantic-release/pkg/config"
|
||||
log "github.com/sirupsen/logrus"
|
||||
"golang.org/x/oauth2"
|
||||
)
|
||||
@@ -62,74 +60,78 @@ func GetAccessToken(envName string) (string, error) {
|
||||
return token, nil
|
||||
}
|
||||
|
||||
// PrepareAssets prepare all files before uploading
|
||||
func PrepareAssets(repository string, assets []config.Asset) ([]*string, error) {
|
||||
filesToUpload := []*string{}
|
||||
for _, asset := range assets {
|
||||
if asset.Name == "" {
|
||||
return nil, fmt.Errorf("asset name declaration is empty, please check your configuration file")
|
||||
} else if asset.Compress {
|
||||
log.Debugf("Asset %s will now be compressed", asset.Name)
|
||||
log.Debugf("Repo url %s", repository)
|
||||
zipNameWithPath, err := zipFile(repository, asset.Name)
|
||||
if err != nil {
|
||||
return filesToUpload, err
|
||||
}
|
||||
filesToUpload = append(filesToUpload, &zipNameWithPath)
|
||||
} else {
|
||||
tmpFileName := fmt.Sprintf("%s/%s", repository, asset.Name)
|
||||
filesToUpload = append(filesToUpload, &tmpFileName)
|
||||
}
|
||||
log.Debugf("Add asset %s to files to upload", asset.Name)
|
||||
}
|
||||
return filesToUpload, nil
|
||||
}
|
||||
// // PrepareAssets prepare all files before uploading
|
||||
// func PrepareAssets(repository string, assets []config.Asset) ([]*string, error) {
|
||||
// filesToUpload := []*string{}
|
||||
// for _, asset := range assets {
|
||||
// if asset.Name != "" && asset.Path == "" {
|
||||
// log.Warn("Name is deprecated. Please update your config. See https://nightapes.github.io/go-semantic-release/")
|
||||
// }
|
||||
|
||||
// ZipFile compress given file in zip format
|
||||
func zipFile(repository string, file string) (string, error) {
|
||||
// if asset.Path == "" {
|
||||
// return nil, fmt.Errorf("asset path declaration is empty, please check your configuration file")
|
||||
// } else if asset.Compress {
|
||||
// log.Debugf("Asset %s will now be compressed", asset.Name)
|
||||
// log.Debugf("Repo url %s", repository)
|
||||
// zipNameWithPath, err := zipFile(repository, asset.Name)
|
||||
// if err != nil {
|
||||
// return filesToUpload, err
|
||||
// }
|
||||
// filesToUpload = append(filesToUpload, &zipNameWithPath)
|
||||
// } else {
|
||||
// tmpFileName := fmt.Sprintf("%s/%s", repository, asset.Name)
|
||||
// filesToUpload = append(filesToUpload, &tmpFileName)
|
||||
// }
|
||||
// log.Debugf("Add asset %s to files to upload", asset.Name)
|
||||
// }
|
||||
// return filesToUpload, nil
|
||||
// }
|
||||
|
||||
fileToZip, err := os.Open(repository + "/" + file)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
defer fileToZip.Close()
|
||||
// // ZipFile compress given file in zip format
|
||||
// func zipFile(repository string, file string) (string, error) {
|
||||
|
||||
zipFileName := fmt.Sprintf("%s/%s.zip", strings.TrimSuffix(repository, "/"), file)
|
||||
zipFile, err := os.Create(zipFileName)
|
||||
// fileToZip, err := os.Open(repository + "/" + file)
|
||||
// if err != nil {
|
||||
// return "", err
|
||||
// }
|
||||
// defer fileToZip.Close()
|
||||
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
log.Debugf("Created zipfile %s", zipFile.Name())
|
||||
// zipFileName := fmt.Sprintf("%s/%s.zip", strings.TrimSuffix(repository, "/"), file)
|
||||
// zipFile, err := os.Create(zipFileName)
|
||||
|
||||
defer zipFile.Close()
|
||||
// if err != nil {
|
||||
// return "", err
|
||||
// }
|
||||
// log.Debugf("Created zipfile %s", zipFile.Name())
|
||||
|
||||
fileToZipInfo, err := fileToZip.Stat()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
// defer zipFile.Close()
|
||||
|
||||
zipWriter := zip.NewWriter(zipFile)
|
||||
defer zipWriter.Close()
|
||||
// fileToZipInfo, err := fileToZip.Stat()
|
||||
// if err != nil {
|
||||
// return "", err
|
||||
// }
|
||||
|
||||
fileToZipHeader, err := zip.FileInfoHeader(fileToZipInfo)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
// zipWriter := zip.NewWriter(zipFile)
|
||||
// defer zipWriter.Close()
|
||||
|
||||
fileToZipHeader.Name = fileToZipInfo.Name()
|
||||
// fileToZipHeader, err := zip.FileInfoHeader(fileToZipInfo)
|
||||
// if err != nil {
|
||||
// return "", err
|
||||
// }
|
||||
|
||||
fileToZipWriter, err := zipWriter.CreateHeader(fileToZipHeader)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
// fileToZipHeader.Name = fileToZipInfo.Name()
|
||||
|
||||
if _, err = io.Copy(fileToZipWriter, fileToZip); err != nil {
|
||||
return "", err
|
||||
}
|
||||
// fileToZipWriter, err := zipWriter.CreateHeader(fileToZipHeader)
|
||||
// if err != nil {
|
||||
// return "", err
|
||||
// }
|
||||
|
||||
return zipFileName, nil
|
||||
}
|
||||
// if _, err = io.Copy(fileToZipWriter, fileToZip); err != nil {
|
||||
// return "", err
|
||||
// }
|
||||
|
||||
// return zipFileName, nil
|
||||
// }
|
||||
|
||||
//PathEscape to be url save
|
||||
func PathEscape(s string) string {
|
||||
|
||||
@@ -13,8 +13,6 @@ import (
|
||||
|
||||
log "github.com/sirupsen/logrus"
|
||||
|
||||
"github.com/Nightapes/go-semantic-release/pkg/config"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/Nightapes/go-semantic-release/internal/releaser/util"
|
||||
@@ -50,80 +48,6 @@ func TestGetAccessToken(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
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())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestShouldRetry(t *testing.T) {
|
||||
assert.True(t, util.ShouldRetry(&http.Response{StatusCode: 429}))
|
||||
assert.False(t, util.ShouldRetry(&http.Response{StatusCode: 200}))
|
||||
|
||||
Reference in New Issue
Block a user