public void MediumTrust ()
{
var permissions = PermissionSets
.GetMediumTrust (AppDomain.CurrentDomain.BaseDirectory, Environment.MachineName)
.Concat (
new IPermission[]
{
new ReflectionPermission (ReflectionPermissionFlag.MemberAccess),
// new SecurityPermission (SecurityPermissionFlag.SerializationFormatter)
})
.ToArray();
var testFixtureResults = SandboxTestRunner.RunTestFixturesInSandbox (new[] { typeof (UnmappedItemExceptionTest) }, permissions, null);
var testResults = testFixtureResults.SelectMany (r => r.TestResults).ToArray();
foreach (var testResult in testResults)
{
try
{
testResult.EnsureNotFailed();
}
catch (TestFailedException)
{
var securityException = testResult.Exception as SecurityException;
if (securityException != null)
{
Console.WriteLine ("Action:");
Console.WriteLine (securityException.Action);
Console.WriteLine ("Demanded:");
Console.WriteLine (securityException.Demanded);
}
throw;
}
}
Assert.That (testResults.Count (r => r.Status == SandboxTestStatus.Succeeded), Is.GreaterThan (0));
}
}