(t *testing.T, ctx context.Context, s *PermissionsStore)
| 238 | } |
| 239 | |
| 240 | func permsSetRepoPerms(t *testing.T, ctx context.Context, s *PermissionsStore) { |
| 241 | for _, update := range []struct { |
| 242 | repoID int64 |
| 243 | accessMap map[int64]AccessMode |
| 244 | }{ |
| 245 | { |
| 246 | repoID: 1, |
| 247 | accessMap: map[int64]AccessMode{ |
| 248 | 1: AccessModeWrite, |
| 249 | 2: AccessModeWrite, |
| 250 | 3: AccessModeAdmin, |
| 251 | 4: AccessModeWrite, |
| 252 | }, |
| 253 | }, |
| 254 | { |
| 255 | repoID: 2, |
| 256 | accessMap: map[int64]AccessMode{ |
| 257 | 1: AccessModeWrite, |
| 258 | 2: AccessModeRead, |
| 259 | 4: AccessModeWrite, |
| 260 | 5: AccessModeWrite, |
| 261 | }, |
| 262 | }, |
| 263 | { |
| 264 | repoID: 1, |
| 265 | accessMap: map[int64]AccessMode{ |
| 266 | 2: AccessModeWrite, |
| 267 | 3: AccessModeAdmin, |
| 268 | }, |
| 269 | }, |
| 270 | { |
| 271 | repoID: 2, |
| 272 | accessMap: map[int64]AccessMode{ |
| 273 | 1: AccessModeWrite, |
| 274 | 2: AccessModeRead, |
| 275 | 5: AccessModeWrite, |
| 276 | }, |
| 277 | }, |
| 278 | } { |
| 279 | err := s.SetRepoPerms(ctx, update.repoID, update.accessMap) |
| 280 | if err != nil { |
| 281 | t.Fatal(err) |
| 282 | } |
| 283 | } |
| 284 | |
| 285 | var accesses []*Access |
| 286 | err := s.db.Order("user_id, repo_id").Find(&accesses).Error |
| 287 | require.NoError(t, err) |
| 288 | |
| 289 | // Ignore ID fields |
| 290 | for _, a := range accesses { |
| 291 | a.ID = 0 |
| 292 | } |
| 293 | |
| 294 | wantAccesses := []*Access{ |
| 295 | {UserID: 1, RepoID: 2, Mode: AccessModeWrite}, |
| 296 | {UserID: 2, RepoID: 1, Mode: AccessModeWrite}, |
| 297 | {UserID: 2, RepoID: 2, Mode: AccessModeRead}, |
nothing calls this directly
no test coverage detected