@@ -13,6 +13,7 @@ import (
13
13
"code.gitea.io/gitea/models/db"
14
14
access_model "code.gitea.io/gitea/models/perm/access"
15
15
repo_model "code.gitea.io/gitea/models/repo"
16
+ unit_model "code.gitea.io/gitea/models/unit"
16
17
"code.gitea.io/gitea/models/unittest"
17
18
user_model "code.gitea.io/gitea/models/user"
18
19
"code.gitea.io/gitea/modules/setting"
@@ -326,6 +327,39 @@ func TestAPIOrgRepos(t *testing.T) {
326
327
}
327
328
}
328
329
330
+ // See issue #28483. Tests to make sure we consider more than just code unit-enabled repositories.
331
+ func TestAPIOrgReposWithCodeUnitDisabled (t * testing.T ) {
332
+ defer tests .PrepareTestEnv (t )()
333
+ repo21 := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {Name : "repo21" })
334
+ org3 := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : repo21 .OwnerID })
335
+
336
+ // Disable code repository unit.
337
+ var units []unit_model.Type
338
+ units = append (units , unit_model .TypeCode )
339
+
340
+ if err := repo_service .UpdateRepositoryUnits (db .DefaultContext , repo21 , nil , units ); err != nil {
341
+ assert .Fail (t , "should have been able to delete code repository unit; failed to %v" , err )
342
+ }
343
+ assert .False (t , repo21 .UnitEnabled (db .DefaultContext , unit_model .TypeCode ))
344
+
345
+ session := loginUser (t , "user2" )
346
+ token := getTokenForLoggedInUser (t , session , auth_model .AccessTokenScopeReadOrganization )
347
+
348
+ req := NewRequestf (t , "GET" , "/api/v1/orgs/%s/repos" , org3 .Name ).
349
+ AddTokenAuth (token )
350
+
351
+ resp := MakeRequest (t , req , http .StatusOK )
352
+ var apiRepos []* api.Repository
353
+ DecodeJSON (t , resp , & apiRepos )
354
+
355
+ var repoNames []string
356
+ for _ , r := range apiRepos {
357
+ repoNames = append (repoNames , r .Name )
358
+ }
359
+
360
+ assert .Contains (t , repoNames , repo21 .Name )
361
+ }
362
+
329
363
func TestAPIGetRepoByIDUnauthorized (t * testing.T ) {
330
364
defer tests .PrepareTestEnv (t )()
331
365
user := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 4 })
0 commit comments