You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

consistency_test.go 1.1KB

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright 2021 Gitea. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package models
  5. import (
  6. "testing"
  7. "code.gitea.io/gitea/models/db"
  8. "code.gitea.io/gitea/models/unittest"
  9. "github.com/stretchr/testify/assert"
  10. )
  11. func TestDeleteOrphanedObjects(t *testing.T) {
  12. assert.NoError(t, unittest.PrepareTestDatabase())
  13. countBefore, err := db.GetEngine(db.DefaultContext).Count(&PullRequest{})
  14. assert.NoError(t, err)
  15. _, err = db.GetEngine(db.DefaultContext).Insert(&PullRequest{IssueID: 1000}, &PullRequest{IssueID: 1001}, &PullRequest{IssueID: 1003})
  16. assert.NoError(t, err)
  17. orphaned, err := CountOrphanedObjects("pull_request", "issue", "pull_request.issue_id=issue.id")
  18. assert.NoError(t, err)
  19. assert.EqualValues(t, 3, orphaned)
  20. err = DeleteOrphanedObjects("pull_request", "issue", "pull_request.issue_id=issue.id")
  21. assert.NoError(t, err)
  22. countAfter, err := db.GetEngine(db.DefaultContext).Count(&PullRequest{})
  23. assert.NoError(t, err)
  24. assert.EqualValues(t, countBefore, countAfter)
  25. }