mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2026-05-12 22:10:25 +00:00
chore: increase test coverage of runner management (#10490)
Ensures that admins, users, etc. see the runners they are allowed to see. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10490 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Andreas Ahlenstorf <andreas@ahlenstorf.ch> Co-committed-by: Andreas Ahlenstorf <andreas@ahlenstorf.ch>
This commit is contained in:
parent
8ef34a56d1
commit
0e6f9439ee
3 changed files with 219 additions and 0 deletions
|
|
@ -140,3 +140,98 @@ func TestDeleteOfflineRunnersErrorOnInvalidOlderThanValue(t *testing.T) {
|
|||
defer timeutil.MockUnset()
|
||||
require.Error(t, DeleteOfflineRunners(db.DefaultContext, timeutil.TimeStampNow(), false))
|
||||
}
|
||||
|
||||
func TestRunnerEditable(t *testing.T) {
|
||||
testCases := []struct {
|
||||
name string
|
||||
runner *ActionRunner
|
||||
ownerID int64
|
||||
repoID int64
|
||||
editable bool
|
||||
}{
|
||||
{
|
||||
name: "admin-can-edit-global-runner",
|
||||
runner: &ActionRunner{Name: "global-runner", OwnerID: 0, RepoID: 0},
|
||||
ownerID: 0,
|
||||
repoID: 0,
|
||||
editable: true,
|
||||
},
|
||||
{
|
||||
name: "admin-can-edit-user-runner",
|
||||
runner: &ActionRunner{Name: "user-runner", OwnerID: 36, RepoID: 0},
|
||||
ownerID: 0,
|
||||
repoID: 0,
|
||||
editable: true,
|
||||
},
|
||||
{
|
||||
name: "admin-can-edit-repository-runner",
|
||||
runner: &ActionRunner{Name: "user-runner", OwnerID: 0, RepoID: 110},
|
||||
ownerID: 0,
|
||||
repoID: 0,
|
||||
editable: true,
|
||||
},
|
||||
{
|
||||
name: "user-can-edit-its-runner",
|
||||
runner: &ActionRunner{Name: "user-runner", OwnerID: 469, RepoID: 0},
|
||||
ownerID: 469,
|
||||
repoID: 0,
|
||||
editable: true,
|
||||
},
|
||||
{
|
||||
name: "user-cannot-edit-global-runner",
|
||||
runner: &ActionRunner{Name: "global-runner", OwnerID: 0, RepoID: 0},
|
||||
ownerID: 469,
|
||||
repoID: 0,
|
||||
editable: false,
|
||||
},
|
||||
{
|
||||
name: "user-cannot-edit-other-users-runner",
|
||||
runner: &ActionRunner{Name: "user-runner", OwnerID: 892, RepoID: 0},
|
||||
ownerID: 469,
|
||||
repoID: 0,
|
||||
editable: false,
|
||||
},
|
||||
{
|
||||
name: "user-cannot-edit-repo-runner",
|
||||
runner: &ActionRunner{Name: "repo-runner", OwnerID: 0, RepoID: 151},
|
||||
ownerID: 469,
|
||||
repoID: 0,
|
||||
editable: false,
|
||||
},
|
||||
{
|
||||
name: "repo-can-edit-its-runner",
|
||||
runner: &ActionRunner{Name: "repo-runner", OwnerID: 0, RepoID: 693},
|
||||
ownerID: 0,
|
||||
repoID: 693,
|
||||
editable: true,
|
||||
},
|
||||
{
|
||||
name: "repo-cannot-edit-other-repo-runner",
|
||||
runner: &ActionRunner{Name: "repo-runner", OwnerID: 0, RepoID: 519},
|
||||
ownerID: 0,
|
||||
repoID: 693,
|
||||
editable: false,
|
||||
},
|
||||
{
|
||||
name: "repo-cannot-edit-global-runner",
|
||||
runner: &ActionRunner{Name: "global-runner", OwnerID: 0, RepoID: 0},
|
||||
ownerID: 0,
|
||||
repoID: 693,
|
||||
editable: false,
|
||||
},
|
||||
{
|
||||
name: "repo-cannot-edit-user-runner",
|
||||
runner: &ActionRunner{Name: "user-runner", OwnerID: 6, RepoID: 0},
|
||||
ownerID: 0,
|
||||
repoID: 693,
|
||||
editable: false,
|
||||
},
|
||||
}
|
||||
|
||||
for _, testCase := range testCases {
|
||||
t.Run(testCase.name, func(t *testing.T) {
|
||||
result := testCase.runner.Editable(testCase.ownerID, testCase.repoID)
|
||||
assert.Equal(t, testCase.editable, result)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue