This is an automated email from the ASF dual-hosted git repository.
xiangfu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 5b4e19aa4e fix: Pulsar OAuth2 Authentication Factory (#12195)
5b4e19aa4e is described below
commit 5b4e19aa4e3073ce9030d2283fb80bbaf177df21
Author: Jeffrey Bolle <[email protected]>
AuthorDate: Mon Jan 1 14:11:15 2024 -0500
fix: Pulsar OAuth2 Authentication Factory (#12195)
* do appropriate string check on config params.
* test authentication factory creation with valid config.
* Fixed line spacing, added testing visibility annotation.
---
.../java/org/apache/pinot/plugin/stream/pulsar/PulsarConfig.java | 4 +++-
.../plugin/stream/pulsar/PulsarPartitionLevelConnectionHandler.java | 6 +++---
.../org/apache/pinot/plugin/stream/pulsar/PulsarConfigTest.java | 4 ++++
3 files changed, 10 insertions(+), 4 deletions(-)
diff --git
a/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/main/java/org/apache/pinot/plugin/stream/pulsar/PulsarConfig.java
b/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/main/java/org/apache/pinot/plugin/stream/pulsar/PulsarConfig.java
index 8cdc8f8647..637899d649 100644
---
a/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/main/java/org/apache/pinot/plugin/stream/pulsar/PulsarConfig.java
+++
b/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/main/java/org/apache/pinot/plugin/stream/pulsar/PulsarConfig.java
@@ -18,6 +18,7 @@
*/
package org.apache.pinot.plugin.stream.pulsar;
+import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import java.io.File;
import java.net.MalformedURLException;
@@ -105,7 +106,8 @@ public class PulsarConfig {
_audience = getConfigValue(streamConfigMap, OAUTH_AUDIENCE);
}
- protected void validateOAuthCredFile() {
+ @VisibleForTesting
+ private void validateOAuthCredFile() {
try {
URL credFilePathUrl = new URL(_credentialsFilePath);
if (!"file".equals(credFilePathUrl.getProtocol())) {
diff --git
a/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/main/java/org/apache/pinot/plugin/stream/pulsar/PulsarPartitionLevelConnectionHandler.java
b/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/main/java/org/apache/pinot/plugin/stream/pulsar/PulsarPartitionLevelConnectionHandler.java
index 163400bc3b..53b27eb963 100644
---
a/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/main/java/org/apache/pinot/plugin/stream/pulsar/PulsarPartitionLevelConnectionHandler.java
+++
b/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/main/java/org/apache/pinot/plugin/stream/pulsar/PulsarPartitionLevelConnectionHandler.java
@@ -73,10 +73,10 @@ public class PulsarPartitionLevelConnectionHandler {
}
}
- private Optional<Authentication> getAuthenticationFactory(PulsarConfig
pulsarConfig) {
+ protected Optional<Authentication> getAuthenticationFactory(PulsarConfig
pulsarConfig) {
if (StringUtils.isNotBlank(pulsarConfig.getIssuerUrl())
- && StringUtils.isBlank(pulsarConfig.getAudience())
- && StringUtils.isBlank(pulsarConfig.getCredentialsFilePath())) {
+ && StringUtils.isNotBlank(pulsarConfig.getAudience())
+ && StringUtils.isNotBlank(pulsarConfig.getCredentialsFilePath())) {
try {
return Optional.of(AuthenticationFactoryOAuth2.clientCredentials(
new URL(pulsarConfig.getIssuerUrl()),
diff --git
a/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/test/java/org/apache/pinot/plugin/stream/pulsar/PulsarConfigTest.java
b/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/test/java/org/apache/pinot/plugin/stream/pulsar/PulsarConfigTest.java
index 3c7eeffe80..486944b703 100644
---
a/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/test/java/org/apache/pinot/plugin/stream/pulsar/PulsarConfigTest.java
+++
b/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/test/java/org/apache/pinot/plugin/stream/pulsar/PulsarConfigTest.java
@@ -31,6 +31,7 @@ import org.apache.pinot.spi.stream.StreamConfigProperties;
import org.testng.Assert;
import org.testng.annotations.Test;
+import static org.junit.Assert.assertTrue;
public class PulsarConfigTest {
public static final String TABLE_NAME_WITH_TYPE = "tableName_REALTIME";
@@ -137,6 +138,9 @@ public class PulsarConfigTest {
Assert.assertEquals(pulsarConfig.getCredentialsFilePath(),
"file://" + testFile.toFile().getAbsolutePath());
Assert.assertEquals(pulsarConfig.getAudience(), "urn:test:test");
+ PulsarPartitionLevelConnectionHandler
pulsarPartitionLevelConnectionHandler =
+ new PulsarPartitionLevelConnectionHandler("testId", streamConfig);
+
assertTrue(pulsarPartitionLevelConnectionHandler.getAuthenticationFactory(pulsarConfig).isPresent());
} catch (Exception e) {
Assert.fail("Should not throw exception", e);
} finally {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]