[ACS-12467] Enable batch indexing for search tests (#4323)

Enabled Batch Indexing for Search API Tests inside Community repo.
This commit is contained in:
Mousumi Podder
2026-09-02 14:10:58 +05:30
committed by GitHub
parent 6bba604e19
commit 622a704e10
8 changed files with 395 additions and 152 deletions
+11 -1
View File
@@ -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
View File
@@ -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"
}
+2
View File
@@ -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
+8 -2
View File
@@ -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>
@@ -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>
@@ -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>