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.

indexer_test.go 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // Copyright 2020 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package stats
  4. import (
  5. "context"
  6. "path/filepath"
  7. "testing"
  8. "time"
  9. "code.gitea.io/gitea/models/db"
  10. repo_model "code.gitea.io/gitea/models/repo"
  11. "code.gitea.io/gitea/models/unittest"
  12. "code.gitea.io/gitea/modules/queue"
  13. "code.gitea.io/gitea/modules/setting"
  14. _ "code.gitea.io/gitea/models"
  15. _ "code.gitea.io/gitea/models/actions"
  16. _ "code.gitea.io/gitea/models/activities"
  17. "github.com/stretchr/testify/assert"
  18. )
  19. func TestMain(m *testing.M) {
  20. unittest.MainTest(m, &unittest.TestOptions{
  21. GiteaRootPath: filepath.Join("..", "..", ".."),
  22. })
  23. }
  24. func TestRepoStatsIndex(t *testing.T) {
  25. assert.NoError(t, unittest.PrepareTestDatabase())
  26. setting.CfgProvider, _ = setting.NewConfigProviderFromData("")
  27. setting.LoadQueueSettings()
  28. err := Init()
  29. assert.NoError(t, err)
  30. repo, err := repo_model.GetRepositoryByID(db.DefaultContext, 1)
  31. assert.NoError(t, err)
  32. err = UpdateRepoIndexer(repo)
  33. assert.NoError(t, err)
  34. assert.NoError(t, queue.GetManager().FlushAll(context.Background(), 5*time.Second))
  35. status, err := repo_model.GetIndexerStatus(db.DefaultContext, repo, repo_model.RepoIndexerTypeStats)
  36. assert.NoError(t, err)
  37. assert.Equal(t, "65f1bf27bc3bf70f64657658635e66094edbcb4d", status.CommitSha)
  38. langs, err := repo_model.GetTopLanguageStats(repo, 5)
  39. assert.NoError(t, err)
  40. assert.Empty(t, langs)
  41. }