// default implementation is specified by security property system.scope
IdentityScope systemScope = IdentityScope.getSystemScope();
try {
// all permissions are granted - sm is not installed
is = new IdentityScopeStub("Aleksei Semenov");
IdentityScopeStub.mySetSystemScope(is);
assertSame(is, IdentityScope.getSystemScope());
// all permissions are granted - sm is installed
MySecurityManager sm = new MySecurityManager();
System.setSecurityManager(sm);
try {
is = new IdentityScopeStub("aaa");
IdentityScopeStub.mySetSystemScope(is);
assertSame(is, IdentityScope.getSystemScope());
// permission is denied
sm.denied.add(new SecurityPermission("setSystemScope"));
IdentityScope is2 = new IdentityScopeStub("bbb");
try{
IdentityScopeStub.mySetSystemScope(is2);
fail("SecurityException should be thrown");
} catch (SecurityException e){
assertSame(is, IdentityScope.getSystemScope());