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