Repository: incubator-geode Updated Branches: refs/heads/feature/GEODE-420 075e10937 -> 245454088
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/24545408/geode-core/src/test/java/com/gemstone/gemfire/internal/net/JSSESocketJUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/net/JSSESocketJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/net/JSSESocketJUnitTest.java index 36d9f9c..1d7d66a 100755 --- a/geode-core/src/test/java/com/gemstone/gemfire/internal/net/JSSESocketJUnitTest.java +++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/net/JSSESocketJUnitTest.java @@ -50,6 +50,7 @@ import com.gemstone.gemfire.distributed.internal.DistributionConfig; import com.gemstone.gemfire.distributed.internal.DistributionConfigImpl; import com.gemstone.gemfire.internal.AvailablePort; import com.gemstone.gemfire.internal.logging.LogService; +import com.gemstone.gemfire.internal.security.SecurableComponent; import com.gemstone.gemfire.test.dunit.ThreadUtils; import com.gemstone.gemfire.test.junit.categories.IntegrationTest; import com.gemstone.gemfire.util.test.TestUtil; @@ -93,6 +94,7 @@ public class JSSESocketJUnitTest { acceptor.close(); } System.out.println(baos.toString()); + SocketCreatorFactory.close(); } //----- test methods ------ @@ -125,13 +127,13 @@ public class JSSESocketJUnitTest { DistributionConfigImpl distributionConfig = new DistributionConfigImpl(new Properties()); SocketCreatorFactory.setDistributionConfig(distributionConfig); - assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).useSSL()); + assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).useSSL()); - final ServerSocket serverSocket = SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).createServerSocket(randport, 0, InetAddress.getByName("localhost")); + final ServerSocket serverSocket = SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).createServerSocket(randport, 0, InetAddress.getByName("localhost")); Thread serverThread = startServer(serverSocket, receiver); - Socket client = SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).connectForServer(InetAddress.getByName("localhost"), randport); + Socket client = SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).connectForServer(InetAddress.getByName("localhost"), randport); ObjectOutputStream oos = new ObjectOutputStream(client.getOutputStream()); String expected = new String("testing " + name.getMethodName()); @@ -166,7 +168,6 @@ public class JSSESocketJUnitTest { } finally { // Reset original base log level LogService.setBaseLogLevel(originalBaseLevel); - SocketCreatorFactory.close(); } } @@ -185,7 +186,7 @@ public class JSSESocketJUnitTest { factoryInvoked = false; try { try { - Socket sock = SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).connectForClient("localhost", 12345, 0); + Socket sock = SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).connectForClient("localhost", 12345, 0); sock.close(); fail("socket factory was invoked"); } catch (IOException e) { @@ -193,7 +194,7 @@ public class JSSESocketJUnitTest { } } finally { System.getProperties().remove(DistributionConfig.GEMFIRE_PREFIX + "clientSocketFactory"); - SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).initializeClientSocketFactory(); + SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).initializeClientSocketFactory(); } } @@ -221,7 +222,7 @@ public class JSSESocketJUnitTest { public void run() { try { Socket s = serverSocket.accept(); - SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).configureServerSSLSocket(s); + SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).configureServerSSLSocket(s); ObjectInputStream ois = new ObjectInputStream(s.getInputStream()); receiver[0] = ois.readObject(); server = s; http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/24545408/geode-core/src/test/java/com/gemstone/gemfire/internal/net/SSLConfigurationFactoryTest.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/net/SSLConfigurationFactoryTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/net/SSLConfigurationFactoryTest.java index 0b70c8f..d890457 100644 --- a/geode-core/src/test/java/com/gemstone/gemfire/internal/net/SSLConfigurationFactoryTest.java +++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/net/SSLConfigurationFactoryTest.java @@ -29,6 +29,7 @@ import org.junit.experimental.categories.Category; import com.gemstone.gemfire.distributed.internal.DistributionConfig; import com.gemstone.gemfire.distributed.internal.DistributionConfigImpl; import com.gemstone.gemfire.internal.admin.SSLConfig; +import com.gemstone.gemfire.internal.security.SecurableComponent; import com.gemstone.gemfire.test.dunit.internal.JUnit4DistributedTestCase; import com.gemstone.gemfire.test.junit.categories.UnitTest; @@ -54,15 +55,15 @@ public class SSLConfigurationFactoryTest extends JUnit4DistributedTestCase { properties.setProperty(SSL_PROTOCOLS, "any"); DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SSLConfigurationFactory.setDistributionConfig(distributionConfig); - for (SSLEnabledComponent sslEnabledComponent : SSLEnabledComponent.values()) { - assertSSLConfig(properties, SSLConfigurationFactory.getSSLConfigForComponent(sslEnabledComponent), sslEnabledComponent, distributionConfig); + for (SecurableComponent securableComponent : SecurableComponent.values()) { + assertSSLConfig(properties, SSLConfigurationFactory.getSSLConfigForComponent(securableComponent), securableComponent, distributionConfig); } } @Test public void getSSLConfigForComponentHTTPService() throws Exception { Properties properties = new Properties(); - properties.setProperty(SSL_ENABLED_COMPONENTS, SSLEnabledComponent.HTTP_SERVICE.getConstant()); + properties.setProperty(SSL_ENABLED_COMPONENTS, SecurableComponent.HTTP_SERVICE.getConstant()); properties.setProperty(SSL_KEYSTORE, "someKeyStore"); properties.setProperty(SSL_KEYSTORE_PASSWORD, "keystorePassword"); properties.setProperty(SSL_KEYSTORE_TYPE, "JKS"); @@ -73,15 +74,15 @@ public class SSLConfigurationFactoryTest extends JUnit4DistributedTestCase { properties.setProperty(SSL_PROTOCOLS, "any"); DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SSLConfigurationFactory.setDistributionConfig(distributionConfig); - for (SSLEnabledComponent sslEnabledComponent : SSLEnabledComponent.values()) { - assertSSLConfig(properties, SSLConfigurationFactory.getSSLConfigForComponent(sslEnabledComponent), sslEnabledComponent, distributionConfig); + for (SecurableComponent securableComponent : SecurableComponent.values()) { + assertSSLConfig(properties, SSLConfigurationFactory.getSSLConfigForComponent(securableComponent), securableComponent, distributionConfig); } } @Test public void getSSLConfigForComponentHTTPServiceWithAlias() throws Exception { Properties properties = new Properties(); - properties.setProperty(SSL_ENABLED_COMPONENTS, SSLEnabledComponent.HTTP_SERVICE.getConstant()); + properties.setProperty(SSL_ENABLED_COMPONENTS, SecurableComponent.HTTP_SERVICE.getConstant()); properties.setProperty(SSL_KEYSTORE, "someKeyStore"); properties.setProperty(SSL_KEYSTORE_PASSWORD, "keystorePassword"); properties.setProperty(SSL_KEYSTORE_TYPE, "JKS"); @@ -93,15 +94,15 @@ public class SSLConfigurationFactoryTest extends JUnit4DistributedTestCase { properties.setProperty(SSL_PROTOCOLS, "any"); DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SSLConfigurationFactory.setDistributionConfig(distributionConfig); - for (SSLEnabledComponent sslEnabledComponent : SSLEnabledComponent.values()) { - assertSSLConfig(properties, SSLConfigurationFactory.getSSLConfigForComponent(sslEnabledComponent), sslEnabledComponent, distributionConfig); + for (SecurableComponent securableComponent : SecurableComponent.values()) { + assertSSLConfig(properties, SSLConfigurationFactory.getSSLConfigForComponent(securableComponent), securableComponent, distributionConfig); } } @Test public void getSSLConfigForComponentHTTPServiceWithMutualAuth() throws Exception { Properties properties = new Properties(); - properties.setProperty(SSL_ENABLED_COMPONENTS, SSLEnabledComponent.HTTP_SERVICE.getConstant()); + properties.setProperty(SSL_ENABLED_COMPONENTS, SecurableComponent.HTTP_SERVICE.getConstant()); properties.setProperty(SSL_KEYSTORE, "someKeyStore"); properties.setProperty(SSL_KEYSTORE_PASSWORD, "keystorePassword"); properties.setProperty(SSL_KEYSTORE_TYPE, "JKS"); @@ -114,16 +115,16 @@ public class SSLConfigurationFactoryTest extends JUnit4DistributedTestCase { properties.setProperty(SSL_PROTOCOLS, "any"); DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SSLConfigurationFactory.setDistributionConfig(distributionConfig); - for (SSLEnabledComponent sslEnabledComponent : SSLEnabledComponent.values()) { - assertSSLConfig(properties, SSLConfigurationFactory.getSSLConfigForComponent(sslEnabledComponent), sslEnabledComponent, distributionConfig); + for (SecurableComponent securableComponent : SecurableComponent.values()) { + assertSSLConfig(properties, SSLConfigurationFactory.getSSLConfigForComponent(securableComponent), securableComponent, distributionConfig); } } private void assertSSLConfig(final Properties properties, final SSLConfig sslConfig, - final SSLEnabledComponent expectedSSLEnabledComponent, + final SecurableComponent expectedSecurableComponent, final DistributionConfigImpl distributionConfig) { - assertEquals(isSSLComponentEnabled(expectedSSLEnabledComponent, distributionConfig.getSSLEnabledComponents()), sslConfig.isEnabled()); + assertEquals(isSSLComponentEnabled(expectedSecurableComponent, distributionConfig.getSSLEnabledComponents()), sslConfig.isEnabled()); assertEquals(properties.getProperty(SSL_KEYSTORE), sslConfig.getKeystore()); assertEquals(properties.getProperty(SSL_KEYSTORE_PASSWORD), sslConfig.getKeystorePassword()); assertEquals(properties.getProperty(SSL_KEYSTORE_TYPE), sslConfig.getKeystoreType()); @@ -131,20 +132,20 @@ public class SSLConfigurationFactoryTest extends JUnit4DistributedTestCase { assertEquals(properties.getProperty(SSL_TRUSTSTORE_PASSWORD), sslConfig.getTruststorePassword()); assertEquals(properties.getProperty(SSL_CIPHERS), sslConfig.getCiphers()); assertEquals(properties.getProperty(SSL_PROTOCOLS), sslConfig.getProtocols()); - assertEquals(getCorrectAlias(expectedSSLEnabledComponent, properties), sslConfig.getAlias()); - assertEquals(requiresAuthentication(properties, expectedSSLEnabledComponent), sslConfig.isRequireAuth()); - assertEquals(expectedSSLEnabledComponent, sslConfig.getSslEnabledComponent()); + assertEquals(getCorrectAlias(expectedSecurableComponent, properties), sslConfig.getAlias()); + assertEquals(requiresAuthentication(properties, expectedSecurableComponent), sslConfig.isRequireAuth()); + assertEquals(expectedSecurableComponent, sslConfig.getSecuredComponent()); } - private boolean requiresAuthentication(final Properties properties, final SSLEnabledComponent expectedSSLEnabledComponent) { - boolean defaultAuthentication = expectedSSLEnabledComponent.equals(SSLEnabledComponent.HTTP_SERVICE) ? DistributionConfig.DEFAULT_SSL_HTTP_SERVICE_REQUIRE_AUTHENTICATION : DistributionConfig.DEFAULT_SSL_REQUIRE_AUTHENTICATION; + private boolean requiresAuthentication(final Properties properties, final SecurableComponent expectedSecurableComponent) { + boolean defaultAuthentication = expectedSecurableComponent.equals(SecurableComponent.HTTP_SERVICE) ? DistributionConfig.DEFAULT_SSL_HTTP_SERVICE_REQUIRE_AUTHENTICATION : DistributionConfig.DEFAULT_SSL_REQUIRE_AUTHENTICATION; String httpRequiresAuthentication = properties.getProperty(SSL_HTTP_SERVICE_REQUIRE_AUTHENTICATION); return httpRequiresAuthentication == null ? defaultAuthentication : Boolean.parseBoolean(httpRequiresAuthentication); } - private String getCorrectAlias(final SSLEnabledComponent expectedSSLEnabledComponent, final Properties properties) { - switch (expectedSSLEnabledComponent) { + private String getCorrectAlias(final SecurableComponent expectedSecurableComponent, final Properties properties) { + switch (expectedSecurableComponent) { case ALL: return properties.getProperty(SSL_DEFAULT_ALIAS); case CLUSTER: @@ -169,9 +170,9 @@ public class SSLConfigurationFactoryTest extends JUnit4DistributedTestCase { return !StringUtils.isEmpty(aliasProperty) ? aliasProperty : properties.getProperty(SSL_DEFAULT_ALIAS); } - private boolean isSSLComponentEnabled(final SSLEnabledComponent expectedSSLEnabledComponent, final SSLEnabledComponent[] sslEnabledComponents) { - for (SSLEnabledComponent sslEnabledComponent : sslEnabledComponents) { - if (SSLEnabledComponent.ALL.equals(sslEnabledComponent) || sslEnabledComponent.equals(expectedSSLEnabledComponent)) { + private boolean isSSLComponentEnabled(final SecurableComponent expectedSecurableComponent, final SecurableComponent[] SecurableComponents) { + for (SecurableComponent SecurableComponent : SecurableComponents) { + if (SecurableComponent.ALL.equals(SecurableComponent) || SecurableComponent.equals(expectedSecurableComponent)) { return true; } } http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/24545408/geode-core/src/test/java/com/gemstone/gemfire/internal/net/SocketCreatorFactoryJUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/net/SocketCreatorFactoryJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/net/SocketCreatorFactoryJUnitTest.java index 7db1a97..d406755 100644 --- a/geode-core/src/test/java/com/gemstone/gemfire/internal/net/SocketCreatorFactoryJUnitTest.java +++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/net/SocketCreatorFactoryJUnitTest.java @@ -26,8 +26,8 @@ import org.junit.After; import org.junit.Test; import org.junit.experimental.categories.Category; -import com.gemstone.gemfire.distributed.SSLEnabledComponents; import com.gemstone.gemfire.distributed.internal.DistributionConfigImpl; +import com.gemstone.gemfire.internal.security.SecurableComponent; import com.gemstone.gemfire.test.dunit.Assert; import com.gemstone.gemfire.test.junit.categories.UnitTest; import com.gemstone.gemfire.util.test.TestUtil; @@ -35,150 +35,145 @@ import com.gemstone.gemfire.util.test.TestUtil; @Category(UnitTest.class) public class SocketCreatorFactoryJUnitTest extends JSSESocketJUnitTest { - @After - public void tearDown() { - SocketCreatorFactory.close(); - } - @Test public void testNewSSLConfigSSLComponentLocator() { - Properties properties = configureSSLProperties(SSLEnabledComponents.LOCATOR); + Properties properties = configureSSLProperties(SecurableComponent.LOCATOR.getConstant()); DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SocketCreatorFactory.setDistributionConfig(distributionConfig); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.LOCATOR).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.GATEWAY).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.JMX).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.SERVER).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.HTTP_SERVICE).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.LOCATOR).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.GATEWAY).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.JMX).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.SERVER).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.HTTP_SERVICE).useSSL()); } @Test public void testNewSSLConfigSSLComponentALL() { - Properties properties = configureSSLProperties(SSLEnabledComponents.ALL); + Properties properties = configureSSLProperties(SecurableComponent.ALL.getConstant()); DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SocketCreatorFactory.setDistributionConfig(distributionConfig); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.LOCATOR).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.GATEWAY).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.JMX).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.SERVER).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.HTTP_SERVICE).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.LOCATOR).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.GATEWAY).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.JMX).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.SERVER).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.HTTP_SERVICE).useSSL()); } @Test public void testNewSSLConfigSSLComponentCLUSTER() { - Properties properties = configureSSLProperties(SSLEnabledComponents.CLUSTER); + Properties properties = configureSSLProperties(SecurableComponent.CLUSTER.getConstant()); DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SocketCreatorFactory.setDistributionConfig(distributionConfig); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.GATEWAY).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.JMX).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.SERVER).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.HTTP_SERVICE).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.LOCATOR).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.GATEWAY).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.JMX).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.SERVER).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.HTTP_SERVICE).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.LOCATOR).useSSL()); } @Test public void testNewSSLConfigSSLComponentGATEWAY() { - Properties properties = configureSSLProperties(SSLEnabledComponents.GATEWAY); + Properties properties = configureSSLProperties(SecurableComponent.GATEWAY.getConstant()); DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SocketCreatorFactory.setDistributionConfig(distributionConfig); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.GATEWAY).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.JMX).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.SERVER).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.HTTP_SERVICE).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.LOCATOR).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.GATEWAY).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.JMX).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.SERVER).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.HTTP_SERVICE).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.LOCATOR).useSSL()); } @Test public void testNewSSLConfigSSLComponentHTTP_SERVICE() { - Properties properties = configureSSLProperties(SSLEnabledComponents.HTTP_SERVICE); + Properties properties = configureSSLProperties(SecurableComponent.HTTP_SERVICE.getConstant()); DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SocketCreatorFactory.setDistributionConfig(distributionConfig); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.GATEWAY).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.JMX).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.SERVER).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.HTTP_SERVICE).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.LOCATOR).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.GATEWAY).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.JMX).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.SERVER).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.HTTP_SERVICE).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.LOCATOR).useSSL()); } @Test public void testNewSSLConfigSSLComponentJMX() { - Properties properties = configureSSLProperties(SSLEnabledComponents.JMX); + Properties properties = configureSSLProperties(SecurableComponent.JMX.getConstant()); DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SocketCreatorFactory.setDistributionConfig(distributionConfig); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.GATEWAY).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.JMX).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.SERVER).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.HTTP_SERVICE).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.LOCATOR).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.GATEWAY).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.JMX).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.SERVER).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.HTTP_SERVICE).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.LOCATOR).useSSL()); } @Test public void testNewSSLConfigSSLComponentSERVER() { - Properties properties = configureSSLProperties(SSLEnabledComponents.SERVER); + Properties properties = configureSSLProperties(SecurableComponent.SERVER.getConstant()); DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SocketCreatorFactory.setDistributionConfig(distributionConfig); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.GATEWAY).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.JMX).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.SERVER).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.HTTP_SERVICE).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.LOCATOR).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.GATEWAY).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.JMX).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.SERVER).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.HTTP_SERVICE).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.LOCATOR).useSSL()); } @Test public void testNewSSLConfigSSLComponentCombinations1() { - Properties properties = configureSSLProperties(commaDelimitedString(SSLEnabledComponents.CLUSTER, SSLEnabledComponents.SERVER)); + Properties properties = configureSSLProperties(commaDelimitedString(SecurableComponent.CLUSTER.getConstant(), SecurableComponent.SERVER.getConstant())); DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SocketCreatorFactory.setDistributionConfig(distributionConfig); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.GATEWAY).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.JMX).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.SERVER).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.HTTP_SERVICE).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.LOCATOR).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.GATEWAY).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.JMX).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.SERVER).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.HTTP_SERVICE).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.LOCATOR).useSSL()); } @Test public void testNewSSLConfigSSLComponentCombinations2() { - Properties properties = configureSSLProperties(commaDelimitedString(SSLEnabledComponents.CLUSTER, SSLEnabledComponents.SERVER, SSLEnabledComponents.HTTP_SERVICE, SSLEnabledComponents.JMX)); + Properties properties = configureSSLProperties(commaDelimitedString(SecurableComponent.CLUSTER.getConstant(), SecurableComponent.SERVER.getConstant(), SecurableComponent.HTTP_SERVICE.getConstant(), SecurableComponent.JMX.getConstant())); DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SocketCreatorFactory.setDistributionConfig(distributionConfig); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.GATEWAY).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.JMX).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.SERVER).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.HTTP_SERVICE).useSSL()); - Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.LOCATOR).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.GATEWAY).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.JMX).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.SERVER).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.HTTP_SERVICE).useSSL()); + Assert.assertFalse(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.LOCATOR).useSSL()); } @Test public void testNewSSLConfigSSLComponentAliasWithMultiKeyStore() { - Properties properties = configureSSLProperties(SSLEnabledComponent.ALL.getConstant()); + Properties properties = configureSSLProperties(SecurableComponent.ALL.getConstant()); properties.setProperty(SSL_KEYSTORE, TestUtil.getResourcePath(getClass(), "/com/gemstone/gemfire/internal/net/multiKey.jks")); properties.setProperty(SSL_TRUSTSTORE, TestUtil.getResourcePath(getClass(), "/com/gemstone/gemfire/internal/net/multiKeyTrust.jks")); @@ -189,17 +184,17 @@ public class SocketCreatorFactoryJUnitTest extends JSSESocketJUnitTest { DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SocketCreatorFactory.setDistributionConfig(distributionConfig); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.GATEWAY).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.JMX).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.SERVER).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.HTTP_SERVICE).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.LOCATOR).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.GATEWAY).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.JMX).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.SERVER).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.HTTP_SERVICE).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.LOCATOR).useSSL()); } @Test public void testNewSSLConfigSSLComponentWithoutAliasWithMultiKeyStore() { - Properties properties = configureSSLProperties(SSLEnabledComponent.ALL.getConstant()); + Properties properties = configureSSLProperties(SecurableComponent.ALL.getConstant()); properties.setProperty(SSL_KEYSTORE, TestUtil.getResourcePath(getClass(), "/com/gemstone/gemfire/internal/net/multiKey.jks")); properties.setProperty(SSL_TRUSTSTORE, TestUtil.getResourcePath(getClass(), "/com/gemstone/gemfire/internal/net/multiKeyTrust.jks")); @@ -207,12 +202,12 @@ public class SocketCreatorFactoryJUnitTest extends JSSESocketJUnitTest { DistributionConfigImpl distributionConfig = new DistributionConfigImpl(properties); SocketCreatorFactory.setDistributionConfig(distributionConfig); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.CLUSTER).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.GATEWAY).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.JMX).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.SERVER).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.HTTP_SERVICE).useSSL()); - Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SSLEnabledComponent.LOCATOR).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.CLUSTER).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.GATEWAY).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.JMX).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.SERVER).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.HTTP_SERVICE).useSSL()); + Assert.assertTrue(SocketCreatorFactory.getSSLSocketCreatorForComponent(SecurableComponent.LOCATOR).useSSL()); } private Properties configureSSLProperties(String sslComponents) { http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/24545408/geode-core/src/test/java/com/gemstone/gemfire/management/JMXMBeanDUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/JMXMBeanDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/JMXMBeanDUnitTest.java index 786d405..86a735e 100644 --- a/geode-core/src/test/java/com/gemstone/gemfire/management/JMXMBeanDUnitTest.java +++ b/geode-core/src/test/java/com/gemstone/gemfire/management/JMXMBeanDUnitTest.java @@ -22,6 +22,9 @@ import static org.junit.Assert.*; import java.io.File; import java.io.IOException; +import java.io.Serializable; +import java.net.Socket; +import java.rmi.server.RMIClientSocketFactory; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -33,26 +36,21 @@ import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; import javax.rmi.ssl.SslRMIClientSocketFactory; -import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; -import org.junit.experimental.categories.Category; -import com.gemstone.gemfire.distributed.AbstractLauncher; import com.gemstone.gemfire.distributed.LocatorLauncher; import com.gemstone.gemfire.distributed.ServerLauncher; import com.gemstone.gemfire.internal.AvailablePortHelper; -import com.gemstone.gemfire.internal.net.SSLEnabledComponent; +import com.gemstone.gemfire.internal.net.SocketCreator; +import com.gemstone.gemfire.internal.security.SecurableComponent; import com.gemstone.gemfire.test.dunit.DistributedTestCase; import com.gemstone.gemfire.test.dunit.DistributedTestUtils; import com.gemstone.gemfire.test.dunit.Host; -import com.gemstone.gemfire.test.dunit.Invoke; import com.gemstone.gemfire.test.dunit.NetworkUtils; import com.gemstone.gemfire.test.dunit.VM; import com.gemstone.gemfire.test.dunit.rules.DistributedRestoreSystemProperties; -import com.gemstone.gemfire.test.junit.categories.FlakyTest; import com.gemstone.gemfire.test.junit.rules.serializable.SerializableTemporaryFolder; import com.gemstone.gemfire.util.test.TestUtil; @@ -85,24 +83,12 @@ public class JMXMBeanDUnitTest extends DistributedTestCase { serverHostName = NetworkUtils.getServerHostName(host); } - @After - public void after() throws InterruptedException { - Invoke.invokeInEveryVM(() -> { - if (locatorLauncher != null) { - try { - assertEquals(AbstractLauncher.Status.STOPPED, locatorLauncher.stop().getStatus()); - } finally { - locatorLauncher = null; - } - } - }); - } - @Test - public void testJMXOverSSLWithoutJMXAlias() { + public void testJMXOverSSLWithoutJMXAlias() throws Exception { + Properties properties = configureLocatorProperties(new Properties(), jmxPort, serverHostName, true, false, true); locator.invoke("Configure and start Locator", () -> { System.setProperty("javax.ssl.debug", "true"); - configureAndStartLocator(locatorPort, jmxPort, serverHostName, true, false, true); + configureAndStartLocator(locatorPort, jmxPort, serverHostName, properties); }); jmxClient.invoke("Configure and start JMX Client", () -> { @@ -113,9 +99,10 @@ public class JMXMBeanDUnitTest extends DistributedTestCase { @Test public void testJMXOverSSLWithJMXAlias() throws Exception { + Properties properties = configureLocatorProperties(new Properties(), jmxPort, serverHostName, true, false, true); locator.invoke("Configure and start Locator", () -> { System.setProperty("javax.ssl.debug", "true"); - configureAndStartLocator(locatorPort, jmxPort, serverHostName, true, false, true); + configureAndStartLocator(locatorPort, jmxPort, serverHostName, properties); }); jmxClient.invoke("Configure and start JMX Client", () -> { @@ -125,10 +112,12 @@ public class JMXMBeanDUnitTest extends DistributedTestCase { } @Test - public void testJMXOverSSL() { + public void testJMXOverSSL() throws Exception { + Properties properties = configureLocatorProperties(new Properties(), jmxPort, serverHostName, true, false, true); + locator.invoke("Configure and start Locator", () -> { System.setProperty("javax.ssl.debug", "true"); - configureAndStartLocator(locatorPort, jmxPort, serverHostName, true, false, false); + configureAndStartLocator(locatorPort, jmxPort, serverHostName, properties); }); jmxClient.invoke("Configure and start JMX Client", () -> { @@ -138,11 +127,12 @@ public class JMXMBeanDUnitTest extends DistributedTestCase { } @Test - public void testJMXOverLegacySSL() { - locator.invoke("Configure and start Locator", () -> { + public void testJMXOverLegacySSL() throws Exception { + Properties properties = configureLocatorProperties(new Properties(), jmxPort, serverHostName, true, true, false); +// locator.invoke("Configure and start Locator", () -> { System.setProperty("javax.ssl.debug", "true"); - configureAndStartLocator(locatorPort, jmxPort, serverHostName, true, true, false); - }); + configureAndStartLocator(locatorPort, jmxPort, serverHostName, properties); +// }); jmxClient.invoke("Configure and start JMX Client", () -> { System.setProperty("javax.ssl.debug", "true"); @@ -151,29 +141,21 @@ public class JMXMBeanDUnitTest extends DistributedTestCase { } @Test - @Category(FlakyTest.class) + // @Category(FlakyTest.class) //To be fixed in GEODE-1716 public void testJMXOverNonSSL() throws Exception { - locator.invoke("Configure and start Locator", () -> { - configureAndStartLocator(locatorPort, jmxPort, serverHostName, false); - }); - - jmxClient.invoke("Configure and start JMX Client", () -> { - connectAndValidateAsJmxClient(jmxPort, serverHostName, false); - }); - + Properties properties = configureLocatorProperties(new Properties(), jmxPort, serverHostName, false, false, false); + locator.invoke("Configure and start Locator", () -> configureAndStartLocator(locatorPort, jmxPort, serverHostName, properties)); + jmxClient.invoke("Configure and start JMX Client", () -> connectAndValidateAsJmxClient(jmxPort, serverHostName, false)); } @Test public void testJMXOverNonSSLWithClientUsingIncorrectPort() throws Exception { - locator.invoke("Configure and start Locator", () -> { - configureAndStartLocator(locatorPort, jmxPort, serverHostName, false); - }); - - assertThatThrownBy(() -> jmxClient.invoke("Configure and start JMX Client", () -> { - connectAndValidateAsJmxClient(9999, serverHostName, false); - })).hasCauseExactlyInstanceOf(IOException.class).hasRootCauseExactlyInstanceOf(java.net.ConnectException.class); + Properties properties = configureLocatorProperties(new Properties(), jmxPort, serverHostName, false, false, false); + locator.invoke("Configure and start Locator", () -> configureAndStartLocator(locatorPort, jmxPort, serverHostName, properties)); + assertThatThrownBy(() -> jmxClient.invoke("Configure and start JMX Client", () -> connectAndValidateAsJmxClient(9999, serverHostName, false))).hasCauseExactlyInstanceOf(IOException.class) + .hasRootCauseExactlyInstanceOf(java.net.ConnectException.class); } @@ -184,7 +166,7 @@ public class JMXMBeanDUnitTest extends DistributedTestCase { private void connectAndValidateAsJmxClient(final int jmxPort, final String serverHostName, final boolean useSSL, final boolean useMulti) throws Exception { // JMX RMI - Map<String,Object> environment = new HashMap(); + Map<String, Object> environment = new HashMap(); if (useSSL) { System.setProperty("javax.net.ssl.keyStore", useMulti ? getMultiKeyKeystore() : getSimpleSingleKeyKeystore()); @@ -193,6 +175,7 @@ public class JMXMBeanDUnitTest extends DistributedTestCase { System.setProperty("javax.net.ssl.trustStore", useMulti ? getMultiKeyTruststore() : getSimpleSingleKeyKeystore()); System.setProperty("javax.net.ssl.trustStoreType", "JKS"); System.setProperty("javax.net.ssl.trustStorePassword", "password"); + System.setProperty("com.sun.management.jmxremote.ssl.need.client.auth", "true"); System.setProperty("com.sun.management.jmxremote.ssl", "true"); System.setProperty("com.sun.management.jmxremote.registry.ssl", "true"); environment.put("com.sun.jndi.rmi.factory.socket", new SslRMIClientSocketFactory()); @@ -218,45 +201,18 @@ public class JMXMBeanDUnitTest extends DistributedTestCase { } } - private void configureAndStartServer(final int locatorPort, final String serverHostName) throws IOException { - final String memberName = getUniqueName() + "-server"; - final File workingDirectory = temporaryFolder.newFolder(memberName); - - Properties properties = configureServerProperties(new Properties(), serverHostName + "[" + locatorPort + "]"); - ServerLauncher.Builder builder = new ServerLauncher.Builder(); - - // properties.stringPropertyNames().stream().map((name) -> builder.set(name, properties.getProperty(name))); - for (String propertyName : properties.stringPropertyNames()) { - builder.set(propertyName, properties.getProperty(propertyName)); - } - builder.setServerPort(0) - .setHostNameForClients(serverHostName) - .setServerBindAddress(serverHostName) - .setWorkingDirectory(workingDirectory.getCanonicalPath()) - .setMemberName(memberName) - .build() - .start(); - } - - private void configureAndStartLocator(final int locatorPort, final int jmxPort, final String serverHostName, final boolean useSSL) throws IOException { - configureAndStartLocator(locatorPort, jmxPort, serverHostName, useSSL, false, false); + private void configureAndStartLocator(final int locatorPort, final int jmxPort, final String serverHostName, final Properties properties) throws IOException { + configureAndStartLocator(locatorPort, serverHostName, properties); } - private void configureAndStartLocator(final int locatorPort, - final int jmxPort, - final String serverHostName, - final boolean useSSL, - final boolean useLegacySSL, - final boolean useMultiKeyKeystore) throws IOException { + private void configureAndStartLocator(final int locatorPort, final String serverHostName, final Properties properties) throws IOException { DistributedTestUtils.deleteLocatorStateFile(); final String memberName = getUniqueName() + "-locator"; final File workingDirectory = temporaryFolder.newFolder(memberName); - Properties properties = configureLocatorProperties(new Properties(), jmxPort, serverHostName, useSSL, useLegacySSL, useMultiKeyKeystore); LocatorLauncher.Builder builder = new LocatorLauncher.Builder(); - // properties.stringPropertyNames().stream().map((name) -> builder.set(name, properties.getProperty(name))); for (String propertyName : properties.stringPropertyNames()) { builder.set(propertyName, properties.getProperty(propertyName)); } @@ -293,7 +249,7 @@ public class JMXMBeanDUnitTest extends DistributedTestCase { properties.setProperty(SSL_TRUSTSTORE_PASSWORD, "password"); properties.setProperty(SSL_KEYSTORE, getSimpleSingleKeyKeystore()); properties.setProperty(SSL_TRUSTSTORE, getSimpleSingleKeyKeystore()); - properties.setProperty(SSL_ENABLED_COMPONENTS, SSLEnabledComponent.JMX.toString()); + properties.setProperty(SSL_ENABLED_COMPONENTS, SecurableComponent.JMX.getConstant()); if (useMultiKey) { properties.setProperty(SSL_KEYSTORE, getMultiKeyKeystore()); @@ -342,4 +298,20 @@ public class JMXMBeanDUnitTest extends DistributedTestCase { properties.setProperty(USE_CLUSTER_CONFIGURATION, "false"); return properties; } + + private static class GemFireRMIClientSocketFactory implements RMIClientSocketFactory, Serializable { + + private static final long serialVersionUID = -7604285019188827617L; + + private/* final hack to prevent serialization */ transient SocketCreator sc; + + public GemFireRMIClientSocketFactory(SocketCreator sc) { + this.sc = sc; + } + + @Override + public Socket createSocket(String host, int port) throws IOException { + return this.sc.connectForClient(host, port, 0/* no timeout */); + } + } } http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/24545408/geode-core/src/test/java/com/gemstone/gemfire/management/internal/JettyHelperJUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/JettyHelperJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/JettyHelperJUnitTest.java index b53f39c..5aac277 100644 --- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/JettyHelperJUnitTest.java +++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/JettyHelperJUnitTest.java @@ -23,10 +23,8 @@ import org.eclipse.jetty.server.ServerConnector; import org.junit.Test; import org.junit.experimental.categories.Category; -import com.gemstone.gemfire.internal.admin.SSLConfig; import com.gemstone.gemfire.internal.net.SSLConfigurationFactory; -import com.gemstone.gemfire.internal.net.SSLEnabledComponent; -import com.gemstone.gemfire.internal.net.SocketCreatorFactory; +import com.gemstone.gemfire.internal.security.SecurableComponent; import com.gemstone.gemfire.test.junit.categories.UnitTest; /** @@ -44,7 +42,7 @@ public class JettyHelperJUnitTest { @Test public void testSetPortNoBindAddress() throws Exception { - final Server jetty = JettyHelper.initJetty(null, 8090, SSLConfigurationFactory.getSSLConfigForComponent(SSLEnabledComponent.HTTP_SERVICE)); + final Server jetty = JettyHelper.initJetty(null, 8090, SSLConfigurationFactory.getSSLConfigForComponent(SecurableComponent.HTTP_SERVICE)); assertNotNull(jetty); assertNotNull(jetty.getConnectors()[0]); @@ -54,7 +52,7 @@ public class JettyHelperJUnitTest { @Test public void testSetPortWithBindAddress() throws Exception { - final Server jetty = JettyHelper.initJetty("10.123.50.1", 10480, SSLConfigurationFactory.getSSLConfigForComponent(SSLEnabledComponent.HTTP_SERVICE)); + final Server jetty = JettyHelper.initJetty("10.123.50.1", 10480, SSLConfigurationFactory.getSSLConfigForComponent(SecurableComponent.HTTP_SERVICE)); assertNotNull(jetty); assertNotNull(jetty.getConnectors()[0]); http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/24545408/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/HTTPServiceSSLSupportJUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/HTTPServiceSSLSupportJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/HTTPServiceSSLSupportJUnitTest.java index 0bfdf52..ebb1033 100644 --- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/HTTPServiceSSLSupportJUnitTest.java +++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/HTTPServiceSSLSupportJUnitTest.java @@ -29,7 +29,6 @@ import org.junit.experimental.categories.Category; import com.gemstone.gemfire.distributed.internal.DistributionConfig; import com.gemstone.gemfire.distributed.internal.DistributionConfigImpl; -import com.gemstone.gemfire.internal.net.SSLEnabledComponent; import com.gemstone.gemfire.test.junit.categories.IntegrationTest; import com.gemstone.gemfire.util.test.TestUtil; http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/24545408/geode-core/src/test/java/com/gemstone/gemfire/test/dunit/internal/JUnit4DistributedTestCase.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/com/gemstone/gemfire/test/dunit/internal/JUnit4DistributedTestCase.java b/geode-core/src/test/java/com/gemstone/gemfire/test/dunit/internal/JUnit4DistributedTestCase.java index 6be3889..87cd557 100755 --- a/geode-core/src/test/java/com/gemstone/gemfire/test/dunit/internal/JUnit4DistributedTestCase.java +++ b/geode-core/src/test/java/com/gemstone/gemfire/test/dunit/internal/JUnit4DistributedTestCase.java @@ -494,6 +494,7 @@ public abstract class JUnit4DistributedTestCase implements DistributedTestFixtur if (!getDistributedSystemProperties().isEmpty()) { disconnectAllFromDS(); } + Invoke.invokeInEveryVM("SocketCreateFactory.reset", () -> SocketCreatorFactory.close()); } /** @@ -566,7 +567,6 @@ public abstract class JUnit4DistributedTestCase implements DistributedTestFixtur RegionTestCase.preSnapshotRegion = null; SocketCreator.resetHostNameCache(); SocketCreator.resolve_dns = true; - SocketCreatorFactory.close(); Message.MAX_MESSAGE_SIZE = Message.DEFAULT_MAX_MESSAGE_SIZE; // clear system properties -- keep alphabetized http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/24545408/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java ---------------------------------------------------------------------- diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java index 35339d7..3ce8855 100644 --- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java +++ b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java @@ -36,7 +36,7 @@ import org.openqa.selenium.support.ui.ExpectedCondition; import org.openqa.selenium.support.ui.WebDriverWait; import com.gemstone.gemfire.internal.net.SSLConfigurationFactory; -import com.gemstone.gemfire.internal.net.SSLEnabledComponent; +import com.gemstone.gemfire.internal.security.SecurableComponent; import com.gemstone.gemfire.management.internal.JettyHelper; import com.gemstone.gemfire.test.junit.categories.UITest; import com.vmware.gemfire.tools.pulse.testbed.GemFireDistributedSystem.Locator; @@ -72,7 +72,7 @@ public class PulseUITest { path = getPulseWarPath(); //System.setProperty("pulse.propMockDataUpdaterClass", "com.vmware.gemfire.tools.pulse.testbed.PropMockDataUpdater"); - jetty = JettyHelper.initJetty(host, port, SSLConfigurationFactory.getSSLConfigForComponent(SSLEnabledComponent.HTTP_SERVICE)); + jetty = JettyHelper.initJetty(host, port, SSLConfigurationFactory.getSSLConfigForComponent(SecurableComponent.HTTP_SERVICE)); JettyHelper.addWebApplication(jetty, context, getPulseWarPath()); jetty.start(); http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/24545408/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseAbstractTest.java ---------------------------------------------------------------------- diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseAbstractTest.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseAbstractTest.java index e06891d..b11cf2c 100644 --- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseAbstractTest.java +++ b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseAbstractTest.java @@ -45,7 +45,7 @@ import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import com.gemstone.gemfire.internal.net.SSLConfigurationFactory; -import com.gemstone.gemfire.internal.net.SSLEnabledComponent; +import com.gemstone.gemfire.internal.security.SecurableComponent; import com.gemstone.gemfire.management.internal.JettyHelper; import com.vmware.gemfire.tools.pulse.internal.data.PulseConstants; @@ -148,7 +148,7 @@ public abstract class PulseAbstractTest extends PulseBaseTest { int port = 8080; String context = "/pulse"; - jetty = JettyHelper.initJetty(host, port, SSLConfigurationFactory.getSSLConfigForComponent(SSLEnabledComponent.HTTP_SERVICE)); + jetty = JettyHelper.initJetty(host, port, SSLConfigurationFactory.getSSLConfigForComponent(SecurableComponent.HTTP_SERVICE)); JettyHelper.addWebApplication(jetty, context, getPulseWarPath()); jetty.start();
