| /* |
| * 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); |
| } |
| } |