/* * 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.harmony.security.tests.java.security; import dalvik.annotation.TestTargetClass; import dalvik.annotation.TestTargets; import dalvik.annotation.TestLevel; import dalvik.annotation.TestTargetNew; import java.security.Permission; import java.security.PermissionCollection; import java.security.SecurityPermission; @TestTargetClass(Permission.class) public class Permission2Test extends junit.framework.TestCase { static class ConcretePermission extends Permission { public ConcretePermission() { super("noname"); } public boolean equals(Object obj) { return true; } public String getActions() { return "none"; } public int hashCode() { return 1; } public boolean implies(Permission p) { return true; } } /** * @tests java.security.Permission#Permission(java.lang.String) */ @TestTargetNew( level = TestLevel.COMPLETE, notes = "", method = "Permission", args = {java.lang.String.class} ) public void test_ConstructorLjava_lang_String() { // test method java.security.permission.Permission(string) try { SecurityPermission permi = new SecurityPermission( "Testing the permission abstract class"); String name = permi.getName(); assertEquals("Permission Constructor failed", "Testing the permission abstract class", name); } catch (Exception e) { fail("Unexpected excpetion"); } try { SecurityPermission permi = new SecurityPermission(null); fail("NullPointerException was not thrown for NULL parameter"); } catch (NullPointerException e) { //expected } try { SecurityPermission permi = new SecurityPermission(""); fail("IllegalArgumentException was not thrown for empty parameter"); } catch (IllegalArgumentException e) { //expected } } /** * @tests java.security.Permission#checkGuard(java.lang.Object) */ @TestTargetNew( level = TestLevel.PARTIAL_COMPLETE, notes = "", method = "checkGuard", args = {java.lang.Object.class} ) public void test_checkGuardLjava_lang_Object() { // test method java.security.permission.checkGuard(object) SecurityPermission permi = new SecurityPermission( "Testing the permission abstract class"); String name = permi.getName(); try { permi.checkGuard(name); } catch (SecurityException e) { fail("security not granted when it is suppose to be : " + e); } } /** * @tests java.security.Permission#getName() */ @TestTargetNew( level = TestLevel.COMPLETE, notes = "", method = "getName", args = {} ) public void test_getName() { // test method java.security.permission.getName() SecurityPermission permi = new SecurityPermission("testing getName()"); String name = permi.getName(); assertEquals("getName failed to obtain the correct name", "testing getName()", name); SecurityPermission permi2 = new SecurityPermission("93048Helloworld"); assertEquals("getName failed to obtain correct name", "93048Helloworld", permi2.getName()); } /** * @tests java.security.Permission#newPermissionCollection() */ @TestTargetNew( level = TestLevel.COMPLETE, notes = "", method = "newPermissionCollection", args = {} ) public void test_newPermissionCollection() { // test method java.security.permission.newPermissionCollection Permission permi = new ConcretePermission(); PermissionCollection permiCollect = permi.newPermissionCollection(); assertNull("newPermissionCollector of the abstract class " + "permission did not return a null instance " + "of permissionCollection", permiCollect); } /** * @tests java.security.Permission#toString() */ @TestTargetNew( level = TestLevel.COMPLETE, notes = "", method = "toString", args = {} ) public void test_toString() { // test method java.security.permission.toString // test for permission with no action SecurityPermission permi = new SecurityPermission("testing toString"); String toString = permi.toString(); assertNotNull("toString should have returned a string of elements", toString); } }