Skip to content

Commit 26323d2

Browse files
committed
Added tests
1 parent 4f54eea commit 26323d2

File tree

2 files changed

+41
-3
lines changed

2 files changed

+41
-3
lines changed

routers/api/v1/repo/release.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,6 @@ func EditRelease(ctx *context.APIContext) {
277277
if form.IsPrerelease != nil {
278278
rel.IsPrerelease = *form.IsPrerelease
279279
}
280-
// TODO: Support edit/delete attachments
281280
if err := releaseservice.UpdateReleaseOrCreatReleaseFromTag(ctx.User, ctx.Repo.GitRepo, rel, nil, nil, nil, false); err != nil {
282281
ctx.Error(http.StatusInternalServerError, "UpdateReleaseOrCreatReleaseFromTag", err)
283282
return

services/release/release_test.go

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package release
66

77
import (
88
"path/filepath"
9+
"strings"
910
"testing"
1011
"time"
1112

@@ -90,7 +91,13 @@ func TestRelease_Create(t *testing.T) {
9091
IsTag: false,
9192
}, nil, ""))
9293

93-
assert.NoError(t, CreateRelease(gitRepo, &models.Release{
94+
attach, err := models.NewAttachment(&models.Attachment{
95+
UploaderID: user.ID,
96+
Name: "test.txt",
97+
}, []byte{}, strings.NewReader("testtest"))
98+
assert.NoError(t, err)
99+
100+
var release = models.Release{
94101
RepoID: repo.ID,
95102
PublisherID: user.ID,
96103
TagName: "v0.1.5",
@@ -100,7 +107,8 @@ func TestRelease_Create(t *testing.T) {
100107
IsDraft: false,
101108
IsPrerelease: false,
102109
IsTag: true,
103-
}, nil, "test"))
110+
}
111+
assert.NoError(t, CreateRelease(gitRepo, &release, []string{attach.UUID}, "test"))
104112
}
105113

106114
func TestRelease_Update(t *testing.T) {
@@ -180,6 +188,37 @@ func TestRelease_Update(t *testing.T) {
180188
release, err = models.GetReleaseByID(release.ID)
181189
assert.NoError(t, err)
182190
assert.Equal(t, int64(releaseCreatedUnix), int64(release.CreatedUnix))
191+
192+
attach, err := models.NewAttachment(&models.Attachment{
193+
UploaderID: user.ID,
194+
Name: "test.txt",
195+
}, []byte{}, strings.NewReader("testtest"))
196+
assert.NoError(t, err)
197+
198+
// Add new attachments
199+
assert.NoError(t, UpdateReleaseOrCreatReleaseFromTag(user, gitRepo, release, []string{attach.UUID}, nil, nil, false))
200+
assert.NoError(t, models.GetReleaseAttachments(release))
201+
assert.EqualValues(t, 1, len(release.Attachments))
202+
assert.EqualValues(t, attach.UUID, release.Attachments[0].UUID)
203+
assert.EqualValues(t, release.ID, release.Attachments[0].ReleaseID)
204+
assert.EqualValues(t, attach.Name, release.Attachments[0].Name)
205+
206+
// update the attachment name
207+
assert.NoError(t, UpdateReleaseOrCreatReleaseFromTag(user, gitRepo, release, nil, nil, map[string]string{
208+
attach.UUID: "test2.txt",
209+
}, false))
210+
release.Attachments = nil
211+
assert.NoError(t, models.GetReleaseAttachments(release))
212+
assert.EqualValues(t, 1, len(release.Attachments))
213+
assert.EqualValues(t, attach.UUID, release.Attachments[0].UUID)
214+
assert.EqualValues(t, release.ID, release.Attachments[0].ReleaseID)
215+
assert.EqualValues(t, "test2.txt", release.Attachments[0].Name)
216+
217+
// delete the attachment
218+
assert.NoError(t, UpdateReleaseOrCreatReleaseFromTag(user, gitRepo, release, nil, []string{attach.UUID}, nil, false))
219+
release.Attachments = nil
220+
assert.NoError(t, models.GetReleaseAttachments(release))
221+
assert.EqualValues(t, 0, len(release.Attachments))
183222
}
184223

185224
func TestRelease_createTag(t *testing.T) {

0 commit comments

Comments
 (0)