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