Author: angela
Date: Wed Apr 5 12:32:49 2017
New Revision: 1790222
URL: http://svn.apache.org/viewvc?rev=1790222&view=rev
Log:
OAK-6038 : Drop dependency of spi.security.* tests from AbstractSecurityTest
(wip: PrivilegeBitsTest.java)
Added:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/privilege/JcrAllTest.java
(with props)
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsProviderTest.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsTest.java
Added:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/privilege/JcrAllTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/privilege/JcrAllTest.java?rev=1790222&view=auto
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/privilege/JcrAllTest.java
(added)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/privilege/JcrAllTest.java
Wed Apr 5 12:32:49 2017
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.oak.security.privilege;
+
+import java.util.Arrays;
+import java.util.Collections;
+import javax.annotation.Nullable;
+import javax.jcr.security.Privilege;
+
+import com.google.common.base.Function;
+import com.google.common.collect.Iterables;
+import org.apache.jackrabbit.api.security.authorization.PrivilegeManager;
+import org.apache.jackrabbit.oak.AbstractSecurityTest;
+import org.apache.jackrabbit.oak.namepath.NamePathMapper;
+import
org.apache.jackrabbit.oak.spi.security.authorization.permission.Permissions;
+import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeBits;
+import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeBitsProvider;
+import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConfiguration;
+import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConstants;
+import org.junit.Test;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+public class JcrAllTest extends AbstractSecurityTest implements
PrivilegeConstants {
+
+ private PrivilegeBitsProvider bitsProvider;
+
+ @Override
+ public void before() throws Exception {
+ super.before();
+
+ bitsProvider = new PrivilegeBitsProvider(root);
+ }
+
+ @Test
+ public void testCalculatePermissionsAll() {
+ PrivilegeBits all = bitsProvider.getBits(JCR_ALL);
+ assertFalse(Permissions.ALL == PrivilegeBits.calculatePermissions(all,
PrivilegeBits.EMPTY, true));
+ assertTrue(Permissions.ALL == PrivilegeBits.calculatePermissions(all,
all, true));
+ }
+
+ @Test
+ public void testAll() {
+ PrivilegeBits all = bitsProvider.getBits(JCR_ALL);
+ assertFalse(all.isEmpty());
+ assertEquals(Collections.singleton(JCR_ALL),
bitsProvider.getPrivilegeNames(all));
+ }
+
+ @Test
+ public void testAllAggregation() throws Exception {
+ PrivilegeBits all = bitsProvider.getBits(JCR_ALL);
+
+ PrivilegeManager pMgr =
getSecurityProvider().getConfiguration(PrivilegeConfiguration.class).getPrivilegeManager(root,
NamePathMapper.DEFAULT);
+ Iterable<Privilege> declaredAggr =
Arrays.asList(pMgr.getPrivilege(JCR_ALL).getDeclaredAggregatePrivileges());
+ String[] allAggregates = Iterables.toArray(Iterables.transform(
+ declaredAggr,
+ new Function<Privilege, String>() {
+ @Override
+ public String apply(@Nullable Privilege privilege) {
+ return checkNotNull(privilege).getName();
+ }
+ }), String.class);
+ PrivilegeBits all2 = bitsProvider.getBits(allAggregates);
+
+ assertEquals(all, all2);
+ assertEquals(Collections.singleton(JCR_ALL),
bitsProvider.getPrivilegeNames(all2));
+
+ PrivilegeBits bits = PrivilegeBits.getInstance();
+ for (String name : allAggregates) {
+ bits.add(bitsProvider.getBits(name));
+ }
+ assertEquals(all, bits.unmodifiable());
+ }
+}
\ No newline at end of file
Propchange:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/privilege/JcrAllTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsProviderTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsProviderTest.java?rev=1790222&r1=1790221&r2=1790222&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsProviderTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsProviderTest.java
Wed Apr 5 12:32:49 2017
@@ -16,25 +16,18 @@
*/
package org.apache.jackrabbit.oak.spi.security.privilege;
-import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
-import javax.annotation.Nullable;
import javax.jcr.RepositoryException;
-import javax.jcr.security.Privilege;
-import com.google.common.base.Function;
import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import org.apache.jackrabbit.api.security.authorization.PrivilegeManager;
import org.apache.jackrabbit.oak.AbstractSecurityTest;
-import org.apache.jackrabbit.oak.namepath.NamePathMapper;
import org.junit.Test;
-import static com.google.common.base.Preconditions.checkNotNull;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -121,39 +114,6 @@ public class PrivilegeBitsProviderTest e
}
@Test
- public void testAll() {
- PrivilegeBits all = bitsProvider.getBits(JCR_ALL);
- assertFalse(all.isEmpty());
- assertEquals(Collections.singleton(JCR_ALL),
bitsProvider.getPrivilegeNames(all));
- }
-
- @Test
- public void testAllAggregation() throws Exception {
- PrivilegeBits all = bitsProvider.getBits(JCR_ALL);
-
- PrivilegeManager pMgr =
getSecurityProvider().getConfiguration(PrivilegeConfiguration.class).getPrivilegeManager(root,
NamePathMapper.DEFAULT);
- Iterable<Privilege> declaredAggr =
Arrays.asList(pMgr.getPrivilege(JCR_ALL).getDeclaredAggregatePrivileges());
- String[] allAggregates = Iterables.toArray(Iterables.transform(
- declaredAggr,
- new Function<Privilege, String>() {
- @Override
- public String apply(@Nullable Privilege privilege) {
- return checkNotNull(privilege).getName();
- }
- }), String.class);
- PrivilegeBits all2 = bitsProvider.getBits(allAggregates);
-
- assertEquals(all, all2);
- assertEquals(Collections.singleton(JCR_ALL),
bitsProvider.getPrivilegeNames(all2));
-
- PrivilegeBits bits = PrivilegeBits.getInstance();
- for (String name : allAggregates) {
- bits.add(bitsProvider.getBits(name));
- }
- assertEquals(all, bits.unmodifiable());
- }
-
- @Test
public void testGetAggregatedNames() throws Exception {
assertFalse(bitsProvider.getAggregatedPrivilegeNames().iterator().hasNext());
assertFalse(bitsProvider.getAggregatedPrivilegeNames("unknown").iterator().hasNext());
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsTest.java?rev=1790222&r1=1790221&r2=1790222&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsTest.java
Wed Apr 5 12:32:49 2017
@@ -24,13 +24,14 @@ import java.util.Map;
import java.util.Random;
import com.google.common.collect.ImmutableSet;
-import org.apache.jackrabbit.oak.AbstractSecurityTest;
import org.apache.jackrabbit.oak.api.PropertyState;
+import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.plugins.memory.PropertyStates;
import
org.apache.jackrabbit.oak.spi.security.authorization.permission.Permissions;
import org.junit.Test;
+import org.mockito.Mockito;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -39,8 +40,9 @@ import static org.junit.Assert.assertNot
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import static org.mockito.Mockito.when;
-public class PrivilegeBitsTest extends AbstractSecurityTest implements
PrivilegeConstants {
+public class PrivilegeBitsTest implements PrivilegeConstants {
private static final long NO_PRIVILEGE = 0;
private static final PrivilegeBits READ_NODES_PRIVILEGE_BITS =
PrivilegeBits.BUILT_IN.get(REP_READ_NODES);
@@ -677,24 +679,22 @@ public class PrivilegeBitsTest extends A
}
@Test
- public void testGetInstanceFromTree() {
- Tree privRoot = root.getTree(PRIVILEGES_PATH);
- try {
- Tree tmp = privRoot.addChild("tmpPrivilege");
- PrivilegeBits tmpBits =
PrivilegeBits.getInstance(privRoot.getProperty(REP_NEXT));
- tmpBits.writeTo(tmp);
-
- Map<Tree, PrivilegeBits> treeToBits = new HashMap<Tree,
PrivilegeBits>();
- treeToBits.put(privRoot.getChild(JCR_READ),
PrivilegeBits.BUILT_IN.get(JCR_READ));
- treeToBits.put(tmp, tmpBits);
- treeToBits.put(privRoot, tmpBits);
+ public void testGetInstanceFromTreeCustomPriv() {
+ PrivilegeBits next = PrivilegeBits.NEXT_AFTER_BUILT_INS;
- for (Tree tree : treeToBits.keySet()) {
- assertEquals(treeToBits.get(tree),
PrivilegeBits.getInstance(tree));
- }
- } finally {
- root.refresh();
- }
+ Tree tmp = Mockito.mock(Tree.class);
+ when(tmp.getName()).thenReturn("tmpPrivilege");
+
when(tmp.getProperty(REP_BITS)).thenReturn(next.asPropertyState(REP_BITS));
+
+ assertEquals(next, PrivilegeBits.getInstance(tmp));
+ }
+
+ @Test
+ public void testGetInstanceFromTreeJcrRead() {
+ Tree readPrivTree = Mockito.mock(Tree.class);
+ when(readPrivTree.getName()).thenReturn(JCR_READ);
+
+ assertEquals(PrivilegeBits.BUILT_IN.get(JCR_READ),
PrivilegeBits.getInstance(readPrivTree));
}
@Test
@@ -704,7 +704,7 @@ public class PrivilegeBitsTest extends A
@Test
public void testCalculatePermissions() {
- PrivilegeBitsProvider provider = new PrivilegeBitsProvider(root);
+ PrivilegeBitsProvider provider = new
PrivilegeBitsProvider(Mockito.mock(Root.class));
Map<PrivilegeBits, Long> simple = new HashMap<PrivilegeBits, Long>();
simple.put(PrivilegeBits.EMPTY, Permissions.NO_PERMISSION);
@@ -742,16 +742,11 @@ public class PrivilegeBitsTest extends A
permissions = (Permissions.MODIFY_PROPERTY |
Permissions.REMOVE_PROPERTY);
assertTrue(permissions == PrivilegeBits.calculatePermissions(ch_rm,
PrivilegeBits.EMPTY, true));
assertTrue(permissions == PrivilegeBits.calculatePermissions(ch_rm,
add_rm, true));
-
- // jcr:add aggregate
- PrivilegeBits all = provider.getBits(JCR_ALL);
- assertFalse(Permissions.ALL == PrivilegeBits.calculatePermissions(all,
PrivilegeBits.EMPTY, true));
- assertTrue(Permissions.ALL == PrivilegeBits.calculatePermissions(all,
all, true));
}
@Test
public void testCalculatePermissionsParentAwareAllow() {
- PrivilegeBitsProvider provider = new PrivilegeBitsProvider(root);
+ PrivilegeBitsProvider provider = new
PrivilegeBitsProvider(Mockito.mock(Root.class));
// parent aware permissions
// a) jcr:addChildNodes
@@ -776,7 +771,7 @@ public class PrivilegeBitsTest extends A
@Test
public void testCalculatePermissionsParentAwareDeny() {
- PrivilegeBitsProvider provider = new PrivilegeBitsProvider(root);
+ PrivilegeBitsProvider provider = new
PrivilegeBitsProvider(Mockito.mock(Root.class));
// parent aware permissions
// a) jcr:addChildNodes