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

github-actions[bot] pushed a commit to branch cherry-pick-99c8ae52-to-branch-1.3
in repository https://gitbox.apache.org/repos/asf/gravitino.git

commit 4fd217aaabbdc6a3090bec749eea3d32fe8b1a70
Author: Qi Yu <[email protected]>
AuthorDate: Wed Jun 10 11:37:29 2026 +0800

    [#11542] test(client-java): Configure Basic authenticator in 
BasicAuthOperationsIT (#11543)
    
    ### What changes were proposed in this pull request?
    
    Configure `BasicAuthOperationsIT` to use the built-in
    `BasicAuthenticator`.
    
    ### Why are the changes needed?
    
    The test enables the built-in IdP extension while retaining the default
    `simple` authenticator. This incompatible configuration calls
    `System.exit(1)` and terminates the Gradle test executor.
    
    Fix: #11542
    
    ### Does this PR introduce _any_ user-facing change?
    
    No.
    
    ### How was this patch tested?
    
    - `./gradlew :clients:client-java:test --tests
    
"org.apache.gravitino.client.integration.test.authorization.BasicAuthOperationsIT"`
    - `./gradlew :clients:client-java:test`
    
    Co-authored-by: yuqi <[email protected]>
    # Conflicts:
    #       
clients/client-java/src/test/java/org/apache/gravitino/client/integration/test/authorization/BasicAuthOperationsIT.java
---
 .../test/authorization/BasicAuthOperationsIT.java  | 80 ++++++++++++++++++++++
 1 file changed, 80 insertions(+)

diff --git 
a/clients/client-java/src/test/java/org/apache/gravitino/client/integration/test/authorization/BasicAuthOperationsIT.java
 
b/clients/client-java/src/test/java/org/apache/gravitino/client/integration/test/authorization/BasicAuthOperationsIT.java
new file mode 100644
index 0000000000..5d6242a20e
--- /dev/null
+++ 
b/clients/client-java/src/test/java/org/apache/gravitino/client/integration/test/authorization/BasicAuthOperationsIT.java
@@ -0,0 +1,80 @@
+/*
+ * 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.gravitino.client.integration.test.authorization;
+
+import static org.apache.gravitino.integration.test.util.BaseIT.setEnv;
+
+import com.google.common.collect.Maps;
+import java.io.IOException;
+import java.util.Map;
+import org.apache.gravitino.Configs;
+import org.apache.gravitino.client.GravitinoAdminClient;
+import org.apache.gravitino.client.GravitinoVersion;
+import org.apache.gravitino.idp.auth.BasicAuthenticator;
+import org.apache.gravitino.idp.web.rest.feature.IdpRESTFeature;
+import org.apache.gravitino.integration.test.util.BaseIT;
+import org.apache.gravitino.integration.test.util.ITUtils;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
+/** Integration tests for Gravitino client HTTP Basic authentication against 
the REST server. */
+public class BasicAuthOperationsIT extends BaseIT {
+
+  private static final String ADMIN = "admin";
+  private static final String ADMIN_PASSWORD = "Passw0rd-For-Admin1";
+
+  public void setGravitinoAdminClient(GravitinoAdminClient client) {
+    this.client = client;
+  }
+
+  @BeforeAll
+  public void startIntegrationTest() throws Exception {
+    setEnv(IdpRESTFeature.INITIAL_ADMIN_PASSWORD_ENV, ADMIN_PASSWORD);
+    Map<String, String> configs = Maps.newHashMap();
+    configs.put(Configs.ENABLE_AUTHORIZATION.getKey(), String.valueOf(false));
+    configs.put(Configs.CACHE_ENABLED.getKey(), String.valueOf(false));
+    configs.put(Configs.STORE_DELETE_AFTER_TIME.getKey(), String.valueOf(20 * 
60 * 1000L));
+    configs.put(Configs.SERVICE_ADMINS.getKey(), ADMIN);
+    configs.put(Configs.AUTHENTICATORS.getKey(), 
BasicAuthenticator.class.getCanonicalName());
+    configs.put(
+        Configs.REST_API_EXTENSION_PACKAGES.getKey(), 
IdpRESTFeature.IDP_REST_EXTENSION_PACKAGE);
+    registerCustomConfigs(configs);
+    super.startIntegrationTest();
+
+    client = GravitinoAdminClient.builder(serverUri).withBasicAuth(ADMIN, 
ADMIN_PASSWORD).build();
+  }
+
+  @AfterAll
+  public void stopIntegrationTest() throws IOException, InterruptedException {
+    super.stopIntegrationTest();
+  }
+
+  @Test
+  public void testAuthenticationApi() throws Exception {
+    GravitinoVersion gravitinoVersion = client.serverVersion();
+    Assertions.assertEquals(System.getenv("PROJECT_VERSION"), 
gravitinoVersion.version());
+    Assertions.assertFalse(gravitinoVersion.compileDate().isEmpty());
+    if (testMode.equals(ITUtils.EMBEDDED_TEST_MODE)) {
+      final String gitCommitId = readGitCommitIdFromGitFile();
+      Assertions.assertEquals(gitCommitId, gravitinoVersion.gitCommit());
+    }
+  }
+}

Reply via email to