This is an automated email from the ASF dual-hosted git repository. psalagnac pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/main by this push: new e105547be5b SOLR-16390: fix flaky test ClusterPropsAPITest.testClusterPropertyOpsAllGood (#2901) e105547be5b is described below commit e105547be5b36994703d3ed0d38413c65f0b8349 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. --- .../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))); } }