W3 — Elasticsearch: интеграционные тесты + доказательство, что oo search идёт в ES
Цель
Доказать, что поиск реально использует Elasticsearch (files_file и oo_docs_text).
Работа
Туннель ES 127.0.0.1:9200 (docs/elasticsearch.md); ONLYOFFICE_ES_URL.
Прогнать go test -tags=integration -run 'TestIntegrationES' ./... — зелёные
(TestIntegrationESSearch, TestIntegrationESTextIndex, TestIntegrationESTextIndexPDFAttachment).
Добавить тест, доказывающий, что oo search/фасад идёт в ES: бэкенд = elasticsearch,
известный запрос (напр. Rechnung_986-2025.pdf) возвращает ожидаемый файл; path/ID присутствуют.
Замерить: время запроса и число результатов (для справки в отчёте).
Критерии
Интеграционные тесты зелёные; без ONLYOFFICE_ES_URL — skip.
Есть тест, что используется ES-бэкенд (не REST @search).
go build/vet/test зелёные.
Эпик: #53
## W3 — Elasticsearch: интеграционные тесты + доказательство, что `oo search` идёт в ES
### Цель
Доказать, что поиск реально использует Elasticsearch (`files_file` и `oo_docs_text`).
### Работа
1. Туннель ES `127.0.0.1:9200` (`docs/elasticsearch.md`); `ONLYOFFICE_ES_URL`.
2. Прогнать `go test -tags=integration -run 'TestIntegrationES' ./...` — зелёные
(`TestIntegrationESSearch`, `TestIntegrationESTextIndex`, `TestIntegrationESTextIndexPDFAttachment`).
3. Добавить тест, доказывающий, что `oo search`/фасад идёт в ES: бэкенд = `elasticsearch`,
известный запрос (напр. `Rechnung_986-2025.pdf`) возвращает ожидаемый файл; path/ID присутствуют.
4. Замерить: время запроса и число результатов (для справки в отчёте).
### Критерии
- [ ] Интеграционные тесты зелёные; без `ONLYOFFICE_ES_URL` — skip.
- [ ] Есть тест, что используется ES-бэкенд (не REST `@search`).
- [ ] `go build/vet/test` зелёные.
eSlider
added the feature label 2026-09-16 22:20:53 +01:00
PR #58: #58
Ветка feat/es-integration#56 · коммит 1a8bf0f (base main). Не мержу и не закрываю.
Что сделано
Добавлен TestIntegrationESFacadeUsesES в file_es_integration_test.go — доказывает,
что публичный путь oo search / c.Files().Search() идёт именно в ES-бэкенд:
searcher.Name() == "elasticsearch" и конкретный тип *ESSearcher (REST @search — только имена в БД и вообще не реализует Searcher).
Известный запрос Rechnung_986-2025.pdf → ожидаемый файл с непустыми id
и path, Provider == elasticsearch.
Подстрока + scope (rechnung 2025 --substring --folder 522, как в CLI) →
непустая выдача и тот же известный файл.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Эпик: #53
W3 — Elasticsearch: интеграционные тесты + доказательство, что
oo searchидёт в ESЦель
Доказать, что поиск реально использует Elasticsearch (
files_fileиoo_docs_text).Работа
127.0.0.1:9200(docs/elasticsearch.md);ONLYOFFICE_ES_URL.go test -tags=integration -run 'TestIntegrationES' ./...— зелёные(
TestIntegrationESSearch,TestIntegrationESTextIndex,TestIntegrationESTextIndexPDFAttachment).oo search/фасад идёт в ES: бэкенд =elasticsearch,известный запрос (напр.
Rechnung_986-2025.pdf) возвращает ожидаемый файл; path/ID присутствуют.Критерии
ONLYOFFICE_ES_URL— skip.@search).go build/vet/testзелёные.W3 #56 — отчёт: Elasticsearch — интеграционные тесты + доказательство использования
PR #58: #58
Ветка
feat/es-integration#56· коммит1a8bf0f(basemain). Не мержу и не закрываю.Что сделано
Добавлен
TestIntegrationESFacadeUsesESвfile_es_integration_test.go— доказывает,что публичный путь
oo search/c.Files().Search()идёт именно в ES-бэкенд:searcher.Name() == "elasticsearch"и конкретный тип*ESSearcher(REST@search— только имена в БД и вообще не реализуетSearcher).Rechnung_986-2025.pdf→ ожидаемый файл с непустымиidи
path,Provider == elasticsearch.rechnung 2025 --substring --folder 522, как в CLI) →непустая выдача и тот же известный файл.
ONLYOFFICE_ES_TEST_QUERY/_TITLE/_SUBSTRING/_FOLDER).ONLYOFFICE_ES_URL— skip. REST-креды не нужны: запрос не трогает REST.Тесты (имена + PASS)
go test -tags=integration -run TestIntegrationES -v .— зелёный (4/4).Без
ONLYOFFICE_ES_URL:--- SKIP: TestIntegrationESFacadeUsesES.Замеры (живой ES 7.16.3, туннель
127.0.0.1:9200)oo search Rechnung_986-2025.pdfoo search rechnung 2025 --substring --folder 522 --limit 200CLI end-to-end:
Rechnung_986-2025.pdf→ id3356, pathFibu EDL/Scanner/Ausgangsrechnungen/2025/08-2025/Rechnung/Rechnung_986-2025.pdfи id
1573.UniquePathотработал (значит facade + DAV).Проверка
go build ./...,go vet ./...,go test ./...— зелёные.go vet -tags=integration .,go test -race .— зелёные.no leaks found.Блокеры
Нет.