Skip to content

Commit 46cd47d

Browse files
committed
fix test
1 parent f563bdf commit 46cd47d

File tree

4 files changed

+13
-4
lines changed

4 files changed

+13
-4
lines changed

models/organization/org.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ func HasOrgOrUserVisible(ctx context.Context, orgOrUser, user *user_model.User)
429429
return true
430430
}
431431

432-
if orgOrUser.Visibility == structs.VisibleTypePublic {
432+
if !setting.Service.RequireSignInViewStrict && orgOrUser.Visibility == structs.VisibleTypePublic {
433433
return true
434434
}
435435

models/perm/access/access.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"code.gitea.io/gitea/models/perm"
1414
repo_model "code.gitea.io/gitea/models/repo"
1515
user_model "code.gitea.io/gitea/models/user"
16+
"code.gitea.io/gitea/modules/setting"
1617
"code.gitea.io/gitea/modules/structs"
1718

1819
"xorm.io/builder"
@@ -46,7 +47,7 @@ func accessLevel(ctx context.Context, user *user_model.User, repo *repo_model.Re
4647
return mode, err
4748
}
4849

49-
repoIsFullyPublic := repo.Owner.Visibility == structs.VisibleTypePublic && !repo.IsPrivate
50+
repoIsFullyPublic := !setting.Service.RequireSignInViewStrict && repo.Owner.Visibility == structs.VisibleTypePublic && !repo.IsPrivate
5051
if (restricted && repoIsFullyPublic) || (!restricted && !repo.IsPrivate) {
5152
mode = perm.AccessModeRead
5253
}

models/perm/access/access_test.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
repo_model "code.gitea.io/gitea/models/repo"
1313
"code.gitea.io/gitea/models/unittest"
1414
user_model "code.gitea.io/gitea/models/user"
15+
"code.gitea.io/gitea/modules/setting"
1516

1617
"github.com/stretchr/testify/assert"
1718
)
@@ -51,7 +52,14 @@ func TestAccessLevel(t *testing.T) {
5152
assert.NoError(t, err)
5253
assert.Equal(t, perm_model.AccessModeNone, level)
5354

54-
// restricted user has no access to a public repo
55+
// restricted user has no access to a public repo if no sign-in is required
56+
setting.Service.RequireSignInViewStrict = false
57+
level, err = access_model.AccessLevel(t.Context(), user29, repo1)
58+
assert.NoError(t, err)
59+
assert.Equal(t, perm_model.AccessModeRead, level)
60+
61+
// restricted user has no access to a public repo if sign-in is required
62+
setting.Service.RequireSignInViewStrict = true
5563
level, err = access_model.AccessLevel(t.Context(), user29, repo1)
5664
assert.NoError(t, err)
5765
assert.Equal(t, perm_model.AccessModeNone, level)

models/repo/repo_list.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -687,7 +687,7 @@ func AccessibleRepositoryCondition(user *user_model.User, unitType unit.Type) bu
687687
if !user.IsRestricted {
688688
// 5. Be able to see all public repos in private organizations that we are an org_user of
689689
cond = cond.Or(userOrgPublicRepoCond(user.ID))
690-
} else {
690+
} else if !setting.Service.RequireSignInViewStrict {
691691
orgVisibilityLimit := []structs.VisibleType{structs.VisibleTypePrivate, structs.VisibleTypeLimited}
692692
cond = userAllPublicRepoCond(cond, orgVisibilityLimit)
693693
}

0 commit comments

Comments
 (0)