Files
Atay-Makhzan/models/consistency_test.go
T

36 lines
1.1 KiB
Go
Raw Normal View History

2021-05-01 02:08:46 +08:00
// Copyright 2021 Gitea. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package models
import (
"testing"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/unittest"
2021-05-01 02:08:46 +08:00
"github.com/stretchr/testify/assert"
)
func TestDeleteOrphanedObjects(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
2021-05-01 02:08:46 +08:00
2021-09-23 16:45:36 +01:00
countBefore, err := db.GetEngine(db.DefaultContext).Count(&PullRequest{})
2021-05-01 02:08:46 +08:00
assert.NoError(t, err)
2021-09-23 16:45:36 +01:00
_, err = db.GetEngine(db.DefaultContext).Insert(&PullRequest{IssueID: 1000}, &PullRequest{IssueID: 1001}, &PullRequest{IssueID: 1003})
2021-05-01 02:08:46 +08:00
assert.NoError(t, err)
orphaned, err := CountOrphanedObjects("pull_request", "issue", "pull_request.issue_id=issue.id")
assert.NoError(t, err)
assert.EqualValues(t, 3, orphaned)
err = DeleteOrphanedObjects("pull_request", "issue", "pull_request.issue_id=issue.id")
assert.NoError(t, err)
2021-09-23 16:45:36 +01:00
countAfter, err := db.GetEngine(db.DefaultContext).Count(&PullRequest{})
2021-05-01 02:08:46 +08:00
assert.NoError(t, err)
assert.EqualValues(t, countBefore, countAfter)
}