This is an automated email from the ASF dual-hosted git repository. dsmiley pushed a commit to branch branch_9_8 in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_9_8 by this push: new 8bf0100e502 SOLR-16390: fix flaky test ClusterPropsAPITest.testClusterPropertyOpsAllGood (#2901) 8bf0100e502 is described below commit 8bf0100e502ade4b8161e4b90f762b117a6ef442 Author: Pierre Salagnac <psalag...@apache.org> AuthorDate: Tue Dec 10 22:39:06 2024 +0100 SOLR-16390: fix flaky test ClusterPropsAPITest.testClusterPropertyOpsAllGood (#2901) The test fails when SSL in enabled, because of testing framework that set 'urlScheme' cluster property. This change updates the test to ignore existing cluster properties. (cherry picked from commit e105547be5b36994703d3ed0d38413c65f0b8349) --- .../handler/admin/api/ClusterPropsAPITest.java | 24 ++++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/solr/core/src/test/org/apache/solr/handler/admin/api/ClusterPropsAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/api/ClusterPropsAPITest.java index 9ae628e71eb..f690dbc1498 100644 --- a/solr/core/src/test/org/apache/solr/handler/admin/api/ClusterPropsAPITest.java +++ b/solr/core/src/test/org/apache/solr/handler/admin/api/ClusterPropsAPITest.java @@ -18,6 +18,8 @@ package org.apache.solr.handler.admin.api; import static org.apache.solr.common.util.Utils.getObjectByPath; +import static org.hamcrest.Matchers.hasItem; +import static org.hamcrest.Matchers.not; import java.net.URL; import java.util.List; @@ -86,11 +88,14 @@ public class ClusterPropsAPITest extends SolrCloudTestCase { @Test public void testClusterPropertyOpsAllGood() throws Exception { try (HttpSolrClient client = new HttpSolrClient.Builder(baseUrl.toString()).build()) { - // List Properties, confirm there aren't any + // List Properties, confirm the test property does not exist + // This ignores eventually existing other properties Object o = Utils.executeGET(client.getHttpClient(), baseUrlV2ClusterProps, Utils.JSONCONSUMER); assertNotNull(o); - assertEquals(0, ((List<?>) getObjectByPath(o, true, "clusterProperties")).size()); + @SuppressWarnings("unchecked") + List<String> initProperties = (List<String>) getObjectByPath(o, true, "clusterProperties"); + assertThat(initProperties, not(hasItem(testClusterProperty))); // Create a single cluster property String path = baseUrlV2ClusterProps + "/" + testClusterProperty; @@ -100,13 +105,12 @@ public class ClusterPropsAPITest extends SolrCloudTestCase { o = Utils.executeHttpMethod(client.getHttpClient(), path, Utils.JSONCONSUMER, httpPut); assertNotNull(o); - // List Properties, this time there should be 1 + // List Properties, this time there should be the just added property o = Utils.executeGET(client.getHttpClient(), baseUrlV2ClusterProps, Utils.JSONCONSUMER); assertNotNull(o); - assertEquals(1, ((List<?>) getObjectByPath(o, true, "clusterProperties")).size()); - assertEquals( - testClusterProperty, - (String) ((List<?>) getObjectByPath(o, true, "clusterProperties")).get(0)); + @SuppressWarnings("unchecked") + List<String> updatedProperties = (List<String>) getObjectByPath(o, true, "clusterProperties"); + assertThat(updatedProperties, hasItem(testClusterProperty)); // Fetch Cluster Property // Same path as used in the Create step above @@ -122,10 +126,12 @@ public class ClusterPropsAPITest extends SolrCloudTestCase { o = Utils.executeHttpMethod(client.getHttpClient(), path, Utils.JSONCONSUMER, httpDelete); assertNotNull(o); - // List Properties, should be back to 0 + // List Properties, the test property should be gone o = Utils.executeGET(client.getHttpClient(), baseUrlV2ClusterProps, Utils.JSONCONSUMER); assertNotNull(o); - assertEquals(0, ((List<?>) getObjectByPath(o, true, "clusterProperties")).size()); + @SuppressWarnings("unchecked") + List<String> clearedProperties = (List<String>) getObjectByPath(o, true, "clusterProperties"); + assertThat(clearedProperties, not(hasItem(testClusterProperty))); } }