This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new 63789cfa04 NIFI-15354 Added unit tests for property migration in 
Elasticsearch components (#10656)
63789cfa04 is described below

commit 63789cfa04cfa00b7537680d9a98062aaa163cb9
Author: dan-s1 <[email protected]>
AuthorDate: Thu Dec 18 16:54:22 2025 -0500

    NIFI-15354 Added unit tests for property migration in Elasticsearch 
components (#10656)
    
    Signed-off-by: David Handermann <[email protected]>
---
 ...estElasticSearchControllerServiceMigration.java | 123 ++++++++++++++
 .../elasticsearch/PutElasticsearchJson.java        |   4 +-
 .../TestElasticSearchProcessorMigration.java       | 182 +++++++++++++++++++++
 3 files changed, 306 insertions(+), 3 deletions(-)

diff --git 
a/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/test/java/org/apache/nifi/elasticsearch/TestElasticSearchControllerServiceMigration.java
 
b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/test/java/org/apache/nifi/elasticsearch/TestElasticSearchControllerServiceMigration.java
new file mode 100644
index 0000000000..61b575b5e8
--- /dev/null
+++ 
b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/test/java/org/apache/nifi/elasticsearch/TestElasticSearchControllerServiceMigration.java
@@ -0,0 +1,123 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License") you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.elasticsearch;
+
+import org.apache.nifi.proxy.ProxyConfigurationService;
+import org.apache.nifi.schema.access.SchemaAccessUtils;
+import org.apache.nifi.util.MockPropertyConfiguration;
+import org.apache.nifi.util.PropertyMigrationResult;
+import org.junit.jupiter.api.Test;
+
+import java.util.Map;
+
+import static 
org.apache.nifi.schema.access.SchemaAccessUtils.SCHEMA_ACCESS_STRATEGY;
+import static 
org.apache.nifi.schema.access.SchemaAccessUtils.SCHEMA_BRANCH_NAME;
+import static org.apache.nifi.schema.access.SchemaAccessUtils.SCHEMA_NAME;
+import static 
org.apache.nifi.schema.access.SchemaAccessUtils.SCHEMA_REFERENCE_READER;
+import static org.apache.nifi.schema.access.SchemaAccessUtils.SCHEMA_REGISTRY;
+import static org.apache.nifi.schema.access.SchemaAccessUtils.SCHEMA_TEXT;
+import static org.apache.nifi.schema.access.SchemaAccessUtils.SCHEMA_VERSION;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+public class TestElasticSearchControllerServiceMigration {
+    @Test
+    void testElasticSearchClientServiceImplMigration() {
+        final Map<String, String> propertyValues = Map.of();
+        final MockPropertyConfiguration configuration = new 
MockPropertyConfiguration(propertyValues);
+        ElasticSearchClientServiceImpl elasticSearchClientService = new 
ElasticSearchClientServiceImpl();
+        elasticSearchClientService.migrateProperties(configuration);
+
+        Map<String, String> expected = Map.ofEntries(
+                Map.entry("el-cs-http-hosts", 
ElasticSearchClientService.HTTP_HOSTS.getName()),
+                Map.entry("el-cs-ssl-context-service", 
ElasticSearchClientService.PROP_SSL_CONTEXT_SERVICE.getName()),
+                Map.entry("authorization-scheme", 
ElasticSearchClientService.AUTHORIZATION_SCHEME.getName()),
+                Map.entry("el-cs-oauth2-token-provider", 
ElasticSearchClientService.OAUTH2_ACCESS_TOKEN_PROVIDER.getName()),
+                Map.entry("jwt-shared-secret", 
ElasticSearchClientService.JWT_SHARED_SECRET.getName()),
+                Map.entry("el-cs-run-as-user", 
ElasticSearchClientService.RUN_AS_USER.getName()),
+                Map.entry("el-cs-username", 
ElasticSearchClientService.USERNAME.getName()),
+                Map.entry("el-cs-password", 
ElasticSearchClientService.PASSWORD.getName()),
+                Map.entry("api-key-id", 
ElasticSearchClientService.API_KEY_ID.getName()),
+                Map.entry("api-key", 
ElasticSearchClientService.API_KEY.getName()),
+                Map.entry("el-cs-connect-timeout", 
ElasticSearchClientService.CONNECT_TIMEOUT.getName()),
+                Map.entry("Connect timeout", 
ElasticSearchClientService.CONNECT_TIMEOUT.getName()),
+                Map.entry("el-cs-socket-timeout", 
ElasticSearchClientService.SOCKET_TIMEOUT.getName()),
+                Map.entry("el-cs-charset", 
ElasticSearchClientService.CHARSET.getName()),
+                Map.entry("el-cs-suppress-nulls", 
ElasticSearchClientService.SUPPRESS_NULLS.getName()),
+                Map.entry("el-cs-enable-compression", 
ElasticSearchClientService.COMPRESSION.getName()),
+                Map.entry("el-cs-send-meta-header", 
ElasticSearchClientService.SEND_META_HEADER.getName()),
+                Map.entry("el-cs-strict-deprecation", 
ElasticSearchClientService.STRICT_DEPRECATION.getName()),
+                Map.entry("el-cs-node-selector", 
ElasticSearchClientService.NODE_SELECTOR.getName()),
+                Map.entry("el-cs-path-prefix", 
ElasticSearchClientService.PATH_PREFIX.getName()),
+                Map.entry("el-cs-sniff-cluster-nodes", 
ElasticSearchClientService.SNIFF_CLUSTER_NODES.getName()),
+                Map.entry("el-cs-sniff-failure", 
ElasticSearchClientService.SNIFF_ON_FAILURE.getName()),
+                Map.entry("el-cs-sniffer-interval", 
ElasticSearchClientService.SNIFFER_INTERVAL.getName()),
+                Map.entry("el-cs-sniffer-request-timeout", 
ElasticSearchClientService.SNIFFER_REQUEST_TIMEOUT.getName()),
+                Map.entry("el-cs-sniffer-failure-delay", 
ElasticSearchClientService.SNIFFER_FAILURE_DELAY.getName()),
+                
Map.entry(ProxyConfigurationService.OBSOLETE_PROXY_CONFIGURATION_SERVICE, 
ElasticSearchClientService.PROXY_CONFIGURATION_SERVICE.getName())
+        );
+
+        final PropertyMigrationResult result = 
configuration.toPropertyMigrationResult();
+        final Map<String, String> propertiesRenamed = 
result.getPropertiesRenamed();
+
+        assertEquals(expected, propertiesRenamed);
+    }
+
+    @Test
+    void testElasticSearchLookupServiceMigration() {
+        final Map<String, String> propertyValues = Map.of();
+        final MockPropertyConfiguration configuration = new 
MockPropertyConfiguration(propertyValues);
+        ElasticSearchLookupService elasticSearchLookupService = new 
ElasticSearchLookupService();
+        elasticSearchLookupService.migrateProperties(configuration);
+
+        Map<String, String> expected = Map.ofEntries(
+                Map.entry("el-rest-client-service", 
ElasticSearchLookupService.CLIENT_SERVICE.getName()),
+                Map.entry("el-lookup-index", 
ElasticSearchLookupService.INDEX.getName()),
+                Map.entry("el-lookup-type", 
ElasticSearchLookupService.TYPE.getName()),
+                
Map.entry(SchemaAccessUtils.OLD_SCHEMA_ACCESS_STRATEGY_PROPERTY_NAME, 
SCHEMA_ACCESS_STRATEGY.getName()),
+                Map.entry(SchemaAccessUtils.OLD_SCHEMA_REGISTRY_PROPERTY_NAME, 
SCHEMA_REGISTRY.getName()),
+                Map.entry(SchemaAccessUtils.OLD_SCHEMA_NAME_PROPERTY_NAME, 
SCHEMA_NAME.getName()),
+                
Map.entry(SchemaAccessUtils.OLD_SCHEMA_BRANCH_NAME_PROPERTY_NAME, 
SCHEMA_BRANCH_NAME.getName()),
+                Map.entry(SchemaAccessUtils.OLD_SCHEMA_VERSION_PROPERTY_NAME, 
SCHEMA_VERSION.getName()),
+                Map.entry(SchemaAccessUtils.OLD_SCHEMA_TEXT_PROPERTY_NAME, 
SCHEMA_TEXT.getName()),
+                
Map.entry(SchemaAccessUtils.OLD_SCHEMA_REFERENCE_READER_PROPERTY_NAME, 
SCHEMA_REFERENCE_READER.getName())
+        );
+
+        final PropertyMigrationResult result = 
configuration.toPropertyMigrationResult();
+        final Map<String, String> propertiesRenamed = 
result.getPropertiesRenamed();
+
+        assertEquals(expected, propertiesRenamed);
+    }
+
+    @Test
+    void testElasticSearchStringLookupServiceMigration() {
+        final Map<String, String> propertyValues = Map.of();
+        final MockPropertyConfiguration configuration = new 
MockPropertyConfiguration(propertyValues);
+        ElasticSearchStringLookupService elasticSearchLookupService = new 
ElasticSearchStringLookupService();
+        elasticSearchLookupService.migrateProperties(configuration);
+
+        Map<String, String> expected = Map.ofEntries(
+                Map.entry("el-rest-client-service", 
ElasticSearchStringLookupService.CLIENT_SERVICE.getName()),
+                Map.entry("el-lookup-index", 
ElasticSearchStringLookupService.INDEX.getName()),
+                Map.entry("el-lookup-type", 
ElasticSearchStringLookupService.TYPE.getName())
+        );
+
+        final PropertyMigrationResult result = 
configuration.toPropertyMigrationResult();
+        final Map<String, String> propertiesRenamed = 
result.getPropertiesRenamed();
+
+        assertEquals(expected, propertiesRenamed);
+    }
+}
diff --git 
a/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/PutElasticsearchJson.java
 
b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/PutElasticsearchJson.java
index 54d413c3df..b52bbc4c7f 100644
--- 
a/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/PutElasticsearchJson.java
+++ 
b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/PutElasticsearchJson.java
@@ -178,9 +178,7 @@ public class PutElasticsearchJson extends 
AbstractPutElasticsearch {
     public void migrateProperties(final PropertyConfiguration config) {
         super.migrateProperties(config);
 
-        if (config.hasProperty("put-es-json-error-documents")) {
-            config.removeProperty("put-es-json-error-documents");
-        }
+        config.removeProperty("put-es-json-error-documents");
         config.renameProperty("put-es-json-id-attr", ID_ATTRIBUTE.getName());
         config.renameProperty("put-es-json-script", SCRIPT.getName());
         config.renameProperty("put-es-json-scripted-upsert", 
SCRIPTED_UPSERT.getName());
diff --git 
a/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/test/java/org/apache/nifi/processors/elasticsearch/TestElasticSearchProcessorMigration.java
 
b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/test/java/org/apache/nifi/processors/elasticsearch/TestElasticSearchProcessorMigration.java
new file mode 100644
index 0000000000..f7b55cada7
--- /dev/null
+++ 
b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/test/java/org/apache/nifi/processors/elasticsearch/TestElasticSearchProcessorMigration.java
@@ -0,0 +1,182 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License") you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.nifi.processors.elasticsearch;
+
+import org.apache.nifi.util.PropertyMigrationResult;
+import org.apache.nifi.util.TestRunner;
+import org.apache.nifi.util.TestRunners;
+import org.junit.jupiter.api.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+public class TestElasticSearchProcessorMigration {
+    private static final Map<String, String> 
ABSTRACT_PAGINATED_JSON_QUERY_ELASTICSEARCH_MIGRATIONS = Map.of(
+            "el-rest-pagination-type", 
AbstractPaginatedJsonQueryElasticsearch.PAGINATION_TYPE.getName(),
+            "el-rest-pagination-keep-alive", 
AbstractPaginatedJsonQueryElasticsearch.PAGINATION_KEEP_ALIVE.getName()
+    );
+
+    private static final Map<String, String> 
ABSTRACT_JSON_QUERY_ELASTICSEARCH_MIGRATIONS = Map.of(
+            "el-rest-split-up-hits", 
AbstractJsonQueryElasticsearch.SEARCH_RESULTS_SPLIT.getName(),
+            "el-rest-format-hits", 
AbstractJsonQueryElasticsearch.SEARCH_RESULTS_FORMAT.getName(),
+            "el-rest-split-up-aggregations", 
AbstractJsonQueryElasticsearch.AGGREGATION_RESULTS_SPLIT.getName(),
+            "el-rest-format-aggregations", 
AbstractJsonQueryElasticsearch.AGGREGATION_RESULTS_FORMAT.getName(),
+            "el-rest-output-no-hits", 
AbstractJsonQueryElasticsearch.OUTPUT_NO_HITS.getName()
+    );
+
+    private static final Map<String, String> 
ABSTRACT_PUT_ELASTICSEARCH_MIGRATIONS = Map.of(
+            "put-es-output-error-responses", 
AbstractPutElasticsearch.OUTPUT_ERROR_RESPONSES.getName(),
+            "put-es-record-batch-size", 
AbstractPutElasticsearch.BATCH_SIZE.getName(),
+            "put-es-record-index-op", 
AbstractPutElasticsearch.INDEX_OP.getName(),
+            "put-es-not_found-is-error", 
AbstractPutElasticsearch.NOT_FOUND_IS_SUCCESSFUL.getName()
+    );
+
+    private static final Map<String, String> 
ELASTICSEARCH_REST_PROCESSOR_MIGRATIONS = Map.ofEntries(
+            Map.entry("el-rest-fetch-index", 
ElasticsearchRestProcessor.INDEX.getName()),
+            Map.entry("el-rest-type", 
ElasticsearchRestProcessor.TYPE.getName()),
+            Map.entry("el-rest-query-definition-style", 
ElasticsearchRestProcessor.QUERY_DEFINITION_STYLE.getName()),
+            Map.entry("el-rest-query", 
ElasticsearchRestProcessor.QUERY.getName()),
+            Map.entry("el-rest-query-clause", 
ElasticsearchRestProcessor.QUERY_CLAUSE.getName()),
+            Map.entry("el-rest-script", 
ElasticsearchRestProcessor.SCRIPT.getName()),
+            Map.entry("es-rest-size", 
ElasticsearchRestProcessor.SIZE.getName()),
+            Map.entry("es-rest-query-aggs", 
ElasticsearchRestProcessor.AGGREGATIONS.getName()),
+            Map.entry("es-rest-query-sort", 
ElasticsearchRestProcessor.SORT.getName()),
+            Map.entry("es-rest-query-fields", 
ElasticsearchRestProcessor.FIELDS.getName()),
+            Map.entry("es-rest-query-script-fields", 
ElasticsearchRestProcessor.SCRIPT_FIELDS.getName()),
+            Map.entry("el-query-attribute", 
ElasticsearchRestProcessor.QUERY_ATTRIBUTE.getName()),
+            Map.entry("el-rest-client-service", 
ElasticsearchRestProcessor.CLIENT_SERVICE.getName()),
+            Map.entry("put-es-record-log-error-responses", 
ElasticsearchRestProcessor.LOG_ERROR_RESPONSES.getName())
+    );
+
+    @Test
+    void testGetElasticsearch() {
+        final TestRunner runner = 
TestRunners.newTestRunner(GetElasticsearch.class);
+        final Map<String, String> expectedOwnRenamed = Map.of(
+                "get-es-id", GetElasticsearch.ID.getName(),
+                "get-es-destination", GetElasticsearch.DESTINATION.getName(),
+                "get-es-attribute-name", 
GetElasticsearch.ATTRIBUTE_NAME.getName()
+        );
+
+        final Map<String, String> expectedRenamed = new 
HashMap<>(expectedOwnRenamed);
+        expectedRenamed.putAll(ELASTICSEARCH_REST_PROCESSOR_MIGRATIONS);
+
+        final PropertyMigrationResult propertyMigrationResult = 
runner.migrateProperties();
+        assertEquals(expectedRenamed, 
propertyMigrationResult.getPropertiesRenamed());
+        assertEquals(Set.of(), propertyMigrationResult.getPropertiesRemoved());
+    }
+
+    @Test
+    void testSearchElasticsearch() {
+        final TestRunner runner = 
TestRunners.newTestRunner(SearchElasticsearch.class);
+        final Map<String, String> expectedOwnRenamed = Map.of(
+                "restart-on-finish", 
SearchElasticsearch.RESTART_ON_FINISH.getName()
+        );
+
+        final Map<String, String> expectedRenamed = new 
HashMap<>(expectedOwnRenamed);
+        
expectedRenamed.putAll(ABSTRACT_PAGINATED_JSON_QUERY_ELASTICSEARCH_MIGRATIONS);
+        expectedRenamed.putAll(ABSTRACT_JSON_QUERY_ELASTICSEARCH_MIGRATIONS);
+        expectedRenamed.putAll(ELASTICSEARCH_REST_PROCESSOR_MIGRATIONS);
+
+        final PropertyMigrationResult propertyMigrationResult = 
runner.migrateProperties();
+        assertEquals(expectedRenamed, 
propertyMigrationResult.getPropertiesRenamed());
+        assertEquals(Set.of(), propertyMigrationResult.getPropertiesRemoved());
+    }
+
+    @Test
+    void testConsumeElasticsearch() {
+        final TestRunner runner = 
TestRunners.newTestRunner(ConsumeElasticsearch.class);
+        final Map<String, String> expectedOwnRenamed = Map.of(
+                "es-rest-range-field", 
ConsumeElasticsearch.RANGE_FIELD.getName(),
+                "es-rest-sort-order", 
ConsumeElasticsearch.RANGE_FIELD_SORT_ORDER.getName(),
+                "es-rest-range-initial-value", 
ConsumeElasticsearch.RANGE_INITIAL_VALUE.getName(),
+                "es-rest-range-format", 
ConsumeElasticsearch.RANGE_DATE_FORMAT.getName(),
+                "es-rest-range-time-zone", 
ConsumeElasticsearch.RANGE_TIME_ZONE.getName(),
+                "es-rest-additional-filters", 
ConsumeElasticsearch.ADDITIONAL_FILTERS.getName(),
+                "restart-on-finish", 
SearchElasticsearch.RESTART_ON_FINISH.getName()
+        );
+
+        final Map<String, String> expectedRenamed = new 
HashMap<>(expectedOwnRenamed);
+        
expectedRenamed.putAll(ABSTRACT_PAGINATED_JSON_QUERY_ELASTICSEARCH_MIGRATIONS);
+        expectedRenamed.putAll(ABSTRACT_JSON_QUERY_ELASTICSEARCH_MIGRATIONS);
+        expectedRenamed.putAll(ELASTICSEARCH_REST_PROCESSOR_MIGRATIONS);
+
+        final PropertyMigrationResult propertyMigrationResult = 
runner.migrateProperties();
+        assertEquals(expectedRenamed, 
propertyMigrationResult.getPropertiesRenamed());
+        assertEquals(Set.of(), propertyMigrationResult.getPropertiesRemoved());
+    }
+
+    @Test
+    void testPutElasticsearchJson() {
+        final TestRunner runner = 
TestRunners.newTestRunner(PutElasticsearchJson.class);
+        final Map<String, String> expectedOwnRenamed = Map.of(
+                "put-es-json-id-attr", 
PutElasticsearchJson.ID_ATTRIBUTE.getName(),
+                "put-es-json-script", PutElasticsearchJson.SCRIPT.getName(),
+                "put-es-json-scripted-upsert", 
PutElasticsearchJson.SCRIPTED_UPSERT.getName(),
+                "put-es-json-dynamic_templates", 
PutElasticsearchJson.DYNAMIC_TEMPLATES.getName(),
+                "put-es-json-charset", PutElasticsearchJson.CHARSET.getName(),
+                "put-es-json-not_found-is-error", 
AbstractPutElasticsearch.NOT_FOUND_IS_SUCCESSFUL.getName()
+        );
+
+        final Map<String, String> expectedRenamed = new 
HashMap<>(expectedOwnRenamed);
+        expectedRenamed.putAll(ABSTRACT_PUT_ELASTICSEARCH_MIGRATIONS);
+        expectedRenamed.putAll(ELASTICSEARCH_REST_PROCESSOR_MIGRATIONS);
+
+        final PropertyMigrationResult propertyMigrationResult = 
runner.migrateProperties();
+        assertEquals(expectedRenamed, 
propertyMigrationResult.getPropertiesRenamed());
+
+        final Set<String> expectedRemoved = 
Set.of("put-es-json-error-documents");
+        assertEquals(expectedRemoved, 
propertyMigrationResult.getPropertiesRemoved());
+    }
+
+    @Test
+    void testPutElasticsearchRecord() {
+        final TestRunner runner = 
TestRunners.newTestRunner(PutElasticsearchRecord.class);
+        final Map<String, String> expectedOwnRenamed = Map.ofEntries(
+                Map.entry("put-es-record-reader", 
PutElasticsearchRecord.RECORD_READER.getName()),
+                Map.entry("put-es-record-at-timestamp", 
PutElasticsearchRecord.AT_TIMESTAMP.getName()),
+                Map.entry("put-es-record-index-op-path", 
PutElasticsearchRecord.INDEX_OP_RECORD_PATH.getName()),
+                Map.entry("put-es-record-id-path", 
PutElasticsearchRecord.ID_RECORD_PATH.getName()),
+                Map.entry("put-es-record-retain-id-field", 
PutElasticsearchRecord.RETAIN_ID_FIELD.getName()),
+                Map.entry("Retain ID (Record Path)", 
PutElasticsearchRecord.RETAIN_ID_FIELD.getName()),
+                Map.entry("put-es-record-index-record-path", 
PutElasticsearchRecord.INDEX_RECORD_PATH.getName()),
+                Map.entry("put-es-record-type-record-path", 
PutElasticsearchRecord.TYPE_RECORD_PATH.getName()),
+                Map.entry("put-es-record-at-timestamp-path", 
PutElasticsearchRecord.AT_TIMESTAMP_RECORD_PATH.getName()),
+                Map.entry("put-es-record-script-path", 
PutElasticsearchRecord.SCRIPT_RECORD_PATH.getName()),
+                Map.entry("put-es-record-scripted-upsert-path", 
PutElasticsearchRecord.SCRIPTED_UPSERT_RECORD_PATH.getName()),
+                Map.entry("put-es-record-dynamic-templates-path", 
PutElasticsearchRecord.DYNAMIC_TEMPLATES_RECORD_PATH.getName()),
+                Map.entry("put-es-record-retain-at-timestamp-field", 
PutElasticsearchRecord.RETAIN_AT_TIMESTAMP_FIELD.getName()),
+                Map.entry("put-es-record-error-writer", 
PutElasticsearchRecord.RESULT_RECORD_WRITER.getName()),
+                Map.entry("put-es-record-bulk-error-groups", 
PutElasticsearchRecord.GROUP_BULK_ERRORS_BY_TYPE.getName()),
+                Map.entry("put-es-record-at-timestamp-date-format", 
PutElasticsearchRecord.DATE_FORMAT.getName()),
+                Map.entry("put-es-record-at-timestamp-time-format", 
PutElasticsearchRecord.TIME_FORMAT.getName()),
+                Map.entry("put-es-record-at-timestamp-timestamp-format", 
PutElasticsearchRecord.TIMESTAMP_FORMAT.getName()),
+                Map.entry("put-es-record-not_found-is-error", 
AbstractPutElasticsearch.NOT_FOUND_IS_SUCCESSFUL.getName())
+        );
+
+        final Map<String, String> expectedRenamed = new 
HashMap<>(expectedOwnRenamed);
+        expectedRenamed.putAll(ABSTRACT_PUT_ELASTICSEARCH_MIGRATIONS);
+        expectedRenamed.putAll(ELASTICSEARCH_REST_PROCESSOR_MIGRATIONS);
+        final PropertyMigrationResult propertyMigrationResult = 
runner.migrateProperties();
+        assertEquals(expectedRenamed, 
propertyMigrationResult.getPropertiesRenamed());
+        assertEquals(Set.of(), propertyMigrationResult.getPropertiesRemoved());
+        
assertEquals(Set.of(PutElasticsearchRecord.RESULT_RECORD_WRITER.getName()), 
propertyMigrationResult.getPropertiesUpdated());
+    }
+}

Reply via email to