From 585d1bf2936de4197aaf3af84f07a5607e013a1e Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 09 Aug 2013 08:34:00 +0000
Subject: [PATCH] *Test*.java: Used TestCaseUtils.findFreePort() instead of TestCaseUtils.bindFreePort(). Used StaticUtils.close().

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/jmx/JmxConnectTest.java |  107 +++++++++++++++++++++--------------------------------
 1 files changed, 42 insertions(+), 65 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/jmx/JmxConnectTest.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/jmx/JmxConnectTest.java
index da3fa3f..fc47267 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/jmx/JmxConnectTest.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/jmx/JmxConnectTest.java
@@ -23,10 +23,11 @@
  *
  *
  *      Copyright 2006-2008 Sun Microsystems, Inc.
+ *      Portions copyright 2013 ForgeRock AS
  */
 package org.opends.server.protocols.jmx;
 
-
+import static org.testng.Assert.*;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -37,17 +38,16 @@
 import java.security.KeyStore;
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Set;
+import java.util.Map;
 
 import javax.management.Attribute;
 import javax.management.AttributeNotFoundException;
 import javax.management.MBeanServerConnection;
 import javax.management.ObjectName;
-import javax.net.ssl.TrustManager;
 import javax.net.ssl.TrustManagerFactory;
 
-import org.opends.server.TestCaseUtils;
 import org.opends.messages.Message;
+import org.opends.server.TestCaseUtils;
 import org.opends.server.admin.server.AdminTestCaseUtils;
 import org.opends.server.admin.std.meta.JMXConnectionHandlerCfgDefn;
 import org.opends.server.admin.std.server.JMXConnectionHandlerCfg;
@@ -66,27 +66,25 @@
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
-import static org.testng.Assert.*;
-
-
-
 /**
- * A simple test for : - JMX connection establishment withou using SSL -
+ * A simple test for : - JMX connection establishment without using SSL -
  * JMX get and set - configuration change
  */
+@SuppressWarnings("javadoc")
 public class JmxConnectTest extends JmxTestCase {
-  
+
   /**
    * Set up the environment for performing the tests in this suite.
-   * 
+   *
    * @throws Exception
    *           If the environment could not be set up.
    */
+  @Override
   @BeforeClass
   public void setUp() throws Exception
   {
     super.setUp();
-    
+
     TestCaseUtils.addEntries(
         "dn: cn=Privileged User,o=test",
         "objectClass: top",
@@ -138,11 +136,11 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
   }
-  
-  
+
+
   /**
    * Clean up the environment after performing the tests in this suite.
-   * 
+   *
    * @throws Exception
    *           If the environment could not be set up.
    */
@@ -155,14 +153,13 @@
     DeleteOperation deleteOperation = conn.processDelete(DN
         .decode("cn=Privileged User,o=test"));
     assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
-    
+
     deleteOperation = conn.processDelete(DN
         .decode("cn=Unprivileged JMX User,o=test"));
     assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
-    
   }
-  
-  
+
+
 
   /**
    * Build data for the simpleConnect test.
@@ -198,7 +195,7 @@
       connector.close();
     }
   }
-  
+
   /**
    * Build some data for the simpleGet test.
    */
@@ -259,19 +256,16 @@
     MBeanServerConnection jmxc = connector.getMBeanServerConnection();
     assertNotNull(jmxc);
 
-    Set names = jmxc.queryNames(null, null);
-    names.clear();
+    jmxc.queryNames(null, null).clear();
 
     final String dn = "cn=config";
     final String attribute = "ds-cfg-size-limit";
 
-    Long val = (Long) jmxGet(dn, attribute, jmxc);
-
+    long val = (Long) jmxGet(dn, attribute, jmxc);
     jmxSet(dn, attribute, val + 1, jmxc);
 
-    Long newVal = (Long) jmxGet(dn, attribute, jmxc);
-
-    assertEquals((long) newVal, (long) val + 1);
+    long newVal = (Long) jmxGet(dn, attribute, jmxc);
+    assertEquals(newVal, val + 1);
 
     jmxSet(dn, attribute, val + 1, jmxc);
 
@@ -333,18 +327,15 @@
     assertNotNull(jmxc);
 
     // Disable the "new" connector
-    toggleEnableJmxConnector(connector, newJmxConnectionJmx.getDN(),
-        false);
+    toggleEnableJmxConnector(connector, newJmxConnectionJmx.getDN(), false);
     Thread.sleep(100);
     OpendsJmxConnector jmxcDisabled = connect("cn=Privileged User,o=test",
         "password", serverJmxPort);
     assertNull(jmxcDisabled);
 
-    toggleEnableJmxConnector(connector, newJmxConnectionJmx.getDN(),
-        true);
+    toggleEnableJmxConnector(connector, newJmxConnectionJmx.getDN(), true);
     Thread.sleep(100);
-    jmxcDisabled = connect("cn=Privileged User,o=test", "password",
-        serverJmxPort);
+    jmxcDisabled = connect("cn=Privileged User,o=test", "password", serverJmxPort);
     assertNotNull(jmxcDisabled);
 
     // cleanup client connection
@@ -361,8 +352,6 @@
 
   /**
    * Test changing JMX port through LDAP
-   *
-   * @throws Exception
    */
   @Test(enabled = false)
   public void changePort() throws Exception {
@@ -380,10 +369,8 @@
     connector.close();
     assertNotNull(initJmxPort);
 
-    // change the configuration of the connection handler to use
-    // a free port
-    ServerSocket serverJmxSocket = TestCaseUtils.bindFreePort();
-    int serverJmxPort = serverJmxSocket.getLocalPort();
+    // change the configuration of the connection handler to use a free port
+    int serverJmxPort = TestCaseUtils.findFreePort();
 
     Entry entry = TestCaseUtils
             .makeEntry(
@@ -396,16 +383,14 @@
                 "ds-cfg-enabled: true",
                 "ds-cfg-use-ssl: false", "ds-cfg-listen-port: "
                     + serverJmxPort, "cn: JMX Connection Handler");
-    serverJmxSocket.close();
     configureJmx(entry);
 
     // connect the the JMX service using the new port
-    connector = connect("cn=Privileged User,o=test", "password",
-        serverJmxPort);
+    connector = connect("cn=Privileged User,o=test", "password", serverJmxPort);
     jmxc = connector.getMBeanServerConnection();
     assertNotNull(jmxc);
-    Long val = (Long) jmxGet(dn, attribute, jmxc);
-    assertEquals((long) val, (long) serverJmxPort);
+    long val = (Long) jmxGet(dn, attribute, jmxc);
+    assertEquals(val, serverJmxPort);
     connector.close();
 
     // re-establish the initial configuration of the JMX service
@@ -462,7 +447,7 @@
     OpendsJmxConnector jmxc = sslConnect("cn=Privileged User,o=test",
         "password", initJmxPort);
     assertNotNull(jmxc,"OpendsJmxConnector shouldn't be null");
-    MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
+    jmxc.getMBeanServerConnection();
     jmxc.close();
 
     // Before returning the result,
@@ -521,9 +506,9 @@
   /**
    * Connect to the JMX service.
    */
-  private OpendsJmxConnector connect(String user, String password,
-      long jmxPort) throws MalformedURLException, IOException{
-    HashMap<String, Object> env = new HashMap<String, Object>();
+  private OpendsJmxConnector connect(String user, String password, int jmxPort)
+        throws MalformedURLException, IOException {
+    Map<String, Object> env = new HashMap<String, Object>();
 
     // Provide the credentials required by the server to successfully
     // perform user authentication
@@ -542,8 +527,7 @@
     //
     OpendsJmxConnector opendsConnector;
     try {
-      opendsConnector = new OpendsJmxConnector("localhost",
-          (int) jmxPort, env);
+      opendsConnector = new OpendsJmxConnector("localhost", jmxPort, env);
       opendsConnector.connect();
       return opendsConnector;
     } catch (SecurityException e) {
@@ -560,7 +544,7 @@
    */
   private OpendsJmxConnector sslConnect(String user, String password,
       long jmxPort) throws Exception {
-    HashMap<String, Object> env = new HashMap<String, Object>();
+    Map<String, Object> env = new HashMap<String, Object>();
 
     // Provide the credentials required by the server to successfully
     // perform user authentication
@@ -572,18 +556,15 @@
     env.put("jmx.remote.credentials", credentials);
 
     // Provide the Trust manager.
-    KeyStore ks = null;
-    ks = KeyStore.getInstance("JKS");
-    FileInputStream keyStoreFile = new FileInputStream(
-        getJmxKeystorePath());
+    KeyStore ks = KeyStore.getInstance("JKS");
+    FileInputStream keyStoreFile = new FileInputStream(getJmxKeystorePath());
     ks.load(keyStoreFile, "password".toCharArray());
     keyStoreFile.close();
 
     TrustManagerFactory tmf = TrustManagerFactory
         .getInstance(TrustManagerFactory.getDefaultAlgorithm());
     tmf.init(ks);
-    TrustManager tms[] = tmf.getTrustManagers();
-    env.put(JmxConnectionHandler.TRUST_MANAGER_ARRAY_KEY, tms);
+    env.put(JmxConnectionHandler.TRUST_MANAGER_ARRAY_KEY, tmf.getTrustManagers());
 
     // Create an RMI connector client and
     // connect it to the RMI connector server
@@ -594,17 +575,12 @@
       opendsConnector.connect();
       return opendsConnector;
     } catch (Exception e) {
-
       return null;
     }
-
   }
 
 
 
-  /**
-   * @return
-   */
   private String getJmxKeystorePath() {
     return DirectoryServer.getInstanceRoot() + File.separator + "config"
         + File.separator + "server.keystore";
@@ -656,10 +632,11 @@
     try
     {
       Attribute status = (Attribute) mbsc.getAttribute(name, attributeName);
-      if (status == null)
-        return null;
-      else
+      if (status != null)
+      {
         return status.getValue();
+      }
+      return null;
     }
     catch (AttributeNotFoundException anfe)
     {

--
Gitblit v1.10.0