summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--modules/indexer/code/bleve_test.go19
-rw-r--r--modules/indexer/issues/bleve.go10
-rw-r--r--modules/indexer/issues/bleve_test.go17
-rw-r--r--modules/indexer/issues/indexer_test.go26
-rw-r--r--routers/repo/settings_test.go30
6 files changed, 91 insertions, 13 deletions
diff --git a/.gitignore b/.gitignore
index 6f644d1cd7..f6831fe26c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -66,8 +66,6 @@ coverage.all
/integrations/pgsql.ini
/integrations/mssql.ini
/node_modules
-/modules/indexer/issues/indexers
-routers/repo/authorized_keys
/yarn.lock
/public/js
/public/css
diff --git a/modules/indexer/code/bleve_test.go b/modules/indexer/code/bleve_test.go
index ac2b411998..695dceb259 100644
--- a/modules/indexer/code/bleve_test.go
+++ b/modules/indexer/code/bleve_test.go
@@ -5,12 +5,12 @@
package code
import (
+ "io/ioutil"
"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"
@@ -23,15 +23,24 @@ func TestMain(m *testing.M) {
func TestIndexAndSearch(t *testing.T) {
models.PrepareTestEnv(t)
- dir := "./bleve.index"
- os.RemoveAll(dir)
+ dir, err := ioutil.TempDir("", "bleve.index")
+ assert.NoError(t, err)
+ if err != nil {
+ assert.Fail(t, "Unable to create temporary directory")
+ return
+ }
+ defer os.RemoveAll(dir)
setting.Indexer.RepoIndexerEnabled = true
idx, _, err := NewBleveIndexer(dir)
if err != nil {
- idx.Close()
- log.Fatal("indexer.Init: %v", err)
+ assert.Fail(t, "Unable to create indexer Error: %v", err)
+ if idx != nil {
+ idx.Close()
+ }
+ return
}
+ defer idx.Close()
err = idx.Index(1)
assert.NoError(t, err)
diff --git a/modules/indexer/issues/bleve.go b/modules/indexer/issues/bleve.go
index 24443e54a3..787ff0dec5 100644
--- a/modules/indexer/issues/bleve.go
+++ b/modules/indexer/issues/bleve.go
@@ -9,6 +9,7 @@ import (
"os"
"strconv"
+ "code.gitea.io/gitea/modules/log"
"github.com/blevesearch/bleve"
"github.com/blevesearch/bleve/analysis/analyzer/custom"
"github.com/blevesearch/bleve/analysis/token/lowercase"
@@ -184,6 +185,15 @@ func (b *BleveIndexer) Init() (bool, error) {
return false, err
}
+// Close will close the bleve indexer
+func (b *BleveIndexer) Close() {
+ if b.indexer != nil {
+ if err := b.indexer.Close(); err != nil {
+ log.Error("Error whilst closing indexer: %v", err)
+ }
+ }
+}
+
// Index will save the index data
func (b *BleveIndexer) Index(issues []*IndexerData) error {
batch := rupture.NewFlushingBatch(b.indexer, maxBatchSize)
diff --git a/modules/indexer/issues/bleve_test.go b/modules/indexer/issues/bleve_test.go
index 94d935d89d..234da076cd 100644
--- a/modules/indexer/issues/bleve_test.go
+++ b/modules/indexer/issues/bleve_test.go
@@ -5,6 +5,7 @@
package issues
import (
+ "io/ioutil"
"os"
"testing"
@@ -12,12 +13,20 @@ import (
)
func TestBleveIndexAndSearch(t *testing.T) {
- dir := "./bleve.index"
- indexer := NewBleveIndexer(dir)
+ dir, err := ioutil.TempDir("", "bleve.index")
+ assert.NoError(t, err)
+ if err != nil {
+ assert.Fail(t, "Unable to create temporary directory")
+ return
+ }
defer os.RemoveAll(dir)
+ indexer := NewBleveIndexer(dir)
+ defer indexer.Close()
- _, err := indexer.Init()
- assert.NoError(t, err)
+ if _, err := indexer.Init(); err != nil {
+ assert.Fail(t, "Unable to initialise bleve indexer: %v", err)
+ return
+ }
err = indexer.Index([]*IndexerData{
{
diff --git a/modules/indexer/issues/indexer_test.go b/modules/indexer/issues/indexer_test.go
index a45fede9ac..ca7ba29703 100644
--- a/modules/indexer/issues/indexer_test.go
+++ b/modules/indexer/issues/indexer_test.go
@@ -5,7 +5,9 @@
package issues
import (
+ "io/ioutil"
"os"
+ "path"
"path/filepath"
"testing"
"time"
@@ -23,10 +25,29 @@ func TestMain(m *testing.M) {
func TestBleveSearchIssues(t *testing.T) {
assert.NoError(t, models.PrepareTestDatabase())
- os.RemoveAll(setting.Indexer.IssueQueueDir)
- os.RemoveAll(setting.Indexer.IssuePath)
+ tmpIndexerDir, err := ioutil.TempDir("", "issues-indexer")
+ if err != nil {
+ assert.Fail(t, "Unable to create temporary directory: %v", err)
+ return
+ }
+ oldQueueDir := setting.Indexer.IssueQueueDir
+ oldIssuePath := setting.Indexer.IssuePath
+ setting.Indexer.IssueQueueDir = path.Join(tmpIndexerDir, "issues.queue")
+ setting.Indexer.IssuePath = path.Join(tmpIndexerDir, "issues.queue")
+ defer func() {
+ setting.Indexer.IssueQueueDir = oldQueueDir
+ setting.Indexer.IssuePath = oldIssuePath
+ os.RemoveAll(tmpIndexerDir)
+ }()
+
setting.Indexer.IssueType = "bleve"
InitIssueIndexer(true)
+ defer func() {
+ indexer := holder.get()
+ if bleveIndexer, ok := indexer.(*BleveIndexer); ok {
+ bleveIndexer.Close()
+ }
+ }()
time.Sleep(5 * time.Second)
@@ -45,6 +66,7 @@ func TestBleveSearchIssues(t *testing.T) {
ids, err = SearchIssuesByKeyword([]int64{1}, "good")
assert.NoError(t, err)
assert.EqualValues(t, []int64{1}, ids)
+
}
func TestDBSearchIssues(t *testing.T) {
diff --git a/routers/repo/settings_test.go b/routers/repo/settings_test.go
index a05a96cea2..2325c0255c 100644
--- a/routers/repo/settings_test.go
+++ b/routers/repo/settings_test.go
@@ -5,18 +5,42 @@
package repo
import (
+ "io/ioutil"
"net/http"
+ "os"
"testing"
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/auth"
"code.gitea.io/gitea/modules/context"
+ "code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/test"
"github.com/stretchr/testify/assert"
)
+func createSSHAuthorizedKeysTmpPath(t *testing.T) func() {
+ tmpDir, err := ioutil.TempDir("", "tmp-ssh")
+ if err != nil {
+ assert.Fail(t, "Unable to create temporary directory: %v", err)
+ return nil
+ }
+
+ oldPath := setting.SSH.RootPath
+ setting.SSH.RootPath = tmpDir
+
+ return func() {
+ setting.SSH.RootPath = oldPath
+ os.RemoveAll(tmpDir)
+ }
+}
+
func TestAddReadOnlyDeployKey(t *testing.T) {
+ if deferable := createSSHAuthorizedKeysTmpPath(t); deferable != nil {
+ defer deferable()
+ } else {
+ return
+ }
models.PrepareTestEnv(t)
ctx := test.MockContext(t, "user2/repo1/settings/keys")
@@ -39,6 +63,12 @@ func TestAddReadOnlyDeployKey(t *testing.T) {
}
func TestAddReadWriteOnlyDeployKey(t *testing.T) {
+ if deferable := createSSHAuthorizedKeysTmpPath(t); deferable != nil {
+ defer deferable()
+ } else {
+ return
+ }
+
models.PrepareTestEnv(t)
ctx := test.MockContext(t, "user2/repo1/settings/keys")