@@ -130,11 +130,14 @@ func getNewRepoEditOption(opts *api.EditRepoOption) *api.EditRepoOption {
130
130
131
131
func TestAPIRepoEdit (t * testing.T ) {
132
132
onGiteaRun (t , func (t * testing.T , u * url.URL ) {
133
+ bFalse , bTrue := false , true
134
+
133
135
user2 := models .AssertExistsAndLoadBean (t , & models.User {ID : 2 }).(* models.User ) // owner of the repo1 & repo16
134
136
user3 := models .AssertExistsAndLoadBean (t , & models.User {ID : 3 }).(* models.User ) // owner of the repo3, is an org
135
137
user4 := models .AssertExistsAndLoadBean (t , & models.User {ID : 4 }).(* models.User ) // owner of neither repos
136
138
repo1 := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 1 }).(* models.Repository ) // public repo
137
139
repo3 := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 3 }).(* models.Repository ) // public repo
140
+ repo15 := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 15 }).(* models.Repository ) // empty repo
138
141
repo16 := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 16 }).(* models.Repository ) // private repo
139
142
140
143
// Get user2's token
@@ -286,21 +289,33 @@ func TestAPIRepoEdit(t *testing.T) {
286
289
// Test making a repo public that is private
287
290
repo16 = models .AssertExistsAndLoadBean (t , & models.Repository {ID : 16 }).(* models.Repository )
288
291
assert .True (t , repo16 .IsPrivate )
289
- private := false
290
292
repoEditOption = & api.EditRepoOption {
291
- Private : & private ,
293
+ Private : & bFalse ,
292
294
}
293
295
url = fmt .Sprintf ("/api/v1/repos/%s/%s?token=%s" , user2 .Name , repo16 .Name , token2 )
294
296
req = NewRequestWithJSON (t , "PATCH" , url , & repoEditOption )
295
297
_ = session .MakeRequest (t , req , http .StatusOK )
296
298
repo16 = models .AssertExistsAndLoadBean (t , & models.Repository {ID : 16 }).(* models.Repository )
297
299
assert .False (t , repo16 .IsPrivate )
298
300
// Make it private again
299
- private = true
300
- repoEditOption .Private = & private
301
+ repoEditOption .Private = & bTrue
301
302
req = NewRequestWithJSON (t , "PATCH" , url , & repoEditOption )
302
303
_ = session .MakeRequest (t , req , http .StatusOK )
303
304
305
+ // Test to change empty repo
306
+ assert .False (t , repo15 .IsArchived )
307
+ url = fmt .Sprintf ("/api/v1/repos/%s/%s?token=%s" , user2 .Name , repo15 .Name , token2 )
308
+ req = NewRequestWithJSON (t , "PATCH" , url , & api.EditRepoOption {
309
+ Archived : & bTrue ,
310
+ })
311
+ _ = session .MakeRequest (t , req , http .StatusOK )
312
+ repo15 = models .AssertExistsAndLoadBean (t , & models.Repository {ID : 15 }).(* models.Repository )
313
+ assert .True (t , repo15 .IsArchived )
314
+ req = NewRequestWithJSON (t , "PATCH" , url , & api.EditRepoOption {
315
+ Archived : & bFalse ,
316
+ })
317
+ _ = session .MakeRequest (t , req , http .StatusOK )
318
+
304
319
// Test using org repo "user3/repo3" where user2 is a collaborator
305
320
origRepoEditOption = getRepoEditOptionFromRepo (repo3 )
306
321
repoEditOption = getNewRepoEditOption (origRepoEditOption )
0 commit comments