@@ -10,14 +10,16 @@ import (
1010 "code.gitea.io/gitea/models/unittest"
1111 user_model "code.gitea.io/gitea/models/user"
1212 "code.gitea.io/gitea/modules/util"
13+ repo_service "code.gitea.io/gitea/services/repository"
1314 user_service "code.gitea.io/gitea/services/user"
1415 "code.gitea.io/gitea/tests"
1516
1617 "github.com/stretchr/testify/assert"
1718)
1819
19- func TestActionsRunnerEphemeralDeletion (t * testing.T ) {
20+ func TestEphemeralActionsRunnerDeletion (t * testing.T ) {
2021 t .Run ("ByTaskCompletion" , testEphemeralActionsRunnerDeletionByTaskCompletion )
22+ t .Run ("ByRepository" , testEphemeralActionsRunnerDeletionByRepository )
2123 t .Run ("ByUser" , testEphemeralActionsRunnerDeletionByUser )
2224}
2325
@@ -39,6 +41,24 @@ func testEphemeralActionsRunnerDeletionByTaskCompletion(t *testing.T) {
3941 assert .ErrorIs (t , err , util .ErrNotExist )
4042}
4143
44+ func testEphemeralActionsRunnerDeletionByRepository (t * testing.T ) {
45+ defer tests .PrepareTestEnv (t )()
46+
47+ _ , err := actions_model .GetRunnerByID (t .Context (), 34350 )
48+ assert .NoError (t , err )
49+
50+ task := unittest .AssertExistsAndLoadBean (t , & actions_model.ActionTask {ID : 52 })
51+ assert .Equal (t , actions_model .StatusRunning , task .Status )
52+
53+ user := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 2 })
54+
55+ err = repo_service .DeleteRepositoryDirectly (t .Context (), user , task .RepoID , true )
56+ assert .NoError (t , err )
57+
58+ _ , err = actions_model .GetRunnerByID (t .Context (), 34350 )
59+ assert .ErrorIs (t , err , util .ErrNotExist )
60+ }
61+
4262// Test that the ephemeral runner is deleted when a user is deleted
4363func testEphemeralActionsRunnerDeletionByUser (t * testing.T ) {
4464 defer tests .PrepareTestEnv (t )()
0 commit comments