You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by an...@apache.org on 2011/02/24 16:30:13 UTC
svn commit: r1074189 -
/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authentication/token/TokenBasedLoginTest.java
Author: angela
Date: Thu Feb 24 15:30:13 2011
New Revision: 1074189
URL: http://svn.apache.org/viewvc?rev=1074189&view=rev
Log:
JCR-2851 - Authentication Mechanism Based on Login Token
- testcases
Modified:
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authentication/token/TokenBasedLoginTest.java
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authentication/token/TokenBasedLoginTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authentication/token/TokenBasedLoginTest.java?rev=1074189&r1=1074188&r2=1074189&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authentication/token/TokenBasedLoginTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authentication/token/TokenBasedLoginTest.java Thu Feb 24 15:30:13 2011
@@ -24,6 +24,7 @@ import org.apache.jackrabbit.api.securit
import org.apache.jackrabbit.core.SessionImpl;
import org.apache.jackrabbit.test.AbstractJCRTest;
import org.apache.jackrabbit.test.NotExecutableException;
+import org.apache.jackrabbit.test.RepositoryStub;
import javax.jcr.Credentials;
import javax.jcr.LoginException;
@@ -231,13 +232,6 @@ public class TokenBasedLoginTest extends
* Test copied and slightly adjusted from org.apache.jackrabbit.core.ConcurrentLoginTest
*/
public void testConcurrentLogin() throws RepositoryException, NotExecutableException {
- final Credentials creds = getHelper().getSuperuserCredentials();
- if (creds instanceof SimpleCredentials) {
- ((SimpleCredentials) creds).setAttribute(TokenBasedAuthentication.TOKEN_ATTRIBUTE, "");
- } else {
- throw new NotExecutableException();
- }
-
final Exception[] exception = new Exception[1];
List<Thread> testRunner = new ArrayList<Thread>();
for (int i = 0; i < 10; i++) {
@@ -245,7 +239,10 @@ public class TokenBasedLoginTest extends
public void run() {
for (int i = 0; i < 100; i++) {
try {
- Session s = getHelper().getRepository().login(creds);
+ SimpleCredentials sc = new SimpleCredentials(testuser.getID(), testuser.getID().toCharArray());
+ sc.setAttribute(TokenBasedAuthentication.TOKEN_ATTRIBUTE, "");
+
+ Session s = getHelper().getRepository().login(sc);
try {
Set<TokenCredentials> tcs = ((SessionImpl) s).getSubject().getPublicCredentials(TokenCredentials.class);
assertFalse(tcs.isEmpty());
@@ -286,27 +283,6 @@ public class TokenBasedLoginTest extends
* Test copied and slightly adjusted from org.apache.jackrabbit.core.ConcurrentLoginTest
*/
public void testConcurrentLoginOfDifferentUsers() throws RepositoryException, NotExecutableException {
- creds.setAttribute(TokenBasedAuthentication.TOKEN_ATTRIBUTE, "");
-
- final Credentials adminCreds = getHelper().getSuperuserCredentials();
- if (adminCreds instanceof SimpleCredentials) {
- ((SimpleCredentials) adminCreds).setAttribute(TokenBasedAuthentication.TOKEN_ATTRIBUTE, "");
- } else {
- throw new NotExecutableException();
- }
-
- final Credentials readOnlyCreds = getHelper().getSuperuserCredentials();
- if (readOnlyCreds instanceof SimpleCredentials) {
- ((SimpleCredentials) readOnlyCreds).setAttribute(TokenBasedAuthentication.TOKEN_ATTRIBUTE, "");
- } else {
- throw new NotExecutableException();
- }
-
- final List<Credentials> credentials = new ArrayList<Credentials>(3);
- credentials.add(creds);
- credentials.add(adminCreds);
- credentials.add(readOnlyCreds);
-
final Exception[] exception = new Exception[1];
List<Thread> testRunner = new ArrayList<Thread>();
for (int i = 0; i < 10; i++) {
@@ -314,9 +290,21 @@ public class TokenBasedLoginTest extends
public void run() {
for (int i = 0; i < 100; i++) {
try {
- double rand = credentials.size() * Math.random();
+ SimpleCredentials c;
+ double rand = 3 * Math.random();
int index = (int) Math.floor(rand);
- Credentials c = credentials.get(index);
+ switch (index) {
+ case 0:
+ c = new SimpleCredentials(testuser.getID(), testuser.getID().toCharArray());
+ break;
+ case 1:
+ c = new SimpleCredentials(getHelper().getProperty(RepositoryStub.PROP_PREFIX + "." + RepositoryStub.PROP_SUPERUSER_NAME), getHelper().getProperty(RepositoryStub.PROP_PREFIX + "." + RepositoryStub.PROP_SUPERUSER_PWD).toCharArray());
+ break;
+ default:
+ c = new SimpleCredentials(getHelper().getProperty(RepositoryStub.PROP_PREFIX + "." + RepositoryStub.PROP_READONLY_NAME), getHelper().getProperty(RepositoryStub.PROP_PREFIX + "." + RepositoryStub.PROP_READONLY_PWD).toCharArray());
+ break;
+ }
+ c.setAttribute(TokenBasedAuthentication.TOKEN_ATTRIBUTE, "");
Session s = getHelper().getRepository().login(c);
try {
Set<TokenCredentials> tcs = ((SessionImpl) s).getSubject().getPublicCredentials(TokenCredentials.class);
@@ -357,12 +345,6 @@ public class TokenBasedLoginTest extends
* Test copied and slightly adjusted from org.apache.jackrabbit.core.ConcurrentLoginTest
*/
public void testConcurrentLoginDifferentWorkspaces() throws RepositoryException, NotExecutableException {
- final Credentials creds = getHelper().getSuperuserCredentials();
- if (creds instanceof SimpleCredentials) {
- ((SimpleCredentials) creds).setAttribute(TokenBasedAuthentication.TOKEN_ATTRIBUTE, "");
- } else {
- throw new NotExecutableException();
- }
final List<String> wspNames = Arrays.asList(superuser.getWorkspace().getAccessibleWorkspaceNames());
if (wspNames.size() <= 1) {
@@ -380,7 +362,10 @@ public class TokenBasedLoginTest extends
int index = (int) Math.floor(rand);
String wspName = wspNames.get(index);
- Session s = getHelper().getRepository().login(creds, wspName);
+ SimpleCredentials sc = new SimpleCredentials(testuser.getID(), testuser.getID().toCharArray());
+ sc.setAttribute(TokenBasedAuthentication.TOKEN_ATTRIBUTE, "");
+
+ Session s = getHelper().getRepository().login(sc, wspName);
try {
Set<TokenCredentials> tcs = ((SessionImpl) s).getSubject().getPublicCredentials(TokenCredentials.class);
assertFalse(tcs.isEmpty());