SLIDER-750 CertificateManager.generateServerCertificate to throw exceptions
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/4cec507d Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/4cec507d Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/4cec507d Branch: refs/heads/develop Commit: 4cec507d4b86258723a3b60cd1bde60fcaede935 Parents: 9c0793d Author: Steve Loughran <[email protected]> Authored: Mon Jan 12 16:39:15 2015 +0000 Committer: Steve Loughran <[email protected]> Committed: Mon Jan 12 16:39:15 2015 +0000 ---------------------------------------------------------------------- .../services/security/CertificateManager.java | 25 ++++++------- .../web/rest/agent/TestAMAgentWebServices.java | 37 +++++++++++--------- .../security/TestCertificateManager.java | 4 +-- 3 files changed, 33 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/4cec507d/slider-core/src/main/java/org/apache/slider/server/services/security/CertificateManager.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/server/services/security/CertificateManager.java b/slider-core/src/main/java/org/apache/slider/server/services/security/CertificateManager.java index 257f8f9..71ae8d3 100644 --- a/slider-core/src/main/java/org/apache/slider/server/services/security/CertificateManager.java +++ b/slider-core/src/main/java/org/apache/slider/server/services/security/CertificateManager.java @@ -63,7 +63,7 @@ public class CertificateManager { /** * Verify that root certificate exists, generate it otherwise. */ - public void initialize(MapOperations compOperations) { + public void initialize(MapOperations compOperations) throws SliderException { SecurityUtils.initializeSecurityParameters(compOperations); LOG.info("Initialization of root certificate"); @@ -195,7 +195,7 @@ public class CertificateManager { } } - private void generateServerCertificate(){ + private void generateServerCertificate() throws SliderException { LOG.info("Generation of server certificate"); String srvrKstrDir = SecurityUtils.getSecurityDir(); @@ -208,22 +208,17 @@ public class CertificateManager { Object[] scriptArgs = {srvrCrtPass, srvrKstrDir, srvrKeyName, srvrCrtName, kstrName, srvrCsrName}; - try { - String command = MessageFormat.format(GEN_SRVR_KEY,scriptArgs); - runCommand(command); - - command = MessageFormat.format(GEN_SRVR_REQ,scriptArgs); - runCommand(command); + String command = MessageFormat.format(GEN_SRVR_KEY, scriptArgs); + runCommand(command); - command = MessageFormat.format(SIGN_SRVR_CRT,scriptArgs); - runCommand(command); + command = MessageFormat.format(GEN_SRVR_REQ, scriptArgs); + runCommand(command); - command = MessageFormat.format(EXPRT_KSTR,scriptArgs); - runCommand(command); - } catch (SliderException e) { - LOG.error("Error generating the server certificate", e); - } + command = MessageFormat.format(SIGN_SRVR_CRT, scriptArgs); + runCommand(command); + command = MessageFormat.format(EXPRT_KSTR, scriptArgs); + runCommand(command); } /** http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/4cec507d/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java ---------------------------------------------------------------------- diff --git a/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java b/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java index f2a7569..12ca949 100644 --- a/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java +++ b/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java @@ -33,6 +33,7 @@ import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.slider.common.SliderKeys; import org.apache.slider.common.tools.SliderUtils; import org.apache.slider.core.conf.MapOperations; +import org.apache.slider.core.exceptions.SliderException; import org.apache.slider.server.appmaster.management.MetricsAndMonitoring; import org.apache.slider.server.appmaster.model.mock.MockFactory; import org.apache.slider.server.appmaster.model.mock.MockProviderService; @@ -49,6 +50,7 @@ import org.apache.slider.server.services.security.SecurityUtils; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,17 +58,13 @@ import org.slf4j.LoggerFactory; import javax.ws.rs.core.MediaType; import java.io.File; import java.net.URI; -//import java.nio.file.FileVisitResult; -//import java.nio.file.Files; -//import java.nio.file.Path; -//import java.nio.file.Paths; -//import java.nio.file.SimpleFileVisitor; -//import java.nio.file.attribute.BasicFileAttributes; import static org.junit.Assert.assertEquals; public class TestAMAgentWebServices { + static CertificateManager certificateManager; + static { //for localhost testing only javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier( @@ -81,15 +79,7 @@ public class TestAMAgentWebServices { } }); - MapOperations configMap = new MapOperations(); - SecurityUtils.initializeSecurityParameters(configMap, true); - CertificateManager certificateManager = new CertificateManager(); - certificateManager.initialize(configMap); - String keystoreFile = SecurityUtils.getSecurityDir() + File.separator + SliderKeys.KEYSTORE_FILE_NAME; - String password = SecurityUtils.getKeystorePass(); - System.setProperty("javax.net.ssl.trustStore", keystoreFile); - System.setProperty("javax.net.ssl.trustStorePassword", password); - System.setProperty("javax.net.ssl.trustStoreType", "PKCS12"); + } protected static final Logger log = @@ -108,6 +98,21 @@ public class TestAMAgentWebServices { private AgentWebApp webApp; private String base_url; + @BeforeClass + public static void setupClass() throws SliderException { + MapOperations configMap = new MapOperations(); + SecurityUtils.initializeSecurityParameters(configMap, true); + certificateManager = new CertificateManager(); + certificateManager.initialize(configMap); + String keystoreFile = SecurityUtils.getSecurityDir() + File.separator + + SliderKeys.KEYSTORE_FILE_NAME; + String password = SecurityUtils.getKeystorePass(); + System.setProperty("javax.net.ssl.trustStore", keystoreFile); + System.setProperty("javax.net.ssl.trustStorePassword", password); + System.setProperty("javax.net.ssl.trustStoreType", "PKCS12"); + } + + @Before public void setUp() throws Exception { YarnConfiguration conf = SliderUtils.createConfiguration(); @@ -133,7 +138,7 @@ public class TestAMAgentWebServices { historyPath, null, null, new SimpleReleaseSelector()); } catch (Exception e) { - log.error("Failed to set up app {}", e); + log.error("Failed to set up app {}", e, e); } ProviderAppState providerAppState = new ProviderAppState("undefined", appState); http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/4cec507d/slider-core/src/test/java/org/apache/slider/server/services/security/TestCertificateManager.java ---------------------------------------------------------------------- diff --git a/slider-core/src/test/java/org/apache/slider/server/services/security/TestCertificateManager.java b/slider-core/src/test/java/org/apache/slider/server/services/security/TestCertificateManager.java index 97a3f74..816a34b 100644 --- a/slider-core/src/test/java/org/apache/slider/server/services/security/TestCertificateManager.java +++ b/slider-core/src/test/java/org/apache/slider/server/services/security/TestCertificateManager.java @@ -49,13 +49,13 @@ public class TestCertificateManager { @Test public void testServerCertificateGenerated() throws Exception { File serverCrt = new File(secDir, SliderKeys.CRT_FILE_NAME); - Assert.assertTrue(serverCrt.exists()); + Assert.assertTrue("Server CRD does not exist:" + serverCrt,serverCrt.exists()); } @Test public void testKeystoreGenerated() throws Exception { File keystore = new File(secDir, SliderKeys.KEYSTORE_FILE_NAME); - Assert.assertTrue(keystore.exists()); + Assert.assertTrue("Keystore does not exist: " + keystore, keystore.exists()); } }
