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" "github.com/stretchr/testify/assert"
) )
func TestIndexAndSearch(t *testing.T) { func TestBleveIndexAndSearch(t *testing.T) {
dir := "./bleve.index" dir := "./bleve.index"
indexer := NewBleveIndexer(dir) indexer := NewBleveIndexer(dir)
defer os.RemoveAll(dir) defer os.RemoveAll(dir)

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

@ -26,16 +26,42 @@ func TestMain(m *testing.M) {
models.MainTest(m, filepath.Join("..", "..", "..")) models.MainTest(m, filepath.Join("..", "..", ".."))
} }
func TestSearchIssues(t *testing.T) { func TestBleveSearchIssues(t *testing.T) {
assert.NoError(t, models.PrepareTestDatabase()) assert.NoError(t, models.PrepareTestDatabase())
os.RemoveAll(setting.Indexer.IssueIndexerQueueDir) os.RemoveAll(setting.Indexer.IssueIndexerQueueDir)
os.RemoveAll(setting.Indexer.IssuePath) os.RemoveAll(setting.Indexer.IssuePath)
setting.Indexer.IssueType = "bleve"
if err := InitIssueIndexer(true); err != nil { if err := InitIssueIndexer(true); err != nil {
fatalTestError("Error InitIssueIndexer: %v\n", err) 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") ids, err := SearchIssuesByKeyword(1, "issue2")
assert.NoError(t, err) assert.NoError(t, err)

Loading…
Cancel
Save