fix bug when set indexer as db and add tests (#6173)

tokarchuk/v1.17
Lunny Xiao 6 years ago committed by techknowlogick
parent 05143768d0
commit 15ecc08475
  1. 2
      modules/indexer/issues/bleve_test.go
  2. 1
      modules/indexer/issues/indexer.go
  3. 30
      modules/indexer/issues/indexer_test.go

@ -11,7 +11,7 @@ import (
"github.com/stretchr/testify/assert"
)
func TestIndexAndSearch(t *testing.T) {
func TestBleveIndexAndSearch(t *testing.T) {
dir := "./bleve.index"
indexer := NewBleveIndexer(dir)
defer os.RemoveAll(dir)

@ -72,6 +72,7 @@ func InitIssueIndexer(syncReindex bool) error {
}
if dummyQueue {
issueIndexerUpdateQueue = &DummyQueue{}
return nil
}

@ -26,16 +26,42 @@ func TestMain(m *testing.M) {
models.MainTest(m, filepath.Join("..", "..", ".."))
}
func TestSearchIssues(t *testing.T) {
func TestBleveSearchIssues(t *testing.T) {
assert.NoError(t, models.PrepareTestDatabase())
os.RemoveAll(setting.Indexer.IssueIndexerQueueDir)
os.RemoveAll(setting.Indexer.IssuePath)
setting.Indexer.IssueType = "bleve"
if err := InitIssueIndexer(true); err != nil {
fatalTestError("Error InitIssueIndexer: %v\n", err)
}
time.Sleep(10 * time.Second)
time.Sleep(5 * time.Second)
ids, err := SearchIssuesByKeyword(1, "issue2")
assert.NoError(t, err)
assert.EqualValues(t, []int64{2}, ids)
ids, err = SearchIssuesByKeyword(1, "first")
assert.NoError(t, err)
assert.EqualValues(t, []int64{1}, ids)
ids, err = SearchIssuesByKeyword(1, "for")
assert.NoError(t, err)
assert.EqualValues(t, []int64{1, 2, 3, 5}, ids)
ids, err = SearchIssuesByKeyword(1, "good")
assert.NoError(t, err)
assert.EqualValues(t, []int64{1}, ids)
}
func TestDBSearchIssues(t *testing.T) {
assert.NoError(t, models.PrepareTestDatabase())
setting.Indexer.IssueType = "db"
if err := InitIssueIndexer(true); err != nil {
fatalTestError("Error InitIssueIndexer: %v\n", err)
}
ids, err := SearchIssuesByKeyword(1, "issue2")
assert.NoError(t, err)

Loading…
Cancel
Save