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