1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
//
// WindowsPrincipalTest.cs - NUnit Test Cases for WindowsPrincipal
//
// Author:
// Sebastien Pouliot (sebastien@ximian.com)
//
// (C) 2003 Motus Technologies Inc. (http://www.motus.com)
// (C) 2004 Novell (http://www.novell.com)
//
using NUnit.Framework;
using System;
using System.Runtime.Serialization;
using System.Security.Principal;
namespace MonoTests.System.Security.Principal {
[TestFixture]
public class WindowsPrincipalTest {
[Test]
[ExpectedException (typeof (ArgumentNullException))]
public void ConstructorNull ()
{
WindowsPrincipal p = new WindowsPrincipal (null);
}
[Test]
public void Current ()
{
WindowsPrincipal p = new WindowsPrincipal (WindowsIdentity.GetCurrent ());
bool test;
// we don't Assert as we don't know the current user roles
test = p.IsInRole (WindowsBuiltInRole.Administrator);
test = p.IsInRole (WindowsBuiltInRole.BackupOperator);
test = p.IsInRole (WindowsBuiltInRole.Guest);
test = p.IsInRole (WindowsBuiltInRole.PowerUser);
test = p.IsInRole (WindowsBuiltInRole.Replicator);
test = p.IsInRole (WindowsBuiltInRole.User);
// doesn't work under XP in a workgroup (ArgumentException)
// test = p.IsInRole (WindowsBuiltInRole.AccountOperator);
// test = p.IsInRole (WindowsBuiltInRole.PrintOperator);
// test = p.IsInRole (WindowsBuiltInRole.SystemOperator);
}
[Test]
public void Anonymous ()
{
WindowsPrincipal p = new WindowsPrincipal (WindowsIdentity.GetAnonymous ());
Assert.IsFalse (p.IsInRole (WindowsBuiltInRole.Administrator), "Administrator");
Assert.IsFalse (p.IsInRole (WindowsBuiltInRole.BackupOperator), "BackupOperator");
Assert.IsFalse (p.IsInRole (WindowsBuiltInRole.Guest), "Guest");
Assert.IsFalse (p.IsInRole (WindowsBuiltInRole.PowerUser), "PowerUser");
Assert.IsFalse (p.IsInRole (WindowsBuiltInRole.Replicator), "Replicator");
Assert.IsFalse (p.IsInRole (WindowsBuiltInRole.User), "User");
// doesn't work under XP in a workgroup (ArgumentException)
// Assert ("AccountOperator", !p.IsInRole (WindowsBuiltInRole.AccountOperator));
// Assert ("PrintOperator", !p.IsInRole (WindowsBuiltInRole.PrintOperator));
// Assert ("SystemOperator", !p.IsInRole (WindowsBuiltInRole.SystemOperator));
}
[Test]
//[ExpectedException (typeof (ArgumentNullException))]
public void IsInRole_Null ()
{
WindowsPrincipal p = new WindowsPrincipal (WindowsIdentity.GetAnonymous ());
Assert.IsFalse (p.IsInRole ((string)null));
}
[Test]
public void Interface ()
{
WindowsPrincipal wp = new WindowsPrincipal (WindowsIdentity.GetAnonymous ());
IPrincipal p = (wp as IPrincipal);
Assert.IsNotNull (p);
}
}
}
|