You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by sm...@apache.org on 2006/08/22 09:17:47 UTC

svn commit: r433551 - /incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/

Author: smishura
Date: Tue Aug 22 00:17:46 2006
New Revision: 433551

URL: http://svn.apache.org/viewvc?rev=433551&view=rev
Log:
Set eol-style=native

Modified:
    incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/AuthPermissionTest.java   (props changed)
    incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/DestroyFailedExceptionTest.java   (props changed)
    incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/FakePrincipal.java   (props changed)
    incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/MyPrincipal.java   (props changed)
    incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/OtherPrincipal.java   (props changed)
    incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/PolicyTest.java   (contents, props changed)
    incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/RefreshFailedExceptionTest.java   (props changed)
    incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/SubjectDomainCombinerTest.java   (props changed)
    incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/auth_policy1.txt   (contents, props changed)
    incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/auth_policy2.txt   (contents, props changed)

Propchange: incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/AuthPermissionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/DestroyFailedExceptionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/FakePrincipal.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/MyPrincipal.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/OtherPrincipal.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/PolicyTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/PolicyTest.java?rev=433551&r1=433550&r2=433551&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/PolicyTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/PolicyTest.java Tue Aug 22 00:17:46 2006
@@ -1,374 +1,374 @@
-/*
- *  Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- *  Licensed 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.
- */
-
-/**
-* @author Alexey V. Varlamov
-* @version $Revision$
-*/
-
-package javax.security.auth;
-
-import java.io.File;
-import java.io.FilePermission;
-import java.net.URL;
-import java.security.AllPermission;
-import java.security.CodeSigner;
-import java.security.CodeSource;
-import java.security.Permission;
-import java.security.PermissionCollection;
-import java.security.Security;
-import java.security.cert.Certificate;
-import java.util.Enumeration;
-
-import junit.framework.TestCase;
-
-import org.apache.harmony.auth.tests.support.SecurityChecker;
-import org.apache.harmony.auth.tests.support.TestUtils;
-
-
-/**
- * Tests Policy class
- */
-public class PolicyTest extends TestCase {
-
-    public static void main(String[] args) {
-        junit.textui.TestRunner.run(PolicyTest.class);
-    }
-
-    /**
-     * Tests that setPolicy() is properly secured via SecurityManager.
-     */
-    public void testSetPolicy() {
-        SecurityManager old = System.getSecurityManager();
-        Policy oldPolicy = null;
-        oldPolicy = Policy.getPolicy();
-
-        try {
-            SecurityChecker checker = new SecurityChecker(new AuthPermission(
-                    "setPolicy"), true);
-            System.setSecurityManager(checker);
-            Policy custom = new TestProvider();
-            Policy.setPolicy(custom);
-            assertTrue(checker.checkAsserted);
-            assertSame(custom, Policy.getPolicy());
-
-            checker.reset();
-            checker.enableAccess = false;
-            try {
-                Policy.setPolicy(new TestProvider());
-                fail("SecurityException is intercepted");
-            } catch (SecurityException ok) {
-            }
-        } finally {
-            System.setSecurityManager(old);
-            Policy.setPolicy(oldPolicy);
-        }
-    }
-
-    /**
-     * Tests that getPolicy() is properly secured via SecurityManager.
-     */
-    public void testGetPolicy_CheckPermission() {
-        SecurityManager old = System.getSecurityManager();
-        Policy oldPolicy = null;
-        oldPolicy = Policy.getPolicy();
-
-        try {
-            Policy.setPolicy(new TestProvider());
-            SecurityChecker checker = new SecurityChecker(new AuthPermission(
-                    "getPolicy"), true);
-            System.setSecurityManager(checker);
-            Policy.getPolicy();
-            assertTrue(checker.checkAsserted);
-
-            checker.reset();
-            checker.enableAccess = false;
-            try {
-                Policy.getPolicy();
-                fail("SecurityException is intercepted");
-            } catch (SecurityException ok) {
-            }
-        } finally {
-            System.setSecurityManager(old);
-            Policy.setPolicy(oldPolicy);
-        }
-    }
-
-    public static class TestProvider extends Policy {
-
-        public PermissionCollection getPermissions(Subject subject,
-                CodeSource cs) {
-            return null;
-        }
-
-        public void refresh() {
-        }
-    }
-
-    public static class FakePolicy {
-        // This is not policy class
-    }
-    /**
-     * Tests loading of a default provider, both valid and invalid class
-     * references.
-     */
-    public void testGetPolicy_LoadDefaultProvider() {
-        Policy oldPolicy = null;
-        try {
-            oldPolicy = Policy.getPolicy();
-        } catch (Throwable ignore) {
-        }
-        String POLICY_PROVIDER = "auth.policy.provider";
-        String oldProvider = Security.getProperty(POLICY_PROVIDER);
-        try {
-            Security.setProperty(POLICY_PROVIDER, TestProvider.class.getName());
-            Policy.setPolicy(null);
-            Policy p = Policy.getPolicy();
-            assertNotNull(p);
-            assertEquals(TestProvider.class.getName(), p.getClass().getName());
-
-            // absent class
-            Security.setProperty(POLICY_PROVIDER, "a.b.c.D");
-            Policy.setPolicy(null);
-            try {
-                p = Policy.getPolicy();
-                fail("No SecurityException on failed provider");
-            } catch (SecurityException ok) {
-            }
-            
-            // not a policy class
-            Security.setProperty(POLICY_PROVIDER, FakePolicy.class.getName());
-            Policy.setPolicy(null);
-            try {
-                p = Policy.getPolicy();
-                fail("No expected SecurityException");
-            } catch (SecurityException ok) {
-            }
-        } finally {
-            TestUtils.setSystemProperty(POLICY_PROVIDER, oldProvider);
-            Policy.setPolicy(oldPolicy);
-        }
-    }
-
-    //
-    //
-    //
-    //
-    //
-
-    static String outputPath = System.getProperty("RESOURCE_DIR", "test"
-            + File.separator + "common" + File.separator + "unit");
-
-    static String inputFile1 = outputPath + File.separator + "javax"
-            + File.separator + "security" + File.separator + "auth"
-            + File.separator + "auth_policy1.txt";
-
-    static String inputFile2 = outputPath + File.separator + "javax"
-            + File.separator + "security" + File.separator + "auth"
-            + File.separator + "auth_policy2.txt";
-
-    private static final String POLICY_PROP = "java.security.auth.policy";
-    
-    public void test_GetPermissions() throws Exception {
-
-        PermissionCollection c;
-        Permission per;
-        Subject subject;
-        Enumeration e;
-        CodeSource source;
-
-        String oldProp = System.getProperty(POLICY_PROP);
-        try {
-            System.setProperty(POLICY_PROP, inputFile1);
-
-            Policy p = Policy.getPolicy();
-            p.refresh();
-
-            //
-            // Both parameters are null
-            //
-
-            c = p.getPermissions(null, null);
-            assertFalse("Read only for empty", c.isReadOnly());
-            assertFalse("Elements for empty", c.elements().hasMoreElements());
-
-            //
-            // Subject parameter is provided (CodeBase is not important)
-            //
-            // Principal javax.security.auth.MyPrincipal "duke"
-            //
-
-            // no prinipals at all
-            subject = new Subject();
-            c = p.getPermissions(subject, null);
-            assertFalse("Elements: ", c.elements().hasMoreElements());
-
-            // different name "kuke" not "duke"
-            subject.getPrincipals().add(new MyPrincipal("kuke"));
-            c = p.getPermissions(subject, null);
-            assertFalse("Elements: ", c.elements().hasMoreElements());
-
-            // different class with required principal's name
-            subject.getPrincipals().add(new OtherPrincipal("duke"));
-            c = p.getPermissions(subject, null);
-            assertFalse("Elements: ", c.elements().hasMoreElements());
-
-            // subclass with required principal's name
-            subject.getPrincipals().add(new FakePrincipal("duke"));
-            c = p.getPermissions(subject, null);
-            assertFalse("Elements: ", c.elements().hasMoreElements());
-
-            // add required principal's name
-            subject.getPrincipals().add(new MyPrincipal("duke"));
-
-            e = p.getPermissions(subject, null).elements();
-
-            per = (Permission) e.nextElement();
-            assertFalse("Elements: ", e.hasMoreElements());
-            assertEquals("Permission: ", per, new FilePermission("/home/duke",
-                    "read, write"));
-
-            // check: CodeBase is not important
-            source = new CodeSource(new URL("http://dummy.xxx"),
-                    (Certificate[]) null);
-            c = p.getPermissions(subject, source);
-            assertTrue("Elements: ", c.elements().hasMoreElements());
-
-            source = new CodeSource(new URL("http://dummy.xxx"),
-                    (CodeSigner[]) null);
-            c = p.getPermissions(subject, source);
-            assertTrue("Elements: ", c.elements().hasMoreElements());
-
-            //
-            // Subject and CodeBase parameter are provided
-            //
-            // Principal javax.security.auth.MyPrincipal "dummy"
-            // CodeBase "http://dummy.xxx"
-            //
-            source = new CodeSource(new URL("http://dummy.xxx"),
-                    (Certificate[]) null);
-            subject = new Subject();
-            subject.getPrincipals().add(new MyPrincipal("dummy"));
-
-            e = p.getPermissions(subject, source).elements();
-            per = (Permission) e.nextElement();
-            assertFalse("Elements: ", e.hasMoreElements());
-            assertEquals("Permission: ", per, new RuntimePermission(
-                    "createClassLoader"));
-
-            // reset subject : no prinipals at all
-            subject = new Subject();
-            c = p.getPermissions(subject, source);
-            assertFalse("Elements: ", c.elements().hasMoreElements());
-
-            // different name "kuke" not "dummy"
-            subject.getPrincipals().add(new MyPrincipal("kuke"));
-            c = p.getPermissions(subject, null);
-            assertFalse("Elements: ", c.elements().hasMoreElements());
-
-            // different class with required principal's name
-            subject.getPrincipals().add(new OtherPrincipal("dummy"));
-            c = p.getPermissions(subject, null);
-            assertFalse("Elements: ", c.elements().hasMoreElements());
-
-            //
-            // Principal javax.security.auth.MyPrincipal "my"
-            // Principal javax.security.auth.OtherPrincipal "other"
-            //
-            subject = new Subject();
-            subject.getPrincipals().add(new MyPrincipal("my"));
-            c = p.getPermissions(subject, null);
-            assertFalse("Elements: ", c.elements().hasMoreElements());
-
-            subject.getPrincipals().add(new OtherPrincipal("other"));
-            e = p.getPermissions(subject, null).elements();
-            per = (Permission) e.nextElement();
-            assertFalse("Elements: ", e.hasMoreElements());
-            assertEquals("Permission: ", per, new AllPermission());
-
-            //
-            // Principal javax.security.auth.MyPrincipal "bunny"
-            //
-            subject = new Subject();
-            subject.getPrincipals().add(new MyPrincipal("bunny"));
-
-            e = p.getPermissions(subject, null).elements();
-
-            Permission[] get = new Permission[2];
-            get[0] = (Permission) e.nextElement();
-            get[1] = (Permission) e.nextElement();
-            assertFalse("Elements: ", e.hasMoreElements());
-
-            Permission[] set = new Permission[2];
-            set[0] = new FilePermission("/home/bunny", "read, write");
-            set[1] = new RuntimePermission("stopThread");
-
-            if (get[0].equals(set[0])) {
-                assertEquals("Permission: ", set[1], get[1]);
-            } else {
-                assertEquals("Permission: ", set[0], get[1]);
-                assertEquals("Permission: ", set[1], get[0]);
-            }
-
-        } finally {
-            TestUtils.setSystemProperty(POLICY_PROP, oldProp);
-        }
-    }
-
-    public void test_Refresh() {
-
-        Permission per;
-        Subject subject;
-        Enumeration e;
-
-        String oldProp = System.getProperty(POLICY_PROP);
-        try {
-            //
-            // first policy file to be read
-            //
-            System.setProperty(POLICY_PROP, inputFile1);
-
-            Policy p = Policy.getPolicy();
-            p.refresh();
-
-            subject = new Subject();
-            subject.getPrincipals().add(new MyPrincipal("duke"));
-
-            e = p.getPermissions(subject, null).elements();
-
-            per = (Permission) e.nextElement();
-            assertFalse("Elements: ", e.hasMoreElements());
-            assertEquals("Permission: ", per, new FilePermission("/home/duke",
-                    "read, write"));
-
-            //
-            // second policy file to be read
-            //
-            System.setProperty(POLICY_PROP, inputFile2);
-
-            p.refresh();
-
-            e = p.getPermissions(subject, null).elements();
-
-            per = (Permission) e.nextElement();
-            assertFalse("Elements: ", e.hasMoreElements());
-            assertEquals("Permission: ", per, new RuntimePermission(
-                    "createClassLoader"));
-        } finally {
-            TestUtils.setSystemProperty(POLICY_PROP, oldProp);
-        }
-    }
-}
+/*
+ *  Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ *  Licensed 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.
+ */
+
+/**
+* @author Alexey V. Varlamov
+* @version $Revision$
+*/
+
+package javax.security.auth;
+
+import java.io.File;
+import java.io.FilePermission;
+import java.net.URL;
+import java.security.AllPermission;
+import java.security.CodeSigner;
+import java.security.CodeSource;
+import java.security.Permission;
+import java.security.PermissionCollection;
+import java.security.Security;
+import java.security.cert.Certificate;
+import java.util.Enumeration;
+
+import junit.framework.TestCase;
+
+import org.apache.harmony.auth.tests.support.SecurityChecker;
+import org.apache.harmony.auth.tests.support.TestUtils;
+
+
+/**
+ * Tests Policy class
+ */
+public class PolicyTest extends TestCase {
+
+    public static void main(String[] args) {
+        junit.textui.TestRunner.run(PolicyTest.class);
+    }
+
+    /**
+     * Tests that setPolicy() is properly secured via SecurityManager.
+     */
+    public void testSetPolicy() {
+        SecurityManager old = System.getSecurityManager();
+        Policy oldPolicy = null;
+        oldPolicy = Policy.getPolicy();
+
+        try {
+            SecurityChecker checker = new SecurityChecker(new AuthPermission(
+                    "setPolicy"), true);
+            System.setSecurityManager(checker);
+            Policy custom = new TestProvider();
+            Policy.setPolicy(custom);
+            assertTrue(checker.checkAsserted);
+            assertSame(custom, Policy.getPolicy());
+
+            checker.reset();
+            checker.enableAccess = false;
+            try {
+                Policy.setPolicy(new TestProvider());
+                fail("SecurityException is intercepted");
+            } catch (SecurityException ok) {
+            }
+        } finally {
+            System.setSecurityManager(old);
+            Policy.setPolicy(oldPolicy);
+        }
+    }
+
+    /**
+     * Tests that getPolicy() is properly secured via SecurityManager.
+     */
+    public void testGetPolicy_CheckPermission() {
+        SecurityManager old = System.getSecurityManager();
+        Policy oldPolicy = null;
+        oldPolicy = Policy.getPolicy();
+
+        try {
+            Policy.setPolicy(new TestProvider());
+            SecurityChecker checker = new SecurityChecker(new AuthPermission(
+                    "getPolicy"), true);
+            System.setSecurityManager(checker);
+            Policy.getPolicy();
+            assertTrue(checker.checkAsserted);
+
+            checker.reset();
+            checker.enableAccess = false;
+            try {
+                Policy.getPolicy();
+                fail("SecurityException is intercepted");
+            } catch (SecurityException ok) {
+            }
+        } finally {
+            System.setSecurityManager(old);
+            Policy.setPolicy(oldPolicy);
+        }
+    }
+
+    public static class TestProvider extends Policy {
+
+        public PermissionCollection getPermissions(Subject subject,
+                CodeSource cs) {
+            return null;
+        }
+
+        public void refresh() {
+        }
+    }
+
+    public static class FakePolicy {
+        // This is not policy class
+    }
+    /**
+     * Tests loading of a default provider, both valid and invalid class
+     * references.
+     */
+    public void testGetPolicy_LoadDefaultProvider() {
+        Policy oldPolicy = null;
+        try {
+            oldPolicy = Policy.getPolicy();
+        } catch (Throwable ignore) {
+        }
+        String POLICY_PROVIDER = "auth.policy.provider";
+        String oldProvider = Security.getProperty(POLICY_PROVIDER);
+        try {
+            Security.setProperty(POLICY_PROVIDER, TestProvider.class.getName());
+            Policy.setPolicy(null);
+            Policy p = Policy.getPolicy();
+            assertNotNull(p);
+            assertEquals(TestProvider.class.getName(), p.getClass().getName());
+
+            // absent class
+            Security.setProperty(POLICY_PROVIDER, "a.b.c.D");
+            Policy.setPolicy(null);
+            try {
+                p = Policy.getPolicy();
+                fail("No SecurityException on failed provider");
+            } catch (SecurityException ok) {
+            }
+            
+            // not a policy class
+            Security.setProperty(POLICY_PROVIDER, FakePolicy.class.getName());
+            Policy.setPolicy(null);
+            try {
+                p = Policy.getPolicy();
+                fail("No expected SecurityException");
+            } catch (SecurityException ok) {
+            }
+        } finally {
+            TestUtils.setSystemProperty(POLICY_PROVIDER, oldProvider);
+            Policy.setPolicy(oldPolicy);
+        }
+    }
+
+    //
+    //
+    //
+    //
+    //
+
+    static String outputPath = System.getProperty("RESOURCE_DIR", "test"
+            + File.separator + "common" + File.separator + "unit");
+
+    static String inputFile1 = outputPath + File.separator + "javax"
+            + File.separator + "security" + File.separator + "auth"
+            + File.separator + "auth_policy1.txt";
+
+    static String inputFile2 = outputPath + File.separator + "javax"
+            + File.separator + "security" + File.separator + "auth"
+            + File.separator + "auth_policy2.txt";
+
+    private static final String POLICY_PROP = "java.security.auth.policy";
+    
+    public void test_GetPermissions() throws Exception {
+
+        PermissionCollection c;
+        Permission per;
+        Subject subject;
+        Enumeration e;
+        CodeSource source;
+
+        String oldProp = System.getProperty(POLICY_PROP);
+        try {
+            System.setProperty(POLICY_PROP, inputFile1);
+
+            Policy p = Policy.getPolicy();
+            p.refresh();
+
+            //
+            // Both parameters are null
+            //
+
+            c = p.getPermissions(null, null);
+            assertFalse("Read only for empty", c.isReadOnly());
+            assertFalse("Elements for empty", c.elements().hasMoreElements());
+
+            //
+            // Subject parameter is provided (CodeBase is not important)
+            //
+            // Principal javax.security.auth.MyPrincipal "duke"
+            //
+
+            // no prinipals at all
+            subject = new Subject();
+            c = p.getPermissions(subject, null);
+            assertFalse("Elements: ", c.elements().hasMoreElements());
+
+            // different name "kuke" not "duke"
+            subject.getPrincipals().add(new MyPrincipal("kuke"));
+            c = p.getPermissions(subject, null);
+            assertFalse("Elements: ", c.elements().hasMoreElements());
+
+            // different class with required principal's name
+            subject.getPrincipals().add(new OtherPrincipal("duke"));
+            c = p.getPermissions(subject, null);
+            assertFalse("Elements: ", c.elements().hasMoreElements());
+
+            // subclass with required principal's name
+            subject.getPrincipals().add(new FakePrincipal("duke"));
+            c = p.getPermissions(subject, null);
+            assertFalse("Elements: ", c.elements().hasMoreElements());
+
+            // add required principal's name
+            subject.getPrincipals().add(new MyPrincipal("duke"));
+
+            e = p.getPermissions(subject, null).elements();
+
+            per = (Permission) e.nextElement();
+            assertFalse("Elements: ", e.hasMoreElements());
+            assertEquals("Permission: ", per, new FilePermission("/home/duke",
+                    "read, write"));
+
+            // check: CodeBase is not important
+            source = new CodeSource(new URL("http://dummy.xxx"),
+                    (Certificate[]) null);
+            c = p.getPermissions(subject, source);
+            assertTrue("Elements: ", c.elements().hasMoreElements());
+
+            source = new CodeSource(new URL("http://dummy.xxx"),
+                    (CodeSigner[]) null);
+            c = p.getPermissions(subject, source);
+            assertTrue("Elements: ", c.elements().hasMoreElements());
+
+            //
+            // Subject and CodeBase parameter are provided
+            //
+            // Principal javax.security.auth.MyPrincipal "dummy"
+            // CodeBase "http://dummy.xxx"
+            //
+            source = new CodeSource(new URL("http://dummy.xxx"),
+                    (Certificate[]) null);
+            subject = new Subject();
+            subject.getPrincipals().add(new MyPrincipal("dummy"));
+
+            e = p.getPermissions(subject, source).elements();
+            per = (Permission) e.nextElement();
+            assertFalse("Elements: ", e.hasMoreElements());
+            assertEquals("Permission: ", per, new RuntimePermission(
+                    "createClassLoader"));
+
+            // reset subject : no prinipals at all
+            subject = new Subject();
+            c = p.getPermissions(subject, source);
+            assertFalse("Elements: ", c.elements().hasMoreElements());
+
+            // different name "kuke" not "dummy"
+            subject.getPrincipals().add(new MyPrincipal("kuke"));
+            c = p.getPermissions(subject, null);
+            assertFalse("Elements: ", c.elements().hasMoreElements());
+
+            // different class with required principal's name
+            subject.getPrincipals().add(new OtherPrincipal("dummy"));
+            c = p.getPermissions(subject, null);
+            assertFalse("Elements: ", c.elements().hasMoreElements());
+
+            //
+            // Principal javax.security.auth.MyPrincipal "my"
+            // Principal javax.security.auth.OtherPrincipal "other"
+            //
+            subject = new Subject();
+            subject.getPrincipals().add(new MyPrincipal("my"));
+            c = p.getPermissions(subject, null);
+            assertFalse("Elements: ", c.elements().hasMoreElements());
+
+            subject.getPrincipals().add(new OtherPrincipal("other"));
+            e = p.getPermissions(subject, null).elements();
+            per = (Permission) e.nextElement();
+            assertFalse("Elements: ", e.hasMoreElements());
+            assertEquals("Permission: ", per, new AllPermission());
+
+            //
+            // Principal javax.security.auth.MyPrincipal "bunny"
+            //
+            subject = new Subject();
+            subject.getPrincipals().add(new MyPrincipal("bunny"));
+
+            e = p.getPermissions(subject, null).elements();
+
+            Permission[] get = new Permission[2];
+            get[0] = (Permission) e.nextElement();
+            get[1] = (Permission) e.nextElement();
+            assertFalse("Elements: ", e.hasMoreElements());
+
+            Permission[] set = new Permission[2];
+            set[0] = new FilePermission("/home/bunny", "read, write");
+            set[1] = new RuntimePermission("stopThread");
+
+            if (get[0].equals(set[0])) {
+                assertEquals("Permission: ", set[1], get[1]);
+            } else {
+                assertEquals("Permission: ", set[0], get[1]);
+                assertEquals("Permission: ", set[1], get[0]);
+            }
+
+        } finally {
+            TestUtils.setSystemProperty(POLICY_PROP, oldProp);
+        }
+    }
+
+    public void test_Refresh() {
+
+        Permission per;
+        Subject subject;
+        Enumeration e;
+
+        String oldProp = System.getProperty(POLICY_PROP);
+        try {
+            //
+            // first policy file to be read
+            //
+            System.setProperty(POLICY_PROP, inputFile1);
+
+            Policy p = Policy.getPolicy();
+            p.refresh();
+
+            subject = new Subject();
+            subject.getPrincipals().add(new MyPrincipal("duke"));
+
+            e = p.getPermissions(subject, null).elements();
+
+            per = (Permission) e.nextElement();
+            assertFalse("Elements: ", e.hasMoreElements());
+            assertEquals("Permission: ", per, new FilePermission("/home/duke",
+                    "read, write"));
+
+            //
+            // second policy file to be read
+            //
+            System.setProperty(POLICY_PROP, inputFile2);
+
+            p.refresh();
+
+            e = p.getPermissions(subject, null).elements();
+
+            per = (Permission) e.nextElement();
+            assertFalse("Elements: ", e.hasMoreElements());
+            assertEquals("Permission: ", per, new RuntimePermission(
+                    "createClassLoader"));
+        } finally {
+            TestUtils.setSystemProperty(POLICY_PROP, oldProp);
+        }
+    }
+}

Propchange: incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/PolicyTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/RefreshFailedExceptionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/SubjectDomainCombinerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/auth_policy1.txt
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/auth_policy1.txt?rev=433551&r1=433550&r2=433551&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/auth_policy1.txt (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/auth_policy1.txt Tue Aug 22 00:17:46 2006
@@ -1,25 +1,25 @@
-grant
-    Principal javax.security.auth.MyPrincipal "duke"
-{
-        permission java.io.FilePermission "/home/duke", "read, write";
-};
-
-grant CodeBase "http://dummy.xxx", 
-    Principal javax.security.auth.MyPrincipal "dummy"
-{
-        permission java.lang.RuntimePermission "createClassLoader";
-};
-
-grant
-    Principal javax.security.auth.MyPrincipal "my",
-    Principal javax.security.auth.OtherPrincipal "other",
-{
-        permission java.security.AllPermission;
-};
-
-grant
-    Principal javax.security.auth.MyPrincipal "bunny"
-{
-        permission java.io.FilePermission "/home/bunny", "read, write";
-        permission java.lang.RuntimePermission "stopThread";
-};
+grant
+    Principal javax.security.auth.MyPrincipal "duke"
+{
+        permission java.io.FilePermission "/home/duke", "read, write";
+};
+
+grant CodeBase "http://dummy.xxx", 
+    Principal javax.security.auth.MyPrincipal "dummy"
+{
+        permission java.lang.RuntimePermission "createClassLoader";
+};
+
+grant
+    Principal javax.security.auth.MyPrincipal "my",
+    Principal javax.security.auth.OtherPrincipal "other",
+{
+        permission java.security.AllPermission;
+};
+
+grant
+    Principal javax.security.auth.MyPrincipal "bunny"
+{
+        permission java.io.FilePermission "/home/bunny", "read, write";
+        permission java.lang.RuntimePermission "stopThread";
+};

Propchange: incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/auth_policy1.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/auth_policy2.txt
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/auth_policy2.txt?rev=433551&r1=433550&r2=433551&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/auth_policy2.txt (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/auth_policy2.txt Tue Aug 22 00:17:46 2006
@@ -1,5 +1,5 @@
-grant
-    Principal javax.security.auth.MyPrincipal "duke"
-{
-        permission java.lang.RuntimePermission "createClassLoader";
-};
+grant
+    Principal javax.security.auth.MyPrincipal "duke"
+{
+        permission java.lang.RuntimePermission "createClassLoader";
+};

Propchange: incubator/harmony/enhanced/classlib/trunk/modules/auth/src/test/java/common/javax/security/auth/auth_policy2.txt
------------------------------------------------------------------------------
    svn:eol-style = native