summaryrefslogtreecommitdiffstats
path: root/modules/indexer/code/bleve_test.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2019-12-23 20:31:16 +0800
committerGitHub <noreply@github.com>2019-12-23 20:31:16 +0800
commit89b4e0477b4e1b9e1cccd87b68fde4ea8a578e9c (patch)
tree46141746472fc33dfa8c262fa96176895bc9fba8 /modules/indexer/code/bleve_test.go
parent2f9564f993ba02ba503d7088eb8cc70536b7a6df (diff)
downloadgitea-89b4e0477b4e1b9e1cccd87b68fde4ea8a578e9c.tar.gz
gitea-89b4e0477b4e1b9e1cccd87b68fde4ea8a578e9c.zip
Refactor code indexer (#9313)
* Refactor code indexer * fix test * fix test * refactor code indexer * fix import * improve code * fix typo * fix test and make code clean * fix lint
Diffstat (limited to 'modules/indexer/code/bleve_test.go')
-rw-r--r--modules/indexer/code/bleve_test.go54
1 files changed, 54 insertions, 0 deletions
diff --git a/modules/indexer/code/bleve_test.go b/modules/indexer/code/bleve_test.go
index 2eafeef3c5..ac2b411998 100644
--- a/modules/indexer/code/bleve_test.go
+++ b/modules/indexer/code/bleve_test.go
@@ -5,12 +5,66 @@
package code
import (
+ "os"
"path/filepath"
"testing"
"code.gitea.io/gitea/models"
+ "code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/setting"
+
+ "github.com/stretchr/testify/assert"
)
func TestMain(m *testing.M) {
models.MainTest(m, filepath.Join("..", "..", ".."))
}
+
+func TestIndexAndSearch(t *testing.T) {
+ models.PrepareTestEnv(t)
+
+ dir := "./bleve.index"
+ os.RemoveAll(dir)
+
+ setting.Indexer.RepoIndexerEnabled = true
+ idx, _, err := NewBleveIndexer(dir)
+ if err != nil {
+ idx.Close()
+ log.Fatal("indexer.Init: %v", err)
+ }
+
+ err = idx.Index(1)
+ assert.NoError(t, err)
+
+ var (
+ keywords = []struct {
+ Keyword string
+ IDs []int64
+ }{
+ {
+ Keyword: "Description",
+ IDs: []int64{1},
+ },
+ {
+ Keyword: "repo1",
+ IDs: []int64{1},
+ },
+ {
+ Keyword: "non-exist",
+ IDs: []int64{},
+ },
+ }
+ )
+
+ for _, kw := range keywords {
+ total, res, err := idx.Search(nil, kw.Keyword, 1, 10)
+ assert.NoError(t, err)
+ assert.EqualValues(t, len(kw.IDs), total)
+
+ var ids = make([]int64, 0, len(res))
+ for _, hit := range res {
+ ids = append(ids, hit.RepoID)
+ }
+ assert.EqualValues(t, kw.IDs, ids)
+ }
+}