You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by pz...@apache.org on 2019/01/11 20:24:06 UTC

[knox] branch master updated: KNOX-1737 - Remote configuration monitor start should not be attempted if config is not defined

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

pzampino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/knox.git


The following commit(s) were added to refs/heads/master by this push:
     new eb9b667  KNOX-1737 - Remote configuration monitor start should not be attempted if config is not defined
eb9b667 is described below

commit eb9b667a814997b9317f28fc92920092f0c26d8b
Author: pzampino <pz...@apache.org>
AuthorDate: Fri Jan 11 13:44:57 2019 -0500

    KNOX-1737 - Remote configuration monitor start should not be attempted if config is not defined
---
 .../monitor/DefaultRemoteConfigurationMonitor.java |   1 +
 .../DefaultRemoteConfigurationMonitorTest.java     | 513 +++++++++++++++++++++
 2 files changed, 514 insertions(+)

diff --git a/gateway-server/src/main/java/org/apache/knox/gateway/topology/monitor/DefaultRemoteConfigurationMonitor.java b/gateway-server/src/main/java/org/apache/knox/gateway/topology/monitor/DefaultRemoteConfigurationMonitor.java
index 82242a3..90663fc 100644
--- a/gateway-server/src/main/java/org/apache/knox/gateway/topology/monitor/DefaultRemoteConfigurationMonitor.java
+++ b/gateway-server/src/main/java/org/apache/knox/gateway/topology/monitor/DefaultRemoteConfigurationMonitor.java
@@ -130,6 +130,7 @@ class DefaultRemoteConfigurationMonitor implements RemoteConfigurationMonitor {
                 }
             } else {
                 log.missingClientConfigurationForRemoteMonitoring();
+                throw new IllegalStateException("Missing required configuration.");
             }
         }
 
diff --git a/gateway-server/src/test/java/org/apache/knox/gateway/topology/monitor/DefaultRemoteConfigurationMonitorTest.java b/gateway-server/src/test/java/org/apache/knox/gateway/topology/monitor/DefaultRemoteConfigurationMonitorTest.java
new file mode 100644
index 0000000..03e0f12
--- /dev/null
+++ b/gateway-server/src/test/java/org/apache/knox/gateway/topology/monitor/DefaultRemoteConfigurationMonitorTest.java
@@ -0,0 +1,513 @@
+/*
+ * 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.knox.gateway.topology.monitor;
+
+import org.apache.knox.gateway.config.GatewayConfig;
+import org.apache.knox.gateway.services.ServiceLifecycleException;
+import org.apache.knox.gateway.services.config.client.RemoteConfigurationRegistryClient;
+import org.apache.knox.gateway.services.config.client.RemoteConfigurationRegistryClientService;
+import org.apache.knox.gateway.services.security.AliasService;
+import org.junit.Test;
+
+import java.net.InetSocketAddress;
+import java.net.UnknownHostException;
+import java.util.List;
+import java.util.Map;
+
+
+public class DefaultRemoteConfigurationMonitorTest {
+
+  @Test(expected=IllegalStateException.class)
+  public void testInitWithoutRequiredConfig() {
+    GatewayConfig testConfig = new TestGatewayConfig();
+    new DefaultRemoteConfigurationMonitor(testConfig, new TestRemoteConfigurationRegistryClientService());
+  }
+
+  private static class TestGatewayConfig implements GatewayConfig {
+    @Override
+    public String getGatewayConfDir() {
+      return null;
+    }
+
+    @Override
+    public String getGatewayDataDir() {
+      return null;
+    }
+
+    @Override
+    public String getGatewayServicesDir() {
+      return null;
+    }
+
+    @Override
+    public String getGatewayApplicationsDir() {
+      return null;
+    }
+
+    @Override
+    public String getHadoopConfDir() {
+      return null;
+    }
+
+    @Override
+    public String getGatewayHost() {
+      return null;
+    }
+
+    @Override
+    public int getGatewayPort() {
+      return 0;
+    }
+
+    @Override
+    public String getGatewayPath() {
+      return null;
+    }
+
+    @Override
+    public String getGatewayProvidersConfigDir() {
+      return "./shared-providers";
+    }
+
+    @Override
+    public String getGatewayDescriptorsDir() {
+      return "./descriptors";
+    }
+
+    @Override
+    public String getGatewayTopologyDir() {
+      return null;
+    }
+
+    @Override
+    public String getGatewaySecurityDir() {
+      return null;
+    }
+
+    @Override
+    public String getGatewayDeploymentDir() {
+      return null;
+    }
+
+    @Override
+    public InetSocketAddress getGatewayAddress() throws UnknownHostException {
+      return null;
+    }
+
+    @Override
+    public boolean isSSLEnabled() {
+      return false;
+    }
+
+    @Override
+    public List<String> getExcludedSSLProtocols() {
+      return null;
+    }
+
+    @Override
+    public List<String> getIncludedSSLCiphers() {
+      return null;
+    }
+
+    @Override
+    public List<String> getExcludedSSLCiphers() {
+      return null;
+    }
+
+    @Override
+    public boolean isHadoopKerberosSecured() {
+      return false;
+    }
+
+    @Override
+    public String getKerberosConfig() {
+      return null;
+    }
+
+    @Override
+    public boolean isKerberosDebugEnabled() {
+      return false;
+    }
+
+    @Override
+    public String getKerberosLoginConfig() {
+      return null;
+    }
+
+    @Override
+    public String getDefaultTopologyName() {
+      return null;
+    }
+
+    @Override
+    public String getDefaultAppRedirectPath() {
+      return null;
+    }
+
+    @Override
+    public String getFrontendUrl() {
+      return null;
+    }
+
+    @Override
+    public boolean isClientAuthNeeded() {
+      return false;
+    }
+
+    @Override
+    public boolean isClientAuthWanted() {
+      return false;
+    }
+
+    @Override
+    public String getTruststorePath() {
+      return null;
+    }
+
+    @Override
+    public boolean getTrustAllCerts() {
+      return false;
+    }
+
+    @Override
+    public String getKeystoreType() {
+      return null;
+    }
+
+    @Override
+    public String getTruststoreType() {
+      return null;
+    }
+
+    @Override
+    public boolean isXForwardedEnabled() {
+      return false;
+    }
+
+    @Override
+    public String getEphemeralDHKeySize() {
+      return null;
+    }
+
+    @Override
+    public int getHttpClientMaxConnections() {
+      return 0;
+    }
+
+    @Override
+    public int getHttpClientConnectionTimeout() {
+      return 0;
+    }
+
+    @Override
+    public int getHttpClientSocketTimeout() {
+      return 0;
+    }
+
+    @Override
+    public int getThreadPoolMax() {
+      return 0;
+    }
+
+    @Override
+    public int getHttpServerRequestBuffer() {
+      return 0;
+    }
+
+    @Override
+    public int getHttpServerRequestHeaderBuffer() {
+      return 0;
+    }
+
+    @Override
+    public int getHttpServerResponseBuffer() {
+      return 0;
+    }
+
+    @Override
+    public int getHttpServerResponseHeaderBuffer() {
+      return 0;
+    }
+
+    @Override
+    public int getGatewayDeploymentsBackupVersionLimit() {
+      return 0;
+    }
+
+    @Override
+    public long getGatewayDeploymentsBackupAgeLimit() {
+      return 0;
+    }
+
+    @Override
+    public long getGatewayIdleTimeout() {
+      return 0;
+    }
+
+    @Override
+    public String getSigningKeystoreName() {
+      return null;
+    }
+
+    @Override
+    public String getSigningKeyAlias() {
+      return null;
+    }
+
+    @Override
+    public List<String> getGlobalRulesServices() {
+      return null;
+    }
+
+    @Override
+    public boolean isWebsocketEnabled() {
+      return false;
+    }
+
+    @Override
+    public int getWebsocketMaxTextMessageSize() {
+      return 0;
+    }
+
+    @Override
+    public int getWebsocketMaxBinaryMessageSize() {
+      return 0;
+    }
+
+    @Override
+    public int getWebsocketMaxTextMessageBufferSize() {
+      return 0;
+    }
+
+    @Override
+    public int getWebsocketMaxBinaryMessageBufferSize() {
+      return 0;
+    }
+
+    @Override
+    public int getWebsocketInputBufferSize() {
+      return 0;
+    }
+
+    @Override
+    public int getWebsocketAsyncWriteTimeout() {
+      return 0;
+    }
+
+    @Override
+    public int getWebsocketIdleTimeout() {
+      return 0;
+    }
+
+    @Override
+    public boolean isMetricsEnabled() {
+      return false;
+    }
+
+    @Override
+    public boolean isJmxMetricsReportingEnabled() {
+      return false;
+    }
+
+    @Override
+    public boolean isGraphiteMetricsReportingEnabled() {
+      return false;
+    }
+
+    @Override
+    public String getGraphiteHost() {
+      return null;
+    }
+
+    @Override
+    public int getGraphitePort() {
+      return 0;
+    }
+
+    @Override
+    public int getGraphiteReportingFrequency() {
+      return 0;
+    }
+
+    @Override
+    public boolean isCookieScopingToPathEnabled() {
+      return false;
+    }
+
+    @Override
+    public String getHeaderNameForRemoteAddress() {
+      return null;
+    }
+
+    @Override
+    public String getAlgorithm() {
+      return null;
+    }
+
+    @Override
+    public String getPBEAlgorithm() {
+      return null;
+    }
+
+    @Override
+    public String getTransformation() {
+      return null;
+    }
+
+    @Override
+    public String getSaltSize() {
+      return null;
+    }
+
+    @Override
+    public String getIterationCount() {
+      return null;
+    }
+
+    @Override
+    public String getKeyLength() {
+      return null;
+    }
+
+    @Override
+    public Map<String, Integer> getGatewayPortMappings() {
+      return null;
+    }
+
+    @Override
+    public boolean isGatewayPortMappingEnabled() {
+      return false;
+    }
+
+    @Override
+    public boolean isGatewayServerHeaderEnabled() {
+      return false;
+    }
+
+    @Override
+    public String getDefaultDiscoveryAddress() {
+      return null;
+    }
+
+    @Override
+    public String getDefaultDiscoveryCluster() {
+      return null;
+    }
+
+    @Override
+    public int getClusterMonitorPollingInterval(String type) {
+      return 0;
+    }
+
+    @Override
+    public boolean isClusterMonitorEnabled(String type) {
+      return false;
+    }
+
+    @Override
+    public List<String> getRemoteRegistryConfigurationNames() {
+      return null;
+    }
+
+    @Override
+    public String getRemoteRegistryConfiguration(String name) {
+      return null;
+    }
+
+    @Override
+    public String getRemoteConfigurationMonitorClientName() {
+      return null;
+    }
+
+    @Override
+    public boolean allowUnauthenticatedRemoteRegistryReadAccess() {
+      return false;
+    }
+
+    @Override
+    public boolean isRemoteAliasServiceEnabled() {
+      return false;
+    }
+
+    @Override
+    public List<String> getReadOnlyOverrideTopologyNames() {
+      return null;
+    }
+
+    @Override
+    public String getKnoxAdminGroups() {
+      return null;
+    }
+
+    @Override
+    public String getKnoxAdminUsers() {
+      return null;
+    }
+
+    @Override
+    public String getFederationHeaderName() {
+      return null;
+    }
+
+    @Override
+    public List<String> getAutoDeployTopologyNames() {
+      return null;
+    }
+
+    @Override
+    public String getDispatchWhitelist() {
+      return null;
+    }
+
+    @Override
+    public List<String> getDispatchWhitelistServices() {
+      return null;
+    }
+
+    @Override
+    public boolean isTopologyValidationEnabled() {
+      return false;
+    }
+  }
+
+  private static class TestRemoteConfigurationRegistryClientService implements RemoteConfigurationRegistryClientService {
+    @Override
+    public void setAliasService(AliasService aliasService) {
+
+    }
+
+    @Override
+    public RemoteConfigurationRegistryClient get(String l) {
+      return null;
+    }
+
+    @Override
+    public void init(GatewayConfig config, Map<String, String> options) throws ServiceLifecycleException {
+
+    }
+
+    @Override
+    public void start() throws ServiceLifecycleException {
+
+    }
+
+    @Override
+    public void stop() throws ServiceLifecycleException {
+
+    }
+  }
+}