@@ -6,6 +6,7 @@ package release
6
6
7
7
import (
8
8
"path/filepath"
9
+ "strings"
9
10
"testing"
10
11
"time"
11
12
@@ -90,7 +91,13 @@ func TestRelease_Create(t *testing.T) {
90
91
IsTag : false ,
91
92
}, nil , "" ))
92
93
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 {
94
101
RepoID : repo .ID ,
95
102
PublisherID : user .ID ,
96
103
TagName : "v0.1.5" ,
@@ -100,7 +107,8 @@ func TestRelease_Create(t *testing.T) {
100
107
IsDraft : false ,
101
108
IsPrerelease : false ,
102
109
IsTag : true ,
103
- }, nil , "test" ))
110
+ }
111
+ assert .NoError (t , CreateRelease (gitRepo , & release , []string {attach .UUID }, "test" ))
104
112
}
105
113
106
114
func TestRelease_Update (t * testing.T ) {
@@ -180,6 +188,37 @@ func TestRelease_Update(t *testing.T) {
180
188
release , err = models .GetReleaseByID (release .ID )
181
189
assert .NoError (t , err )
182
190
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 ))
183
222
}
184
223
185
224
func TestRelease_createTag (t * testing.T ) {
0 commit comments