mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2026-09-16 18:13:17 +00:00
[ACS-12467] Enable batch indexing for search tests (#4323)
Enabled Batch Indexing for Search API Tests inside Community repo.
This commit is contained in:
@@ -628,6 +628,14 @@ jobs:
|
||||
pom-dir: tas-webdav
|
||||
- test-name: "Integration TAS tests"
|
||||
pom-dir: tas-integration
|
||||
- test-name: "Elasticsearch E2E Tests - part1"
|
||||
pom-dir: tas-restapi
|
||||
test-profile: elasticsearch-e2e-tests-part1
|
||||
compose-file: docker-compose-minimal+batch-indexing.yml
|
||||
- test-name: "Elasticsearch E2E Tests - part2"
|
||||
pom-dir: tas-restapi
|
||||
test-profile: elasticsearch-e2e-tests-part2
|
||||
compose-file: docker-compose-minimal+batch-indexing.yml
|
||||
steps:
|
||||
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v18.20.0
|
||||
@@ -645,10 +653,12 @@ jobs:
|
||||
run: |
|
||||
bash ./scripts/ci/init.sh
|
||||
bash ./scripts/ci/build.sh
|
||||
- name: "Set transformers tag"
|
||||
run: echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV
|
||||
- name: "Set up the environment"
|
||||
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
||||
run: |
|
||||
${{ env.TAS_SCRIPTS }}/start-compose.sh ${{ env.TAS_ENVIRONMENT }}/docker-compose-minimal+transforms.yml
|
||||
${{ env.TAS_SCRIPTS }}/start-compose.sh ${{ env.TAS_ENVIRONMENT }}/${{ matrix.compose-file || 'docker-compose-minimal+transforms.yml' }}
|
||||
${{ env.TAS_SCRIPTS }}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
||||
- name: "Run tests"
|
||||
id: tests
|
||||
|
||||
+35
-1
@@ -353,6 +353,40 @@
|
||||
"is_secret": false
|
||||
}
|
||||
],
|
||||
"packaging/tests/environment/docker-compose-minimal+batch-indexing.yml": [
|
||||
{
|
||||
"type": "Secret Keyword",
|
||||
"filename": "packaging/tests/environment/docker-compose-minimal+batch-indexing.yml",
|
||||
"hashed_secret": "9e3d103f7aa5f4f778cf752087dfceeba15d4fef",
|
||||
"is_verified": false,
|
||||
"line_number": 18,
|
||||
"is_secret": false
|
||||
},
|
||||
{
|
||||
"type": "Secret Keyword",
|
||||
"filename": "packaging/tests/environment/docker-compose-minimal+batch-indexing.yml",
|
||||
"hashed_secret": "7da287da4e071091f2ec1b3c2cfa3c3849b14163",
|
||||
"is_verified": false,
|
||||
"line_number": 28,
|
||||
"is_secret": false
|
||||
},
|
||||
{
|
||||
"type": "Secret Keyword",
|
||||
"filename": "packaging/tests/environment/docker-compose-minimal+batch-indexing.yml",
|
||||
"hashed_secret": "a4a747bd4ba5e3a5049cad116881867c71fb625b",
|
||||
"is_verified": false,
|
||||
"line_number": 154,
|
||||
"is_secret": false
|
||||
},
|
||||
{
|
||||
"type": "Secret Keyword",
|
||||
"filename": "packaging/tests/environment/docker-compose-minimal+batch-indexing.yml",
|
||||
"hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4",
|
||||
"is_verified": false,
|
||||
"line_number": 158,
|
||||
"is_secret": false
|
||||
}
|
||||
],
|
||||
"packaging/tests/environment/docker-compose-minimal+transforms.yml": [
|
||||
{
|
||||
"type": "Secret Keyword",
|
||||
@@ -1868,5 +1902,5 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"generated_at": "2026-08-17T14:05:27Z"
|
||||
"generated_at": "2026-09-01T06:39:16Z"
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
SOLR6_TAG=2.0.22-A.1
|
||||
POSTGRES_TAG=17.9
|
||||
ACTIVEMQ_TAG=6.2.0-jre17-rockylinux8
|
||||
ELASTICSEARCH_TAG=8.17.10
|
||||
BATCH_INDEXING_TAG=5.7.0
|
||||
|
||||
@@ -0,0 +1,162 @@
|
||||
# Testing/development compose for TAS tests using Elasticsearch batch-indexing
|
||||
# instead of the deprecated Solr search service.
|
||||
#
|
||||
# Notes:
|
||||
# - The 'alfresco' image is the locally built one produced by scripts/ci/build.sh
|
||||
# (same convention as docker-compose-minimal+transforms.yml).
|
||||
# - Solr is intentionally NOT started. The Solr endpoint properties are only
|
||||
# kept for secure-comms with content transformation. The shared secret must
|
||||
# match ALFRESCO_CONTENT_TRANSFORM_SHAREDSECRET on the batch-indexing service.
|
||||
# - Ports mirror the minimal+transforms file so the existing TAS scripts
|
||||
# (wait-for-alfresco-start.sh on http://localhost:8082/alfresco) keep working.
|
||||
|
||||
services:
|
||||
alfresco:
|
||||
image: alfresco/alfresco-community-repo-base:latest
|
||||
mem_limit: 1900m
|
||||
environment:
|
||||
JAVA_TOOL_OPTIONS: "
|
||||
-Dencryption.keystore.type=JCEKS
|
||||
-Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding
|
||||
-Dencryption.keyAlgorithm=DESede
|
||||
-Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore
|
||||
-Dmetadata-keystore.password=mp6yc0UD9e
|
||||
-Dmetadata-keystore.aliases=metadata
|
||||
-Dmetadata-keystore.metadata.password=oKIWzVdEdA
|
||||
-Dmetadata-keystore.metadata.algorithm=DESede
|
||||
"
|
||||
JAVA_OPTS: "
|
||||
-Ddb.driver=org.postgresql.Driver
|
||||
-Ddb.username=alfresco
|
||||
-Ddb.password=alfresco
|
||||
-Ddb.url=jdbc:postgresql://postgres:5432/alfresco
|
||||
-Dsolr.secureComms=secret
|
||||
-Dsolr.sharedSecret=secret
|
||||
-Dindex.subsystem.name=elasticsearch
|
||||
-Delasticsearch.createIndexIfNotExists=true
|
||||
-Delasticsearch.host=elasticsearch
|
||||
-Delasticsearch.port=9200
|
||||
-Dalfresco.restApi.basicAuthScheme=true
|
||||
-Dalfresco.host=localhost
|
||||
-Dalfresco.port=8080
|
||||
-Dcsrf.filter.enabled=false
|
||||
-Daos.baseUrlOverwrite=http://localhost:8080/alfresco/aos
|
||||
-Dmessaging.broker.url=\"failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true\"
|
||||
-Dmessaging.broker.username=admin
|
||||
-Dmessaging.broker.password=admin
|
||||
-Ddeployment.method=DOCKER_COMPOSE
|
||||
-DlocalTransform.core-aio.url=http://transform-core-aio:8090/
|
||||
-Dcors.enabled=true
|
||||
-Dcors.allowed.origins=http://localhost:4200,http://localhost:8080
|
||||
-XX:MinRAMPercentage=50
|
||||
-XX:MaxRAMPercentage=80
|
||||
"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/probes/-ready-"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
start_period: 3m
|
||||
ports:
|
||||
- 8082:8080
|
||||
- 8000:8000
|
||||
|
||||
postgres:
|
||||
image: library/postgres:${POSTGRES_TAG}
|
||||
mem_limit: 512m
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=alfresco
|
||||
- POSTGRES_USER=alfresco
|
||||
- POSTGRES_DB=alfresco
|
||||
command: postgres -c max_connections=300 -c log_min_messages=LOG
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "pg_isready -d $$POSTGRES_DB -U $$POSTGRES_USER" ]
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
retries: 3
|
||||
start_period: 5s
|
||||
|
||||
activemq:
|
||||
image: quay.io/alfresco/alfresco-activemq:${ACTIVEMQ_TAG}
|
||||
mem_limit: 1g
|
||||
environment:
|
||||
- ACTIVEMQ_ADMIN_LOGIN=admin
|
||||
- ACTIVEMQ_ADMIN_PASSWORD=admin
|
||||
ports:
|
||||
- 8161:8161
|
||||
- 5672:5672
|
||||
- 61616:61616
|
||||
- 61613:61613
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "/opt/activemq/bin/activemq query --objname type=Broker,brokerName=*,service=Health | grep -q Good" ]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 20s
|
||||
|
||||
transform-core-aio:
|
||||
image: quay.io/alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG}
|
||||
mem_limit: 1536m
|
||||
environment:
|
||||
JAVA_OPTS: >-
|
||||
-XX:MinRAMPercentage=50
|
||||
-XX:MaxRAMPercentage=80
|
||||
ports:
|
||||
- "8090:8090"
|
||||
healthcheck:
|
||||
test: [ "CMD", "curl", "-f", "http://localhost:8090/ready" ]
|
||||
interval: 20s
|
||||
timeout: 2s
|
||||
retries: 3
|
||||
start_period: 10s
|
||||
depends_on:
|
||||
activemq:
|
||||
condition: service_healthy
|
||||
|
||||
elasticsearch:
|
||||
image: elasticsearch:${ELASTICSEARCH_TAG}
|
||||
environment:
|
||||
- xpack.security.enabled=false
|
||||
- discovery.type=single-node
|
||||
ulimits:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
nofile:
|
||||
soft: 65536
|
||||
hard: 65536
|
||||
cap_add:
|
||||
- IPC_LOCK
|
||||
ports:
|
||||
- 9200:9200
|
||||
- 9300:9300
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -s -X GET http://localhost:9200/_cluster/health?pretty | grep status | grep -q '\\(green\\|yellow\\)'"]
|
||||
interval: 10s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 30s
|
||||
|
||||
batch-indexing:
|
||||
image: docker.io/alfresco/alfresco-elasticsearch-batch-indexing:${BATCH_INDEXING_TAG}
|
||||
mem_limit: 1g
|
||||
depends_on:
|
||||
alfresco:
|
||||
condition: service_healthy
|
||||
elasticsearch:
|
||||
condition: service_healthy
|
||||
transform-core-aio:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
JAVA_OPTS: "-Xms256m -Xmx768m"
|
||||
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/alfresco
|
||||
SPRING_DATASOURCE_USERNAME: alfresco
|
||||
SPRING_DATASOURCE_PASSWORD: alfresco
|
||||
SPRING_ELASTICSEARCH_REST_URIS: http://elasticsearch:9200
|
||||
ALFRESCO_ACCEPTEDCONTENTMEDIATYPESCACHE_BASEURL: http://transform-core-aio:8090/transform/config
|
||||
ALFRESCO_ACS_URL: http://alfresco:8080
|
||||
ALFRESCO_CONTENT_TRANSFORM_SHAREDSECRET: secret
|
||||
ALFRESCO_REINDEX_CONTINUOUS_POLLINGINTERVAL: 15s
|
||||
ALFRESCO_REINDEX_CONTINUOUS_CATCHUPPOLLINGINTERVAL: 1s
|
||||
ALFRESCO_REINDEX_CONTINUOUS_MAXWINDOW: 30m
|
||||
ALFRESCO_REINDEX_CONTINUOUS_OVERLAP: 10m
|
||||
@@ -42,9 +42,15 @@
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>elasticsearch-e2e-tests</id>
|
||||
<id>elasticsearch-e2e-tests-part1</id>
|
||||
<properties>
|
||||
<suiteXmlFile>${project.basedir}/src/test/resources/elasticsearch-e2e-suite.xml</suiteXmlFile>
|
||||
<suiteXmlFile>${project.basedir}/src/test/resources/test-suites/elasticsearch-e2e-part1-suite.xml</suiteXmlFile>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>elasticsearch-e2e-tests-part2</id>
|
||||
<properties>
|
||||
<suiteXmlFile>${project.basedir}/src/test/resources/test-suites/elasticsearch-e2e-part2-suite.xml</suiteXmlFile>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
@@ -1,148 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
|
||||
<suite name="ElasticSearchE2ETests" verbose="1" preserve-order="true">
|
||||
<listeners>
|
||||
<listener class-name="org.alfresco.utility.report.HtmlReportListener"/>
|
||||
<listener class-name="org.alfresco.utility.testrail.TestRailExecutorListener"/>
|
||||
<listener class-name="org.alfresco.utility.testng.OSTestMethodSelector"/>
|
||||
</listeners>
|
||||
|
||||
<test name="SearchTests">
|
||||
<packages>
|
||||
<package name="org.alfresco.rest.search.*">
|
||||
<exclude name="org.alfresco.rest.search.fingerprint"/>
|
||||
<exclude name="org.alfresco.rest.search.crosslocale"/>
|
||||
</package>
|
||||
</packages>
|
||||
|
||||
<classes>
|
||||
<class name="org.alfresco.rest.search.SearchSpellCheckTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
<class name="org.alfresco.rest.search.NodeContentTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 1) StatsSearchTest: not supported by ES -->
|
||||
<class name="org.alfresco.rest.search.StatsSearchTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 2) ShardInfoTest: /private/search/versions/1/info depends on Solr-only shardRegistry bean.
|
||||
Keep getShardInfoWithoutAdminAuthority() which only asserts 500 and passes on ES. -->
|
||||
<class name="org.alfresco.rest.search.ShardInfoTest">
|
||||
<methods>
|
||||
<exclude name="getShardInfoWithAdminAuthority"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 3) SearchNonIndexedFields.testNonIndexedDoesNotExist:uses Solr-only Luke admin endpoint /solr/alfresco/admin/luke -->
|
||||
<class name="org.alfresco.rest.search.SearchNonIndexedFields">
|
||||
<methods>
|
||||
<exclude name="testNonIndexedDoesNotExist"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 4) SearchHighLightTest.searchNonIndexedData:AFTS bare-property-name parsing gap on ES (returns HTTP 500) -->
|
||||
<class name="org.alfresco.rest.search.SearchHighLightTest">
|
||||
<methods>
|
||||
<exclude name="searchNonIndexedData"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 5) SearchAPATHTest: APATH is a Solr-only indexed field -->
|
||||
<class name="org.alfresco.rest.search.SearchAPATHTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 6) SearchAFTSInFieldTest: ES tokenizer / cross-locale / ~ operator gaps -->
|
||||
<class name="org.alfresco.rest.search.SearchAFTSInFieldTest">
|
||||
<methods>
|
||||
<exclude name="testSearchInFieldName"/>
|
||||
<exclude name="testSearchInFieldNameQueryExpansion"/>
|
||||
<exclude name="testExactMatchWithoutCrossLocale"/>
|
||||
<exclude name="testWithConjunctionDisjunctionAndNegation"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 7) PivotFacetedSearchTest: not supported by ES -->
|
||||
<class name="org.alfresco.rest.search.PivotFacetedSearchTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
|
||||
<!-- 8) FieldDefinitionTest: unknown-property error handling & mltext stemming gaps -->
|
||||
<class name="org.alfresco.rest.search.FieldDefinitionTest">
|
||||
<methods>
|
||||
<exclude name="testTextFieldNotDefined"/>
|
||||
<exclude name="testmlTextFieldNotDefined"/>
|
||||
<exclude name="testmlTextFieldMuliple"/>
|
||||
</methods>
|
||||
</class>
|
||||
|
||||
<!-- 9) FacetRangeSearchTest: range facet gaps on ES -->
|
||||
<class name="org.alfresco.rest.search.FacetRangeSearchTest">
|
||||
<methods>
|
||||
<exclude name="searchWithRange"/>
|
||||
<exclude name="searchWithRangeHardend"/>
|
||||
<exclude name="searchWithRangeAndIncludeUpperBound"/>
|
||||
</methods>
|
||||
</class>
|
||||
|
||||
<!-- 10) FacetIntervalSearchTest: interval facet gaps on ES -->
|
||||
<class name="org.alfresco.rest.search.FacetIntervalSearchTest">
|
||||
<methods>
|
||||
<exclude name="searchWithBasicInterval"/>
|
||||
<exclude name="searchWithDates"/>
|
||||
</methods>
|
||||
</class>
|
||||
|
||||
<!-- 11) FacetFieldsSearchTest: mincount / SITE facet gaps on ES -->
|
||||
<class name="org.alfresco.rest.search.FacetFieldsSearchTest">
|
||||
<methods>
|
||||
<exclude name="testSearchFacetFieldsBucketExcludedWhenMinCount2"/>
|
||||
<exclude name="testSearchWithFacetFieldsMinCountChecks"/>
|
||||
<exclude name="testSearchWithFacetFieldsOnlyFacetsWhereAccess"/>
|
||||
</methods>
|
||||
</class>
|
||||
|
||||
<!-- 12) FacetedSearchTest: not supported by ES -->
|
||||
<class name="org.alfresco.rest.search.FacetedSearchTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
|
||||
<!-- 13) SearchExactTermTest: ES exact-term validation & cm:name over-match gaps -->
|
||||
<class name="org.alfresco.rest.search.SearchExactTermTest">
|
||||
<methods>
|
||||
<exclude name="exactSearch_singleTermConjunction_shouldReturnException"/>
|
||||
<exclude name="exactSearch_multiTermInFieldWithOnlyUnTokenizedAnalysis_shouldReturnFullFieldValueMatch"/> <!-- pragma: allowlist secret -->
|
||||
<exclude name="exactSearch_singleTerm_shouldReturnResultsContainingExactTermInName"/>
|
||||
<exclude name="exactSearch_multiTerm_shouldReturnResultsContainingExactTerm"/>
|
||||
<exclude name="exactSearch_exactPhrase_shouldReturnResultsContainingExactPhrase"/>
|
||||
</methods>
|
||||
</class>
|
||||
|
||||
<!-- 14) SearchCasesTest:
|
||||
- testSearchExactTermQueries: '=' exact-term operator is disabled by default on Search Enterprise; enable in follow-up PR -->
|
||||
<class name="org.alfresco.rest.search.SearchCasesTest">
|
||||
<methods>
|
||||
<exclude name="testSearchExactTermQueries"/>
|
||||
</methods>
|
||||
</class>
|
||||
|
||||
<!-- 15) DocumentLibraryTagFilterTest (MNT-25799): tag filtering is not honoured on Search Enterprise by default -
|
||||
a quoted TAG:'<multi-word tag>' phrase and the '=' exact-term operator on cm:taggable both return
|
||||
the whole repository on ES (the '=' exact-term operator is disabled by default). The MNT-25799 fix and
|
||||
its Solr coverage (FiltersLibTest) remain in place; re-enable once ES tag filtering is addressed in a follow-up PR. -->
|
||||
<class name="org.alfresco.rest.search.DocumentLibraryTagFilterTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
</classes>
|
||||
</test>
|
||||
</suite>
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
|
||||
<suite name="ElasticSearchE2ETests-part1" verbose="1" preserve-order="true">
|
||||
<listeners>
|
||||
<listener class-name="org.alfresco.utility.report.HtmlReportListener"/>
|
||||
<listener class-name="org.alfresco.utility.testrail.TestRailExecutorListener"/>
|
||||
<listener class-name="org.alfresco.utility.testng.OSTestMethodSelector"/>
|
||||
</listeners>
|
||||
<test name="SearchTests-Part1">
|
||||
<classes>
|
||||
<!-- 1) SearchCasesTest.testSearchExactTermQueries: '=' exact-term operator is disabled by default on Search Enterprise; enable in follow-up PR -->
|
||||
<class name="org.alfresco.rest.search.SearchCasesTest">
|
||||
<methods>
|
||||
<exclude name="testSearchExactTermQueries"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 2) SearchAspectTest.testAspectIsRemovedWithItsProperties: Batch Indexing custom model deployment at runtime gap (https://hyland.atlassian.net/browse/ACS-12502) -->
|
||||
<class name="org.alfresco.rest.search.SearchAspectTest">
|
||||
<methods>
|
||||
<exclude name="testAspectIsRemovedWithItsProperties"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 3) SearchTest: will include all the tests-->
|
||||
<class name="org.alfresco.rest.search.SearchTest"/>
|
||||
<!-- 4) SearchSimpleCasesTest: will include all the tests -->
|
||||
<class name="org.alfresco.rest.search.SearchSimpleCasesTest"/>
|
||||
<!-- 5) SearchHighLightTest.searchNonIndexedData:AFTS bare-property-name parsing gap on ES (returns HTTP 500) -->
|
||||
<class name="org.alfresco.rest.search.SearchHighLightTest">
|
||||
<methods>
|
||||
<exclude name="searchNonIndexedData"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 6) SearchExactTermTest(Other mentioned tests): ES exact-term validation & cm:name over-match gaps
|
||||
- exactSearch_phraseInFieldConjunction_shouldReturnFullFieldValueMatch,
|
||||
- exactSearch_singleTermConjunction_shouldReturnFullFieldValueMatch: Batch Indexing custom model deployment
|
||||
at runtime gap (tokenised-model.xml 'tok' prefix), https://hyland.atlassian.net/browse/ACS-12502 -->
|
||||
<class name="org.alfresco.rest.search.SearchExactTermTest">
|
||||
<methods>
|
||||
<exclude name="exactSearch_multiTermInFieldWithOnlyUnTokenizedAnalysis_shouldReturnFullFieldValueMatch"/> <!-- pragma: allowlist secret -->
|
||||
<exclude name="exactSearch_singleTerm_shouldReturnResultsContainingExactTermInName"/>
|
||||
<exclude name="exactSearch_multiTerm_shouldReturnResultsContainingExactTerm"/>
|
||||
<exclude name="exactSearch_exactPhrase_shouldReturnResultsContainingExactPhrase"/>
|
||||
<exclude name="exactSearch_phraseInFieldConjunction_shouldReturnFullFieldValueMatch"/>
|
||||
<exclude name="exactSearch_singleTermConjunction_shouldReturnFullFieldValueMatch"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 7) SearchSpellCheckTest: need separate profile and Solr specific tests -->
|
||||
<class name="org.alfresco.rest.search.SearchSpellCheckTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 8) NodeContentTest: excluded as not part of migrated tests for Search API -->
|
||||
<class name="org.alfresco.rest.search.NodeContentTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 9) SearchNonIndexedFields.testNonIndexedDoesNotExist:uses Solr-only Luke admin endpoint /solr/alfresco/admin/luke
|
||||
SearchNonIndexedFields.testIndexedAndNonIndexedField():Batch Indexing custom model deployment at runtime gap
|
||||
(https://hyland.atlassian.net/browse/ACS-12502) -->
|
||||
<class name="org.alfresco.rest.search.SearchNonIndexedFields">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 10) SearchAPATHTest: APATH is a Solr-only indexed field -->
|
||||
<class name="org.alfresco.rest.search.SearchAPATHTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 11) SearchWithCustomModelTest: Batch Indexing custom model deployment at runtime gap, https://hyland.atlassian.net/browse/ACS-12502 -->
|
||||
<class name="org.alfresco.rest.search.SearchWithCustomModelTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
</classes>
|
||||
</test>
|
||||
</suite>
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
|
||||
<suite name="ElasticSearchE2ETests-part2" verbose="1" preserve-order="true">
|
||||
<listeners>
|
||||
<listener class-name="org.alfresco.utility.report.HtmlReportListener"/>
|
||||
<listener class-name="org.alfresco.utility.testrail.TestRailExecutorListener"/>
|
||||
<listener class-name="org.alfresco.utility.testng.OSTestMethodSelector"/>
|
||||
</listeners>
|
||||
<test name="SearchTests-Part2">
|
||||
<packages>
|
||||
<package name="org.alfresco.rest.search.*">
|
||||
<exclude name="org.alfresco.rest.search.fingerprint"/>
|
||||
<exclude name="org.alfresco.rest.search.crosslocale"/>
|
||||
</package>
|
||||
</packages>
|
||||
<classes>
|
||||
<!-- 1) FacetRangeSearchTest: range facet gaps on ES -->
|
||||
<class name="org.alfresco.rest.search.FacetRangeSearchTest">
|
||||
<methods>
|
||||
<exclude name="searchWithRange"/>
|
||||
<exclude name="searchWithRangeHardend"/>
|
||||
<exclude name="searchWithRangeAndIncludeUpperBound"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 2) FacetIntervalSearchTest: interval facet gaps on ES -->
|
||||
<class name="org.alfresco.rest.search.FacetIntervalSearchTest">
|
||||
<methods>
|
||||
<exclude name="searchWithBasicInterval"/>
|
||||
<exclude name="searchWithDates"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 3) FacetFieldsSearchTest: mincount / SITE facet gaps on ES -->
|
||||
<class name="org.alfresco.rest.search.FacetFieldsSearchTest">
|
||||
<methods>
|
||||
<exclude name="testSearchWithFacetFieldsOnlyFacetsWhereAccess"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 4) StatsSearchTest: not supported by ES -->
|
||||
<class name="org.alfresco.rest.search.StatsSearchTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 5) ShardInfoTest: Solr-only API (shardRegistry bean); skip entire class on ES. -->
|
||||
<class name="org.alfresco.rest.search.ShardInfoTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 6) PivotFacetedSearchTest: not supported by ES -->
|
||||
<class name="org.alfresco.rest.search.PivotFacetedSearchTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 7) FacetedSearchTest: not supported by ES -->
|
||||
<class name="org.alfresco.rest.search.FacetedSearchTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 8) FieldDefinitionTest: excluded entirely.
|
||||
- testTextFieldNotDefined, testmlTextFieldNotDefined, testmlTextFieldMuliple:
|
||||
unknown-property error handling & mltext stemming gaps on ES.
|
||||
- Remaining tests: Batch Indexing custom model deployment at runtime gap
|
||||
(https://hyland.atlassian.net/browse/ACS-12502). -->
|
||||
<class name="org.alfresco.rest.search.FieldDefinitionTest">
|
||||
<methods>
|
||||
<exclude name=".*"/>
|
||||
</methods>
|
||||
</class>
|
||||
<!-- 9) SearchAFTSInFieldTest: ES tokenizer / cross-locale / ~ operator gaps -->
|
||||
<class name="org.alfresco.rest.search.SearchAFTSInFieldTest">
|
||||
<methods>
|
||||
<exclude name="testSearchInFieldName"/>
|
||||
<exclude name="testSearchInFieldNameQueryExpansion"/>
|
||||
<exclude name="testExactMatchWithoutCrossLocale"/>
|
||||
<exclude name="testWithConjunctionDisjunctionAndNegation"/>
|
||||
</methods>
|
||||
</class>
|
||||
|
||||
<!-- Suppress part1 classes so the package sweep doesn't re-run them -->
|
||||
<class name="org.alfresco.rest.search.SearchCasesTest"><methods><exclude name=".*"/></methods></class>
|
||||
<class name="org.alfresco.rest.search.SearchAspectTest"><methods><exclude name=".*"/></methods></class>
|
||||
<class name="org.alfresco.rest.search.SearchTest"><methods><exclude name=".*"/></methods></class>
|
||||
<class name="org.alfresco.rest.search.SearchSimpleCasesTest"><methods><exclude name=".*"/></methods></class>
|
||||
<class name="org.alfresco.rest.search.SearchHighLightTest"><methods><exclude name=".*"/></methods></class>
|
||||
<class name="org.alfresco.rest.search.SearchExactTermTest"><methods><exclude name=".*"/></methods></class>
|
||||
<class name="org.alfresco.rest.search.SearchSpellCheckTest"><methods><exclude name=".*"/></methods></class>
|
||||
<class name="org.alfresco.rest.search.NodeContentTest"><methods><exclude name=".*"/></methods></class>
|
||||
<class name="org.alfresco.rest.search.SearchNonIndexedFields"><methods><exclude name=".*"/></methods></class>
|
||||
<class name="org.alfresco.rest.search.SearchAPATHTest"><methods><exclude name=".*"/></methods></class>
|
||||
<class name="org.alfresco.rest.search.SearchWithCustomModelTest"><methods><exclude name=".*"/></methods></class>
|
||||
</classes>
|
||||
</test>
|
||||
</suite>
|
||||
Reference in New Issue
Block a user