123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- // Copyright 2023 The Gitea Authors. All rights reserved.
- // SPDX-License-Identifier: MIT
-
- package elasticsearch
-
- import (
- "fmt"
- "net/http"
- "os"
- "testing"
- "time"
-
- "code.gitea.io/gitea/modules/indexer/issues/internal/tests"
- )
-
- func TestElasticsearchIndexer(t *testing.T) {
- // The elasticsearch instance started by pull-db-tests.yml > test-unit > services > elasticsearch
- url := "http://elastic:changeme@elasticsearch:9200"
-
- if os.Getenv("CI") == "" {
- // Make it possible to run tests against a local elasticsearch instance
- url = os.Getenv("TEST_ELASTICSEARCH_URL")
- if url == "" {
- t.Skip("TEST_ELASTICSEARCH_URL not set and not running in CI")
- return
- }
- }
-
- ok := false
- for i := 0; i < 60; i++ {
- resp, err := http.Get(url)
- if err == nil && resp.StatusCode == http.StatusOK {
- ok = true
- break
- }
- t.Logf("Waiting for elasticsearch to be up: %v", err)
- time.Sleep(time.Second)
- }
- if !ok {
- t.Fatalf("Failed to wait for elasticsearch to be up")
- return
- }
-
- indexer := NewIndexer(url, fmt.Sprintf("test_elasticsearch_indexer_%d", time.Now().Unix()))
- defer indexer.Close()
-
- tests.TestIndexer(t, indexer)
- }
|