001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017:
018: package org.apache.harmony.security.tests.java.security;
019:
020: import java.security.Permission;
021: import java.security.PermissionCollection;
022: import java.security.SecurityPermission;
023:
024: public class Permission2Test extends junit.framework.TestCase {
025: static class ConcretePermission extends Permission {
026: public ConcretePermission() {
027: super ("noname");
028: }
029:
030: public boolean equals(Object obj) {
031: return true;
032: }
033:
034: public String getActions() {
035: return "none";
036: }
037:
038: public int hashCode() {
039: return 1;
040: }
041:
042: public boolean implies(Permission p) {
043: return true;
044: }
045: }
046:
047: /**
048: * @tests java.security.Permission#Permission(java.lang.String)
049: */
050: public void test_ConstructorLjava_lang_String() {
051: // test method java.security.permission.Permission(string)
052: SecurityPermission permi = new SecurityPermission(
053: "Testing the permission abstract class");
054: String name = permi.getName();
055: assertEquals("Permission Constructor failed",
056: "Testing the permission abstract class", name);
057: }
058:
059: /**
060: * @tests java.security.Permission#checkGuard(java.lang.Object)
061: */
062: public void test_checkGuardLjava_lang_Object() {
063: // test method java.security.permission.checkGuard(object)
064: SecurityPermission permi = new SecurityPermission(
065: "Testing the permission abstract class");
066: String name = permi.getName();
067: try {
068: permi.checkGuard(name);
069: } catch (SecurityException e) {
070: fail("security not granted when it is suppose to be : " + e);
071: }
072: }
073:
074: /**
075: * @tests java.security.Permission#getName()
076: */
077: public void test_getName() {
078: // test method java.security.permission.getName()
079: SecurityPermission permi = new SecurityPermission(
080: "testing getName()");
081: String name = permi.getName();
082: assertEquals("getName failed to obtain the correct name",
083: "testing getName()", name);
084:
085: SecurityPermission permi2 = new SecurityPermission(
086: "93048Helloworld");
087: assertEquals("getName failed to obtain correct name",
088: "93048Helloworld", permi2.getName());
089: }
090:
091: /**
092: * @tests java.security.Permission#newPermissionCollection()
093: */
094: public void test_newPermissionCollection() {
095: // test method java.security.permission.newPermissionCollection
096: Permission permi = new ConcretePermission();
097: PermissionCollection permiCollect = permi
098: .newPermissionCollection();
099: assertNull("newPermissionCollector of the abstract class "
100: + "permission did not return a null instance "
101: + "of permissionCollection", permiCollect);
102: }
103:
104: /**
105: * @tests java.security.Permission#toString()
106: */
107: public void test_toString() {
108: // test method java.security.permission.toString
109: // test for permission with no action
110: SecurityPermission permi = new SecurityPermission(
111: "testing toString");
112: String toString = permi.toString();
113: assertNotNull(
114: "toString should have returned a string of elements",
115: toString);
116: }
117: }
|