⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 permissionstest.java

📁 Use the links below to download a source distribution of Ant from one of our mirrors. It is good pra
💻 JAVA
字号:
/* *  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.tools.ant.types;import junit.framework.TestCase;import org.apache.tools.ant.ExitException;/** * JUnit 3 testcases for org.apache.tools.ant.types.Permissions. * */public class PermissionsTest extends TestCase {    Permissions perms;    public PermissionsTest(String name) {        super(name);    }    public void setUp() {        perms = new Permissions();        Permissions.Permission perm = new Permissions.Permission();        // Grant extra permissions to read and write the user.* properties and read to the        // java.home property        perm.setActions("read, write");        perm.setName("user.*");        perm.setClass("java.util.PropertyPermission");        perms.addConfiguredGrant(perm);        perm = new Permissions.Permission();        perm.setActions("read");        perm.setName("java.home");        perm.setClass("java.util.PropertyPermission");        perms.addConfiguredGrant(perm);        perm = new Permissions.Permission();        perm.setActions("read");        perm.setName("file.encoding");        perm.setClass("java.util.PropertyPermission");        perms.addConfiguredGrant(perm);        // Revoke permission to write user.home (granted above via user.*), still able to read though.        // and the default granted permission to read os.name.        perm = new Permissions.Permission();        perm.setActions("write");        perm.setName("user.home");        perm.setClass("java.util.PropertyPermission");        perms.addConfiguredRevoke(perm);        perm = new Permissions.Permission();        perm.setActions("read");        perm.setName("os.*");        perm.setClass("java.util.PropertyPermission");        perms.addConfiguredRevoke(perm);    }    /** Tests a permission that is granted per default. */    public void testDefaultGranted() {        perms.setSecurityManager();        try {            String s = System.getProperty("line.separator");        } finally {            perms.restoreSecurityManager();        }    }    /** Tests a permission that has been granted later via wildcard. */    public void testGranted() {        perms.setSecurityManager();        try {            String s = System.getProperty("user.name");            System.setProperty("user.name", s);        } finally {            perms.restoreSecurityManager();        }    }    /** Tests a permission that has been granted and revoked later. */    public void testGrantedAndRevoked() {        perms.setSecurityManager();        try {            String s = System.getProperty("user.home");            System.setProperty("user.home", s);            fail("Could perform an action that should have been forbidden.");        } catch (SecurityException e){            // Was expected, test passes        } finally {            perms.restoreSecurityManager();        }    }    /** Tests a permission that is granted as per default but revoked later via wildcard. */    public void testDefaultRevoked() {        perms.setSecurityManager();        try {            System.getProperty("os.name");            fail("Could perform an action that should have been forbidden.");        } catch (SecurityException e){            // Was expected, test passes        } finally {            perms.restoreSecurityManager();        }    }    /** Tests a permission that has not been granted or revoked. */    public void testOther() {        String ls = System.getProperty("line.separator");        perms.setSecurityManager();        try {            String s = System.setProperty("line.separator",ls);            fail("Could perform an action that should have been forbidden.");        } catch (SecurityException e){            // Was expected, test passes        } finally {            perms.restoreSecurityManager();        }    }    /** Tests an exit condition. */    public void testExit() {        perms.setSecurityManager();        try {            System.out.println("If this is the last line on standard out the testExit f.a.i.l.e.d");            System.exit(3);            fail("Totaly impossible that this fail is ever executed. Please let me know if it is!");        } catch (ExitException e) {            if (e.getStatus() != 3) {                fail("Received wrong exit status in Exit Exception.");            }            System.out.println("testExit successful.");        } finally {            perms.restoreSecurityManager();        }    }    public void tearDown() {    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -