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)));
     }
   }
 

Reply via email to