You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2016/02/12 16:46:30 UTC
svn commit: r1730046 - in /jackrabbit/oak/trunk/oak-authorization-cug/src:
main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/
test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/
Author: angela
Date: Fri Feb 12 15:46:30 2016
New Revision: 1730046
URL: http://svn.apache.org/viewvc?rev=1730046&view=rev
Log:
minor improvement, test coverage
Modified:
jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugExcludeImpl.java
jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugExcludeImplTest.java
Modified: jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugExcludeImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugExcludeImpl.java?rev=1730046&r1=1730045&r2=1730046&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugExcludeImpl.java (original)
+++ jackrabbit/oak/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugExcludeImpl.java Fri Feb 12 15:46:30 2016
@@ -26,6 +26,7 @@ import com.google.common.collect.Immutab
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Modified;
import org.apache.felix.scr.annotations.Properties;
import org.apache.felix.scr.annotations.Property;
import org.apache.felix.scr.annotations.Service;
@@ -72,6 +73,15 @@ public class CugExcludeImpl extends CugE
@Activate
protected void activate(Map<String, Object> properties) {
- principalNames = ImmutableSet.copyOf(PropertiesUtil.toStringArray(properties.get("principalNames"), new String[0]));
+ setPrincipalNames(properties);
+ }
+
+ @Modified
+ protected void modified(Map<String, Object> properties) {
+ setPrincipalNames(properties);
+ }
+
+ private void setPrincipalNames(@Nonnull Map<String, Object> properties) {
+ this.principalNames = ImmutableSet.copyOf(PropertiesUtil.toStringArray(properties.get("principalNames"), new String[0]));
}
}
\ No newline at end of file
Modified: jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugExcludeImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugExcludeImplTest.java?rev=1730046&r1=1730045&r2=1730046&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugExcludeImplTest.java (original)
+++ jackrabbit/oak/trunk/oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugExcludeImplTest.java Fri Feb 12 15:46:30 2016
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.oak.spi.se
import java.security.Principal;
import java.util.Collections;
+import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -34,6 +35,7 @@ import static org.junit.Assert.assertTru
public class CugExcludeImplTest extends CugExcludeDefaultTest {
+ private String[] principalNames = new String[] {"a","b","c","test"};
private Set<Principal> principals = ImmutableSet.<Principal>of(new PrincipalImpl("test"));
@Override
@@ -58,15 +60,36 @@ public class CugExcludeImplTest extends
@Test
public void testExcludeTest() {
- Map<String, Object> m = ImmutableMap.<String, Object>of("principalNames", new String[] {"a","b","c","test"});
+ Map<String, Object> m = ImmutableMap.<String, Object>of("principalNames", principalNames);
activate(m);
- assertTrue(exclude.isExcluded(principals));
+
+ Set<Principal> all = new HashSet<Principal>();
+ for (String name : principalNames) {
+ Principal p = new PrincipalImpl(name);
+ assertTrue(exclude.isExcluded(ImmutableSet.of(p)));
+
+ all.add(p);
+ assertTrue(exclude.isExcluded(all));
+ }
}
@Test
public void testExcludeAnother() {
- Map<String, Object> m = ImmutableMap.<String, Object>of("principalNames", new String[] {"a","b","c","test"});
+ Map<String, Object> m = ImmutableMap.<String, Object>of("principalNames", principalNames);
activate(m);
assertFalse(exclude.isExcluded(ImmutableSet.<Principal>of(new PrincipalImpl("another"))));
}
+
+ @Test
+ public void testModifyExclude() {
+ Map<String, Object> m = ImmutableMap.<String, Object>of("principalNames", principalNames);
+ activate(m);
+ ((CugExcludeImpl) exclude).modified(ImmutableMap.<String, Object>of("principalNames", new String[]{"other"}));
+
+ for (String name : principalNames) {
+ Principal p = new PrincipalImpl(name);
+ assertFalse(exclude.isExcluded(ImmutableSet.of(p)));
+ }
+ assertTrue(exclude.isExcluded(ImmutableSet.<Principal>of(new PrincipalImpl("other"))));
+ }
}
\ No newline at end of file