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

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new ae596ed  Inject AuthenticationService into ProxyService (#2038)
ae596ed is described below

commit ae596ed7f546dd6db7e9c5c5623d34c2a1a0bda0
Author: Ivan Kelly <[email protected]>
AuthorDate: Thu Jun 28 18:02:47 2018 +0200

    Inject AuthenticationService into ProxyService (#2038)
    
    So that the same authentication service can be used for the webserver also.
    
    Master issue: #1991
---
 .../java/org/apache/pulsar/proxy/server/ProxyService.java    | 12 ++++++------
 .../org/apache/pulsar/proxy/server/ProxyServiceStarter.java  |  5 ++++-
 .../proxy/server/ProxyAuthenticatedProducerConsumerTest.java |  5 ++++-
 .../apache/pulsar/proxy/server/ProxyAuthenticationTest.java  |  6 +++++-
 .../pulsar/proxy/server/ProxyConnectionThrottlingTest.java   |  5 ++++-
 .../apache/pulsar/proxy/server/ProxyForwardAuthDataTest.java | 10 ++++++++--
 .../pulsar/proxy/server/ProxyLookupThrottlingTest.java       |  7 ++++++-
 .../pulsar/proxy/server/ProxyRolesEnforcementTest.java       |  6 +++++-
 .../test/java/org/apache/pulsar/proxy/server/ProxyTest.java  |  5 ++++-
 .../java/org/apache/pulsar/proxy/server/ProxyTlsTest.java    |  5 ++++-
 .../pulsar/proxy/server/ProxyWithAuthorizationNegTest.java   |  6 +++++-
 .../pulsar/proxy/server/ProxyWithAuthorizationTest.java      | 12 +++++++++---
 .../proxy/server/ProxyWithoutServiceDiscoveryTest.java       |  6 +++++-
 13 files changed, 69 insertions(+), 21 deletions(-)

diff --git 
a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyService.java 
b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyService.java
index 48d643b..964cd1e 100644
--- 
a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyService.java
+++ 
b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyService.java
@@ -56,7 +56,7 @@ public class ProxyService implements Closeable {
     private final String serviceUrl;
     private final String serviceUrlTls;
     private ConfigurationCacheService configurationCacheService;
-    private AuthenticationService authenticationService;
+    private final AuthenticationService authenticationService;
     private AuthorizationService authorizationService;
     private ZooKeeperClientFactory zkClientFactory = null;
 
@@ -72,7 +72,8 @@ public class ProxyService implements Closeable {
 
     private static final int numThreads = 
Runtime.getRuntime().availableProcessors();
 
-    public ProxyService(ProxyConfiguration proxyConfig) throws IOException {
+    public ProxyService(ProxyConfiguration proxyConfig,
+                        AuthenticationService authenticationService) throws 
IOException {
         checkNotNull(proxyConfig);
         this.proxyConfig = proxyConfig;
 
@@ -90,16 +91,15 @@ public class ProxyService implements Closeable {
 
         this.acceptorGroup = EventLoopUtil.newEventLoopGroup(1, 
acceptorThreadFactory);
         this.workerGroup = EventLoopUtil.newEventLoopGroup(numThreads, 
workersThreadFactory);
+        this.authenticationService = authenticationService;
     }
 
     public void start() throws Exception {
-        ServiceConfiguration serviceConfiguration = 
PulsarConfigurationLoader.convertFrom(proxyConfig);
-        authenticationService = new 
AuthenticationService(serviceConfiguration);
-
         if (!isBlank(proxyConfig.getZookeeperServers()) && 
!isBlank(proxyConfig.getConfigurationStoreServers())) {
             discoveryProvider = new BrokerDiscoveryProvider(this.proxyConfig, 
getZooKeeperClientFactory());
             this.configurationCacheService = new 
ConfigurationCacheService(discoveryProvider.globalZkCache);
-            authorizationService = new 
AuthorizationService(serviceConfiguration, configurationCacheService);
+            authorizationService = new 
AuthorizationService(PulsarConfigurationLoader.convertFrom(proxyConfig),
+                                                            
configurationCacheService);
         }
 
         ServerBootstrap bootstrap = new ServerBootstrap();
diff --git 
a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyServiceStarter.java
 
b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyServiceStarter.java
index 75adb16..9f5d55a 100644
--- 
a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyServiceStarter.java
+++ 
b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyServiceStarter.java
@@ -29,6 +29,7 @@ import static 
org.slf4j.bridge.SLF4JBridgeHandler.removeHandlersForRootLogger;
 import java.util.List;
 import org.apache.commons.lang3.tuple.ImmutablePair;
 import org.apache.commons.lang3.tuple.Pair;
+import org.apache.pulsar.broker.authentication.AuthenticationService;
 import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
 import org.eclipse.jetty.servlet.ServletHolder;
 import org.slf4j.Logger;
@@ -116,8 +117,10 @@ public class ProxyServiceStarter {
 
         java.security.Security.addProvider(new 
org.bouncycastle.jce.provider.BouncyCastleProvider());
 
+        AuthenticationService authenticationService = new 
AuthenticationService(
+                PulsarConfigurationLoader.convertFrom(config));
         // create proxy service
-        ProxyService proxyService = new ProxyService(config);
+        ProxyService proxyService = new ProxyService(config, 
authenticationService);
         // create a web-service
         final WebServer server = new WebServer(config);
 
diff --git 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyAuthenticatedProducerConsumerTest.java
 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyAuthenticatedProducerConsumerTest.java
index fba6010..1e57f73 100644
--- 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyAuthenticatedProducerConsumerTest.java
+++ 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyAuthenticatedProducerConsumerTest.java
@@ -28,6 +28,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.bookkeeper.test.PortManager;
 import org.apache.pulsar.broker.authentication.AuthenticationProviderTls;
+import org.apache.pulsar.broker.authentication.AuthenticationService;
 import org.apache.pulsar.client.admin.PulsarAdmin;
 import org.apache.pulsar.client.api.Authentication;
 import org.apache.pulsar.client.api.Consumer;
@@ -36,6 +37,7 @@ import org.apache.pulsar.client.api.Producer;
 import org.apache.pulsar.client.api.ProducerConsumerBase;
 import org.apache.pulsar.client.api.PulsarClient;
 import org.apache.pulsar.client.impl.auth.AuthenticationTls;
+import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
 import org.apache.pulsar.common.policies.data.ClusterData;
 import org.apache.pulsar.common.policies.data.TenantInfo;
 import org.mockito.Mockito;
@@ -119,7 +121,8 @@ public class ProxyAuthenticatedProducerConsumerTest extends 
ProducerConsumerBase
         proxyConfig.setZookeeperServers(DUMMY_VALUE);
         proxyConfig.setConfigurationStoreServers(DUMMY_VALUE);
 
-        proxyService = Mockito.spy(new ProxyService(proxyConfig));
+        proxyService = Mockito.spy(new ProxyService(proxyConfig, new 
AuthenticationService(
+                                                            
PulsarConfigurationLoader.convertFrom(proxyConfig))));
         
doReturn(mockZooKeeperClientFactory).when(proxyService).getZooKeeperClientFactory();
         proxyService.start();
     }
diff --git 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyAuthenticationTest.java
 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyAuthenticationTest.java
index f572e5d..85a1f84 100644
--- 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyAuthenticationTest.java
+++ 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyAuthenticationTest.java
@@ -37,6 +37,7 @@ import org.apache.bookkeeper.test.PortManager;
 import org.apache.pulsar.broker.ServiceConfiguration;
 import org.apache.pulsar.broker.authentication.AuthenticationDataSource;
 import org.apache.pulsar.broker.authentication.AuthenticationProvider;
+import org.apache.pulsar.broker.authentication.AuthenticationService;
 import org.apache.pulsar.client.admin.PulsarAdmin;
 import org.apache.pulsar.client.api.Authentication;
 import org.apache.pulsar.client.api.AuthenticationDataProvider;
@@ -48,6 +49,7 @@ import org.apache.pulsar.client.api.ProducerConsumerBase;
 import org.apache.pulsar.client.api.PulsarClient;
 import org.apache.pulsar.client.api.PulsarClientException;
 import org.apache.pulsar.client.impl.ConsumerImpl;
+import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
 import org.apache.pulsar.common.policies.data.AuthAction;
 import org.apache.pulsar.common.util.FutureUtil;
 import org.slf4j.Logger;
@@ -237,7 +239,9 @@ public class ProxyAuthenticationTest extends 
ProducerConsumerBase {
                providers.add(BasicAuthenticationProvider.class.getName());
                proxyConfig.setAuthenticationProviders(providers);
                proxyConfig.setForwardAuthorizationCredentials(true);
-               ProxyService proxyService = new ProxyService(proxyConfig);
+                AuthenticationService authenticationService = new 
AuthenticationService(
+                        PulsarConfigurationLoader.convertFrom(proxyConfig));
+               ProxyService proxyService = new ProxyService(proxyConfig, 
authenticationService);
 
                proxyService.start();
 
diff --git 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyConnectionThrottlingTest.java
 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyConnectionThrottlingTest.java
index 91e3523..0923ded 100644
--- 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyConnectionThrottlingTest.java
+++ 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyConnectionThrottlingTest.java
@@ -22,8 +22,10 @@ import static org.mockito.Mockito.doReturn;
 
 import org.apache.bookkeeper.test.PortManager;
 import org.apache.pulsar.broker.auth.MockedPulsarServiceBaseTest;
+import org.apache.pulsar.broker.authentication.AuthenticationService;
 import org.apache.pulsar.client.api.Producer;
 import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
 import org.mockito.Mockito;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -50,7 +52,8 @@ public class ProxyConnectionThrottlingTest extends 
MockedPulsarServiceBaseTest {
         proxyConfig.setConfigurationStoreServers(DUMMY_VALUE);
         proxyConfig.setMaxConcurrentLookupRequests(NUM_CONCURRENT_LOOKUP);
         
proxyConfig.setMaxConcurrentInboundConnections(NUM_CONCURRENT_INBOUND_CONNECTION);
-        proxyService = Mockito.spy(new ProxyService(proxyConfig));
+        proxyService = Mockito.spy(new ProxyService(proxyConfig, new 
AuthenticationService(
+                                                            
PulsarConfigurationLoader.convertFrom(proxyConfig))));
         
doReturn(mockZooKeeperClientFactory).when(proxyService).getZooKeeperClientFactory();
 
         proxyService.start();
diff --git 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyForwardAuthDataTest.java
 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyForwardAuthDataTest.java
index de5bba1..42915ec 100644
--- 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyForwardAuthDataTest.java
+++ 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyForwardAuthDataTest.java
@@ -26,10 +26,12 @@ import java.util.HashSet;
 import java.util.Set;
 
 import org.apache.bookkeeper.test.PortManager;
+import org.apache.pulsar.broker.authentication.AuthenticationService;
 import org.apache.pulsar.client.admin.PulsarAdmin;
 import org.apache.pulsar.client.api.ProducerConsumerBase;
 import org.apache.pulsar.client.api.PulsarClient;
 import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
 import org.apache.pulsar.common.policies.data.AuthAction;
 import 
org.apache.pulsar.proxy.server.ProxyRolesEnforcementTest.BasicAuthentication;
 import 
org.apache.pulsar.proxy.server.ProxyRolesEnforcementTest.BasicAuthenticationProvider;
@@ -114,7 +116,9 @@ public class ProxyForwardAuthDataTest extends 
ProducerConsumerBase {
         providers.add(BasicAuthenticationProvider.class.getName());
         proxyConfig.setAuthenticationProviders(providers);
 
-        try (ProxyService proxyService = new ProxyService(proxyConfig);
+        AuthenticationService authenticationService = new 
AuthenticationService(
+                PulsarConfigurationLoader.convertFrom(proxyConfig));
+        try (ProxyService proxyService = new ProxyService(proxyConfig, 
authenticationService);
                 PulsarClient proxyClient = createPulsarClient(proxyServiceUrl, 
clientAuthParams)) {
             proxyService.start();
             
proxyClient.newConsumer().topic(topicName).subscriptionName(subscriptionName).subscribe();
@@ -125,7 +129,9 @@ public class ProxyForwardAuthDataTest extends 
ProducerConsumerBase {
 
         // Step 3: Create proxy with forwardAuthData enabled
         proxyConfig.setForwardAuthorizationCredentials(true);
-        try (ProxyService proxyService = new ProxyService(proxyConfig);
+        authenticationService = new AuthenticationService(
+                PulsarConfigurationLoader.convertFrom(proxyConfig));
+        try (ProxyService proxyService = new ProxyService(proxyConfig, 
authenticationService);
                 PulsarClient proxyClient = createPulsarClient(proxyServiceUrl, 
clientAuthParams)) {
             proxyService.start();
             
proxyClient.newConsumer().topic(topicName).subscriptionName(subscriptionName).subscribe().close();
diff --git 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyLookupThrottlingTest.java
 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyLookupThrottlingTest.java
index 07eb137..09912ec 100644
--- 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyLookupThrottlingTest.java
+++ 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyLookupThrottlingTest.java
@@ -23,8 +23,10 @@ import static org.testng.Assert.assertTrue;
 
 import org.apache.bookkeeper.test.PortManager;
 import org.apache.pulsar.broker.auth.MockedPulsarServiceBaseTest;
+import org.apache.pulsar.broker.authentication.AuthenticationService;
 import org.apache.pulsar.client.api.Producer;
 import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
 import org.mockito.Mockito;
 import org.testng.Assert;
 import org.testng.annotations.AfterClass;
@@ -49,7 +51,10 @@ public class ProxyLookupThrottlingTest extends 
MockedPulsarServiceBaseTest {
         proxyConfig.setConfigurationStoreServers(DUMMY_VALUE);
         proxyConfig.setMaxConcurrentLookupRequests(NUM_CONCURRENT_LOOKUP);
         
proxyConfig.setMaxConcurrentInboundConnections(NUM_CONCURRENT_INBOUND_CONNECTION);
-        proxyService = Mockito.spy(new ProxyService(proxyConfig));
+
+        AuthenticationService authenticationService = new 
AuthenticationService(
+                PulsarConfigurationLoader.convertFrom(proxyConfig));
+        proxyService = Mockito.spy(new ProxyService(proxyConfig, 
authenticationService));
         
doReturn(mockZooKeeperClientFactory).when(proxyService).getZooKeeperClientFactory();
 
         proxyService.start();
diff --git 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyRolesEnforcementTest.java
 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyRolesEnforcementTest.java
index 5e5b4f6..69f4f5a 100644
--- 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyRolesEnforcementTest.java
+++ 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyRolesEnforcementTest.java
@@ -35,12 +35,14 @@ import org.apache.bookkeeper.test.PortManager;
 import org.apache.pulsar.broker.ServiceConfiguration;
 import org.apache.pulsar.broker.authentication.AuthenticationDataSource;
 import org.apache.pulsar.broker.authentication.AuthenticationProvider;
+import org.apache.pulsar.broker.authentication.AuthenticationService;
 import org.apache.pulsar.client.admin.PulsarAdmin;
 import org.apache.pulsar.client.api.Authentication;
 import org.apache.pulsar.client.api.AuthenticationDataProvider;
 import org.apache.pulsar.client.api.ProducerConsumerBase;
 import org.apache.pulsar.client.api.PulsarClient;
 import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
 import org.apache.pulsar.common.policies.data.AuthAction;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -222,7 +224,9 @@ public class ProxyRolesEnforcementTest extends 
ProducerConsumerBase {
         Set<String> providers = new HashSet<>();
         providers.add(BasicAuthenticationProvider.class.getName());
         proxyConfig.setAuthenticationProviders(providers);
-        ProxyService proxyService = new ProxyService(proxyConfig);
+        ProxyService proxyService = new ProxyService(proxyConfig,
+                                                     new AuthenticationService(
+                                                             
PulsarConfigurationLoader.convertFrom(proxyConfig)));
 
         proxyService.start();
         proxyClient = createPulsarClient(proxyServiceUrl, proxyAuthParams);
diff --git 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyTest.java 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyTest.java
index 8647994..9e856c1 100644
--- a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyTest.java
+++ b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyTest.java
@@ -26,11 +26,13 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.bookkeeper.test.PortManager;
 import org.apache.pulsar.broker.auth.MockedPulsarServiceBaseTest;
+import org.apache.pulsar.broker.authentication.AuthenticationService;
 import org.apache.pulsar.client.api.Consumer;
 import org.apache.pulsar.client.api.Message;
 import org.apache.pulsar.client.api.MessageRoutingMode;
 import org.apache.pulsar.client.api.Producer;
 import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
 import org.apache.pulsar.common.policies.data.TenantInfo;
 import org.mockito.Mockito;
 import org.testng.annotations.AfterClass;
@@ -53,7 +55,8 @@ public class ProxyTest extends MockedPulsarServiceBaseTest {
         proxyConfig.setZookeeperServers(DUMMY_VALUE);
         proxyConfig.setConfigurationStoreServers(DUMMY_VALUE);
 
-        proxyService = Mockito.spy(new ProxyService(proxyConfig));
+        proxyService = Mockito.spy(new ProxyService(proxyConfig, new 
AuthenticationService(
+                                                            
PulsarConfigurationLoader.convertFrom(proxyConfig))));
         
doReturn(mockZooKeeperClientFactory).when(proxyService).getZooKeeperClientFactory();
 
         proxyService.start();
diff --git 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyTlsTest.java 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyTlsTest.java
index a2332a8..116814b 100644
--- 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyTlsTest.java
+++ 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyTlsTest.java
@@ -25,11 +25,13 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.bookkeeper.test.PortManager;
 import org.apache.pulsar.broker.auth.MockedPulsarServiceBaseTest;
+import org.apache.pulsar.broker.authentication.AuthenticationService;
 import org.apache.pulsar.client.api.Consumer;
 import org.apache.pulsar.client.api.Message;
 import org.apache.pulsar.client.api.MessageRoutingMode;
 import org.apache.pulsar.client.api.Producer;
 import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
 import org.apache.pulsar.common.policies.data.TenantInfo;
 import org.mockito.Mockito;
 import org.testng.annotations.AfterClass;
@@ -62,7 +64,8 @@ public class ProxyTlsTest extends MockedPulsarServiceBaseTest 
{
         proxyConfig.setZookeeperServers(DUMMY_VALUE);
         proxyConfig.setConfigurationStoreServers(DUMMY_VALUE);
 
-        proxyService = Mockito.spy(new ProxyService(proxyConfig));
+        proxyService = Mockito.spy(new ProxyService(proxyConfig, new 
AuthenticationService(
+                                                            
PulsarConfigurationLoader.convertFrom(proxyConfig))));
         
doReturn(mockZooKeeperClientFactory).when(proxyService).getZooKeeperClientFactory();
 
         proxyService.start();
diff --git 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyWithAuthorizationNegTest.java
 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyWithAuthorizationNegTest.java
index b09ea68..9ec8ced 100644
--- 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyWithAuthorizationNegTest.java
+++ 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyWithAuthorizationNegTest.java
@@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.bookkeeper.test.PortManager;
 import org.apache.pulsar.broker.authentication.AuthenticationProviderTls;
+import org.apache.pulsar.broker.authentication.AuthenticationService;
 import org.apache.pulsar.client.admin.PulsarAdmin;
 import org.apache.pulsar.client.api.Authentication;
 import org.apache.pulsar.client.api.Consumer;
@@ -36,6 +37,7 @@ import org.apache.pulsar.client.api.ProducerConsumerBase;
 import org.apache.pulsar.client.api.PulsarClient;
 import org.apache.pulsar.client.api.PulsarClientException;
 import org.apache.pulsar.client.impl.auth.AuthenticationTls;
+import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
 import org.apache.pulsar.common.policies.data.AuthAction;
 import org.apache.pulsar.common.policies.data.TenantInfo;
 import org.mockito.Mockito;
@@ -122,7 +124,9 @@ public class ProxyWithAuthorizationNegTest extends 
ProducerConsumerBase {
 
         proxyConfig.setAuthenticationProviders(providers);
 
-        proxyService = Mockito.spy(new ProxyService(proxyConfig));
+        AuthenticationService authenticationService = new 
AuthenticationService(
+                PulsarConfigurationLoader.convertFrom(proxyConfig));
+        proxyService = Mockito.spy(new ProxyService(proxyConfig, 
authenticationService));
 
         proxyService.start();
     }
diff --git 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyWithAuthorizationTest.java
 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyWithAuthorizationTest.java
index cc31d9b..0138de6 100644
--- 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyWithAuthorizationTest.java
+++ 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyWithAuthorizationTest.java
@@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.bookkeeper.test.PortManager;
 import org.apache.pulsar.broker.authentication.AuthenticationProviderTls;
+import org.apache.pulsar.broker.authentication.AuthenticationService;
 import org.apache.pulsar.client.admin.PulsarAdmin;
 import org.apache.pulsar.client.admin.PulsarAdminException;
 import org.apache.pulsar.client.api.Authentication;
@@ -38,6 +39,7 @@ import org.apache.pulsar.client.api.ProducerConsumerBase;
 import org.apache.pulsar.client.api.PulsarClient;
 import org.apache.pulsar.client.api.PulsarClientException;
 import org.apache.pulsar.client.impl.auth.AuthenticationTls;
+import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
 import org.apache.pulsar.common.policies.data.AuthAction;
 import org.apache.pulsar.common.policies.data.TenantInfo;
 import org.mockito.Mockito;
@@ -184,8 +186,9 @@ public class ProxyWithAuthorizationTest extends 
ProducerConsumerBase {
                 "tlsCertFile:" + TLS_PROXY_CERT_FILE_PATH + "," + 
"tlsKeyFile:" + TLS_PROXY_KEY_FILE_PATH);
         proxyConfig.setAuthenticationProviders(providers);
 
-        proxyService = Mockito.spy(new ProxyService(proxyConfig));
-
+        proxyService = Mockito.spy(new ProxyService(proxyConfig,
+                                           new AuthenticationService(
+                                                   
PulsarConfigurationLoader.convertFrom(proxyConfig))));
     }
 
     @AfterMethod
@@ -399,7 +402,10 @@ public class ProxyWithAuthorizationTest extends 
ProducerConsumerBase {
         proxyConfig.setAuthenticationProviders(providers);
         proxyConfig.setTlsProtocols(tlsProtocols);
         proxyConfig.setTlsCiphers(tlsCiphers);
-        ProxyService proxyService = Mockito.spy(new ProxyService(proxyConfig));
+
+        ProxyService proxyService = Mockito.spy(new ProxyService(proxyConfig,
+                                                        new 
AuthenticationService(
+                                                                
PulsarConfigurationLoader.convertFrom(proxyConfig))));
         proxyService.start();
         
org.apache.pulsar.broker.auth.MockedPulsarServiceBaseTest.retryStrategically((test)
 -> {
             try {
diff --git 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyWithoutServiceDiscoveryTest.java
 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyWithoutServiceDiscoveryTest.java
index cd87ed0..050aeec 100644
--- 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyWithoutServiceDiscoveryTest.java
+++ 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyWithoutServiceDiscoveryTest.java
@@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.bookkeeper.test.PortManager;
 import org.apache.pulsar.broker.authentication.AuthenticationProviderTls;
+import org.apache.pulsar.broker.authentication.AuthenticationService;
 import org.apache.pulsar.client.admin.PulsarAdmin;
 import org.apache.pulsar.client.api.Authentication;
 import org.apache.pulsar.client.api.Consumer;
@@ -35,6 +36,7 @@ import org.apache.pulsar.client.api.Producer;
 import org.apache.pulsar.client.api.ProducerConsumerBase;
 import org.apache.pulsar.client.api.PulsarClient;
 import org.apache.pulsar.client.impl.auth.AuthenticationTls;
+import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
 import org.apache.pulsar.common.policies.data.TenantInfo;
 import org.mockito.Mockito;
 import org.slf4j.Logger;
@@ -114,7 +116,9 @@ public class ProxyWithoutServiceDiscoveryTest extends 
ProducerConsumerBase {
 
         proxyConfig.setAuthenticationProviders(providers);
 
-        proxyService = Mockito.spy(new ProxyService(proxyConfig));
+        proxyService = Mockito.spy(new ProxyService(proxyConfig,
+                                                    new AuthenticationService(
+                                                            
PulsarConfigurationLoader.convertFrom(proxyConfig))));
 
         proxyService.start();
     }

Reply via email to