SLING-5587 - Improve ControlListener#generateKey

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1733895 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 629a75b..106b5ba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -307,6 +307,12 @@
             <version>1.9.5</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>junit-addons</groupId>
+            <artifactId>junit-addons</artifactId>
+            <version>1.4</version>
+            <scope>test</scope>
+        </dependency> 
     </dependencies>
 </project>
 
diff --git a/src/test/java/org/apache/sling/launchpad/app/ControlListenerTest.java b/src/test/java/org/apache/sling/launchpad/app/ControlListenerTest.java
index 5ba8d55..5be4a1d 100644
--- a/src/test/java/org/apache/sling/launchpad/app/ControlListenerTest.java
+++ b/src/test/java/org/apache/sling/launchpad/app/ControlListenerTest.java
@@ -25,10 +25,14 @@
 import java.net.ServerSocket;
 import java.util.HashMap;
 import java.util.concurrent.locks.ReentrantLock;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.apache.sling.launchpad.base.shared.SharedConstants;
+import org.junit.Assert;
 
 import junit.framework.TestCase;
+import junitx.util.PrivateAccessor;
 
 public class ControlListenerTest extends TestCase {
 
@@ -334,6 +338,22 @@
 
         TestCase.assertTrue(ctlFile1.exists());
     }
+    
+    public void test_generateKey() throws Throwable {
+        Pattern pattern = Pattern.compile("([a-zA-Z0-9-_=]+)");
+        MyMain main = new MyMain(SLING1);
+        ControlListener cl = new ControlListener(main, null);
+        
+        String secretkey = (String) PrivateAccessor.invoke(cl, "generateKey", new Class[] {}, new Object[] {});
+        Assert.assertEquals(32, secretkey.length());
+        System.out.println(secretkey);
+        Matcher matcher = pattern.matcher(secretkey);
+        if (!matcher.matches()) {
+            Assert.fail();
+        }
+    }
+    
+    //-------------------- private section -----------------------------
 
     private int getPort() {
         ServerSocket s = null;