code.gitea.io/gitea@v1.22.3/services/repository/delete_test.go (about) 1 // Copyright 2017 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package repository_test 5 6 import ( 7 "testing" 8 9 "code.gitea.io/gitea/models/db" 10 "code.gitea.io/gitea/models/organization" 11 repo_model "code.gitea.io/gitea/models/repo" 12 "code.gitea.io/gitea/models/unittest" 13 user_model "code.gitea.io/gitea/models/user" 14 repo_service "code.gitea.io/gitea/services/repository" 15 16 "github.com/stretchr/testify/assert" 17 ) 18 19 func TestTeam_HasRepository(t *testing.T) { 20 assert.NoError(t, unittest.PrepareTestDatabase()) 21 22 test := func(teamID, repoID int64, expected bool) { 23 team := unittest.AssertExistsAndLoadBean(t, &organization.Team{ID: teamID}) 24 assert.Equal(t, expected, repo_service.HasRepository(db.DefaultContext, team, repoID)) 25 } 26 test(1, 1, false) 27 test(1, 3, true) 28 test(1, 5, true) 29 test(1, unittest.NonexistentID, false) 30 31 test(2, 3, true) 32 test(2, 5, false) 33 } 34 35 func TestTeam_RemoveRepository(t *testing.T) { 36 assert.NoError(t, unittest.PrepareTestDatabase()) 37 38 testSuccess := func(teamID, repoID int64) { 39 team := unittest.AssertExistsAndLoadBean(t, &organization.Team{ID: teamID}) 40 assert.NoError(t, repo_service.RemoveRepositoryFromTeam(db.DefaultContext, team, repoID)) 41 unittest.AssertNotExistsBean(t, &organization.TeamRepo{TeamID: teamID, RepoID: repoID}) 42 unittest.CheckConsistencyFor(t, &organization.Team{ID: teamID}, &repo_model.Repository{ID: repoID}) 43 } 44 testSuccess(2, 3) 45 testSuccess(2, 5) 46 testSuccess(1, unittest.NonexistentID) 47 } 48 49 func TestDeleteOwnerRepositoriesDirectly(t *testing.T) { 50 unittest.PrepareTestEnv(t) 51 52 user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) 53 54 assert.NoError(t, repo_service.DeleteOwnerRepositoriesDirectly(db.DefaultContext, user)) 55 }