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;