// Copyright 2026 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT package elasticsearch import ( "strings" "testing" "gitea.dev/modules/test" "github.com/stretchr/testify/require" ) func newRealIndexer(t *testing.T) *Indexer { t.Helper() esURL := test.ExternalServiceHTTP(t, "TEST_ELASTICSEARCH_URL", "http://elasticsearch:9200") indexName := "gitea_test_" + strings.ReplaceAll(strings.ToLower(t.Name()), "/", "_") ix := NewIndexer(esURL, indexName, 1, `{"mappings":{"properties":{"x":{"type":"keyword"}}}}`) _, err := ix.Init(t.Context()) require.NoError(t, err) t.Cleanup(ix.Close) return ix } func TestPing(t *testing.T) { ix := newRealIndexer(t) require.NoError(t, ix.Ping(t.Context())) } func TestDeleteSwallows404(t *testing.T) { ix := newRealIndexer(t) require.NoError(t, ix.Delete(t.Context(), "missing-id")) } func TestBulkAcceptsDelete404(t *testing.T) { ix := newRealIndexer(t) require.NoError(t, ix.Bulk(t.Context(), []BulkOp{DeleteOp("missing-id")})) }