You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2013/11/27 10:04:59 UTC
svn commit: r1545967 - in /jackrabbit/commons/filevault/trunk: parent/
vault-core/
vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/
vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/
Author: tripod
Date: Wed Nov 27 09:04:59 2013
New Revision: 1545967
URL: http://svn.apache.org/r1545967
Log:
Fix failing tests with oak
Modified:
jackrabbit/commons/filevault/trunk/parent/pom.xml
jackrabbit/commons/filevault/trunk/vault-core/pom.xml
jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/AdminPermissionCheckerTest.java
jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImplTest.java
jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/DumpCoverageTests.java
jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/IntegrationTestBase.java
jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestGroupMergePackage.java
Modified: jackrabbit/commons/filevault/trunk/parent/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/parent/pom.xml?rev=1545967&r1=1545966&r2=1545967&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/parent/pom.xml (original)
+++ jackrabbit/commons/filevault/trunk/parent/pom.xml Wed Nov 27 09:04:59 2013
@@ -304,6 +304,22 @@
<!-- P R O F I L E S -->
<!-- ====================================================================== -->
<profiles>
+ <profile>
+ <id>oak</id>
+ <properties>
+ <jackrabbit.version>2.7.2</jackrabbit.version>
+ <oak.version>0.13-SNAPSHOT</oak.version>
+ </properties>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>oak-run</artifactId>
+ <version>${oak.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ </profile>
</profiles>
</project>
Modified: jackrabbit/commons/filevault/trunk/vault-core/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/pom.xml?rev=1545967&r1=1545966&r2=1545967&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/pom.xml (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/pom.xml Wed Nov 27 09:04:59 2013
@@ -110,30 +110,7 @@
</instructions>
</configuration>
</plugin>
-
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <executions>
- <!-- run tests 2 second time on jackrabbit oak -->
- <execution>
- <id>oak</id>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <argLine>-Doak=true</argLine>
- <excludes>
- <exclude>**/TestGroupMergePackage.java</exclude>
- <exclude>**/TestACLAndMerge.java</exclude>
- <exclude>**/JcrPackageManagerImplTest.java</exclude>
- <exclude>**/AdminPermissionCheckerTest.java</exclude>
- </excludes>
- </configuration>
- </execution>
- </executions>
- </plugin>
</plugins>
-
</build>
<!-- ====================================================================== -->
@@ -221,11 +198,34 @@
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.jackrabbit</groupId>
- <artifactId>oak-run</artifactId>
- <version>0.13-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
</dependencies>
+
+ <!-- ====================================================================== -->
+ <!-- P R O F I L E S -->
+ <!-- ====================================================================== -->
+ <profiles>
+ <profile>
+ <id>oak</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>oak-run</artifactId>
+ <version>0.13-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <argLine>-Doak=true</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
</project>
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/AdminPermissionCheckerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/AdminPermissionCheckerTest.java?rev=1545967&r1=1545966&r2=1545967&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/AdminPermissionCheckerTest.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/AdminPermissionCheckerTest.java Wed Nov 27 09:04:59 2013
@@ -17,12 +17,16 @@
package org.apache.jackrabbit.vault.packaging.impl;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import org.apache.jackrabbit.api.JackrabbitSession;
import org.apache.jackrabbit.api.security.user.Authorizable;
import org.apache.jackrabbit.api.security.user.Group;
+import org.apache.jackrabbit.api.security.user.User;
import org.apache.jackrabbit.vault.packaging.integration.IntegrationTestBase;
+import org.junit.After;
import org.junit.Test;
import static org.junit.Assert.assertFalse;
@@ -33,24 +37,39 @@ import static org.junit.Assert.assertTru
*/
public class AdminPermissionCheckerTest extends IntegrationTestBase {
+ private static final String TEST_USER = "testUser";
+
@Test
public void testAdminUser() throws Exception {
assertTrue("user admin should have admin permissions", AdminPermissionChecker.hasAdministrativePermissions(admin));
}
+ @After
+ public void after() throws RepositoryException {
+ JackrabbitSession jackrabbitSession = (JackrabbitSession) admin;
+ Authorizable vip = jackrabbitSession.getUserManager().getAuthorizable(TEST_USER);
+ if (vip != null) {
+ vip.remove();
+ }
+ jackrabbitSession.save();
+ }
+
@Test
public void testNotAdminUser() throws Exception {
JackrabbitSession jackrabbitSession = (JackrabbitSession) admin;
- Authorizable vip = jackrabbitSession.getUserManager().getAuthorizable("who");
+ Authorizable vip = jackrabbitSession.getUserManager().getAuthorizable(TEST_USER);
if (vip == null) {
- jackrabbitSession.getUserManager().createUser("who", "who");
+ jackrabbitSession.getUserManager().createUser(TEST_USER, TEST_USER);
}
- jackrabbitSession.save();
admin.save();
- admin.logout();
- admin = repository.login(new SimpleCredentials("who", "who".toCharArray()));
- assertFalse("\"who\" is not admin/system and doesn't belong to administrators thus shouldn't have admin permissions",
- AdminPermissionChecker.hasAdministrativePermissions(admin));
+ Session session = repository.login(new SimpleCredentials(TEST_USER, TEST_USER.toCharArray()));
+ try {
+ assertFalse(
+ "\"" + TEST_USER + "\" is not admin/system and doesn't belong to administrators thus shouldn't have admin permissions",
+ AdminPermissionChecker.hasAdministrativePermissions(session));
+ } finally {
+ session.logout();
+ }
}
@Test
@@ -61,13 +80,20 @@ public class AdminPermissionCheckerTest
admins = jackrabbitSession.getUserManager().createGroup("administrators");
}
Group adminsGroup = (Group) admins;
- adminsGroup.addMember(jackrabbitSession.getUserManager().getAuthorizable("anonymous"));
- jackrabbitSession.save();
+ User testUser = (User) jackrabbitSession.getUserManager().getAuthorizable(TEST_USER);
+ if (testUser == null) {
+ testUser = jackrabbitSession.getUserManager().createUser(TEST_USER, TEST_USER);
+ }
+ adminsGroup.addMember(testUser);
admin.save();
- admin.logout();
- admin = repository.login(new SimpleCredentials("anonymous", "anonymous".toCharArray()));
- assertTrue("user \"anonymous\" has been added to administrators group thus should have admin permissions",
- AdminPermissionChecker.hasAdministrativePermissions(admin));
+ Session session = repository.login(new SimpleCredentials(TEST_USER, TEST_USER.toCharArray()));
+ try {
+ assertTrue(
+ "user \"" + TEST_USER + "\" has been added to administrators group thus should have admin permissions",
+ AdminPermissionChecker.hasAdministrativePermissions(session));
+ } finally {
+ session.logout();
+ }
}
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImplTest.java?rev=1545967&r1=1545966&r2=1545967&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImplTest.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImplTest.java Wed Nov 27 09:04:59 2013
@@ -19,6 +19,7 @@ package org.apache.jackrabbit.vault.pack
import java.util.LinkedList;
import java.util.List;
+import javax.jcr.GuestCredentials;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.RepositoryException;
@@ -49,7 +50,7 @@ public class JcrPackageManagerImplTest e
String path = "/etc/packages";
try {
jcrPackageManager.mkdir(path, true);
- fail("this should've thrown RepositoryException as the session always tells nodes don't exist");
+ fail("this should have thrown RepositoryException as the session always tells nodes don't exist");
}
catch (RepositoryException e) {
// everything it's ok
@@ -59,7 +60,7 @@ public class JcrPackageManagerImplTest e
@Test
public void testMkDirWithAnonymousSession() throws Exception {
- Session session = repository.login(new SimpleCredentials("anonymous", "anonymous".toCharArray()));
+ Session session = repository.login(new GuestCredentials());
JcrPackageManagerImpl jcrPackageManager = new JcrPackageManagerImpl(session);
jcrPackageManager.mkdir("/something/that/is/not/going/to/be/found/anywhere/in/this/repository/even/if/searching/in/very/long/paths/like/this", false);
jcrPackageManager.mkdir("/something/that/is/not/going/to/be/found/anywhere/in/this/repository/even/if/searching/in/very/long/paths/like/this", false);
@@ -83,6 +84,9 @@ public class JcrPackageManagerImplTest e
NodeIterator nodes = currentNode.getNodes();
while (nodes.hasNext()) {
Node node = nodes.nextNode();
+ if (node.getName().equals("jcr:system")) {
+ continue;
+ }
String nodePath = node.getPath();
if (visitedPaths.contains(nodePath)) {
continue;
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/DumpCoverageTests.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/DumpCoverageTests.java?rev=1545967&r1=1545966&r2=1545967&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/DumpCoverageTests.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/DumpCoverageTests.java Wed Nov 27 09:04:59 2013
@@ -18,6 +18,8 @@
package org.apache.jackrabbit.vault.packaging.integration;
import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
@@ -129,6 +131,8 @@ public class DumpCoverageTests extends I
}
public static void checkResults(String msg, String[] expected, List<String> result) {
+ Arrays.sort(expected);
+ Collections.sort(result);
String left = Text.implode(expected, "\n");
String right = Text.implode(result.toArray(new String[result.size()]), "\n");
assertEquals(msg, left, right);
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/IntegrationTestBase.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/IntegrationTestBase.java?rev=1545967&r1=1545966&r2=1545967&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/IntegrationTestBase.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/IntegrationTestBase.java Wed Nov 27 09:04:59 2013
@@ -21,6 +21,7 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Properties;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
@@ -31,9 +32,19 @@ import javax.jcr.SimpleCredentials;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
+import org.apache.jackrabbit.commons.jackrabbit.authorization.AccessControlUtils;
import org.apache.jackrabbit.core.RepositoryImpl;
import org.apache.jackrabbit.core.config.RepositoryConfig;
+import org.apache.jackrabbit.core.security.principal.EveryonePrincipal;
import org.apache.jackrabbit.oak.jcr.Jcr;
+import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
+import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
+import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConstants;
+import org.apache.jackrabbit.oak.spi.security.user.UserConfiguration;
+import org.apache.jackrabbit.oak.spi.security.user.UserConstants;
+import org.apache.jackrabbit.oak.spi.security.user.action.AccessControlAction;
+import org.apache.jackrabbit.oak.spi.xml.ImportBehavior;
+import org.apache.jackrabbit.oak.spi.xml.ProtectedItemImporter;
import org.apache.jackrabbit.vault.fs.api.ProgressTrackerListener;
import org.apache.jackrabbit.vault.fs.io.ImportOptions;
import org.apache.jackrabbit.vault.packaging.JcrPackageManager;
@@ -70,7 +81,23 @@ public class IntegrationTestBase {
@BeforeClass
public static void initRepository() throws RepositoryException {
if (Boolean.getBoolean("oak")) {
- repository = new Jcr().createRepository();
+ Properties userProps = new Properties();
+ userProps.put(UserConstants.PARAM_USER_PATH, "/home/users");
+ userProps.put(UserConstants.PARAM_GROUP_PATH, "/home/groups");
+ userProps.put(AccessControlAction.USER_PRIVILEGE_NAMES, new String[] {PrivilegeConstants.JCR_ALL});
+ userProps.put(AccessControlAction.GROUP_PRIVILEGE_NAMES, new String[] {PrivilegeConstants.JCR_READ});
+ userProps.put(ProtectedItemImporter.PARAM_IMPORT_BEHAVIOR, ImportBehavior.NAME_BESTEFFORT);
+ Properties securityProps = new Properties();
+ securityProps.put(UserConfiguration.NAME, ConfigurationParameters.of(userProps));
+ repository = new Jcr()
+ .with(new SecurityProviderImpl(ConfigurationParameters.of(securityProps)))
+ .createRepository();
+
+ // setup default read ACL for everyone
+ Session admin = repository.login(new SimpleCredentials("admin", "admin".toCharArray()));
+ AccessControlUtils.addAccessControlEntry(admin, "/", EveryonePrincipal.getInstance(), new String[]{"jcr:read"}, true);
+ admin.save();
+ admin.logout();
} else {
InputStream in = IntegrationTestBase.class.getResourceAsStream("repository.xml");
RepositoryConfig cfg = RepositoryConfig.create(in, REPO_HOME);
Modified: jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestGroupMergePackage.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestGroupMergePackage.java?rev=1545967&r1=1545966&r2=1545967&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestGroupMergePackage.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/TestGroupMergePackage.java Wed Nov 27 09:04:59 2013
@@ -47,7 +47,7 @@ public class TestGroupMergePackage exten
removeAuthorizable(mgr, "test-user-a");
removeAuthorizable(mgr, "test-user-b");
removeAuthorizable(mgr, "test-user-c");
-
+ admin.save();
super.tearDown();
}