blob: fa69236555967ec0001704861bc1b6e419458a8b [file] [log] [blame]
package org.apache.harmony.security.tests.java.security;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetClass;
import dalvik.annotation.TestTargetNew;
import junit.framework.TestCase;
import java.security.AccessController;
import java.security.PrivilegedAction;
@TestTargetClass(PrivilegedAction.class)
public class PrivilegedActionTest extends TestCase {
protected void setUp() throws Exception {
super.setUp();
}
private class MyPrivilegedAction implements PrivilegedAction<String> {
private boolean called=false;
public String run() {
called = true;
return "ok";
}
}
private class MyPrivilegedAction2 implements PrivilegedAction<String> {
private boolean called=false;
public String run() {
called = true;
throw new RuntimeException("fail");
}
}
@TestTargetNew(
level=TestLevel.COMPLETE,
method="run"
)
public void testRun() {
MyPrivilegedAction action = new MyPrivilegedAction();
String result = AccessController.doPrivileged(action);
assertEquals("return value not correct", "ok", result);
assertTrue("run method was not called", action.called);
MyPrivilegedAction2 action2 = new MyPrivilegedAction2();
try {
result = AccessController.doPrivileged(action2);
fail("exception expected");
} catch (RuntimeException e) {
// expected exception
}
}
}