MCPcopy Create free account
hub / github.com/gogs/gogs / permsAccessMode

Function permsAccessMode

internal/database/permissions_test.go:43–152  ·  view source on GitHub ↗
(t *testing.T, ctx context.Context, s *PermissionsStore)

Source from the content-addressed store, hash-verified

41}
42
43func permsAccessMode(t *testing.T, ctx context.Context, s *PermissionsStore) {
44 // Set up permissions
45 err := s.SetRepoPerms(ctx, 1,
46 map[int64]AccessMode{
47 2: AccessModeWrite,
48 3: AccessModeAdmin,
49 },
50 )
51 require.NoError(t, err)
52 err = s.SetRepoPerms(ctx, 2,
53 map[int64]AccessMode{
54 1: AccessModeRead,
55 },
56 )
57 require.NoError(t, err)
58
59 publicRepoID := int64(1)
60 publicRepoOpts := AccessModeOptions{
61 OwnerID: 98,
62 }
63
64 privateRepoID := int64(2)
65 privateRepoOpts := AccessModeOptions{
66 OwnerID: 99,
67 Private: true,
68 }
69
70 tests := []struct {
71 name string
72 userID int64
73 repoID int64
74 opts AccessModeOptions
75 wantAccessMode AccessMode
76 }{
77 {
78 name: "nil repository",
79 wantAccessMode: AccessModeNone,
80 },
81
82 {
83 name: "anonymous user has read access to public repository",
84 repoID: publicRepoID,
85 opts: publicRepoOpts,
86 wantAccessMode: AccessModeRead,
87 },
88 {
89 name: "anonymous user has no access to private repository",
90 repoID: privateRepoID,
91 opts: privateRepoOpts,
92 wantAccessMode: AccessModeNone,
93 },
94
95 {
96 name: "user is the owner",
97 userID: 98,
98 repoID: publicRepoID,
99 opts: publicRepoOpts,
100 wantAccessMode: AccessModeOwner,

Callers

nothing calls this directly

Calls 2

SetRepoPermsMethod · 0.80
AccessModeMethod · 0.80

Tested by

no test coverage detected