Imported Upstream version 3.6.0

Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
This commit is contained in:
Jo Shields
2014-08-13 10:39:27 +01:00
commit a575963da9
50588 changed files with 8155799 additions and 0 deletions

View File

@@ -0,0 +1,129 @@
//
// AspNetHostingPermissionHelper.cs - CAS unit tests helper for System.Web
//
// Author:
// Sebastien Pouliot <sebastien@ximian.com>
//
// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using NUnit.Framework;
using System;
using System.Security;
using System.Security.Permissions;
using System.Web;
namespace MonoCasTests {
public abstract class AspNetHostingMinimal : AspNetHostingPermissionHelper {
[Test]
[AspNetHostingPermission (SecurityAction.PermitOnly, Level = AspNetHostingPermissionLevel.Unrestricted)]
public void LinkDemand_PermitOnly_Unrestricted ()
{
Assert.IsNotNull (CreateControl (SecurityAction.PermitOnly, AspNetHostingPermissionLevel.Unrestricted));
}
[Test]
[AspNetHostingPermission (SecurityAction.PermitOnly, Level = AspNetHostingPermissionLevel.High)]
public void LinkDemand_PermitOnly_High ()
{
Assert.IsNotNull (CreateControl (SecurityAction.PermitOnly, AspNetHostingPermissionLevel.High));
}
[Test]
[AspNetHostingPermission (SecurityAction.PermitOnly, Level = AspNetHostingPermissionLevel.Medium)]
public void LinkDemand_PermitOnly_Medium ()
{
Assert.IsNotNull (CreateControl (SecurityAction.PermitOnly, AspNetHostingPermissionLevel.Medium));
}
[Test]
[AspNetHostingPermission (SecurityAction.PermitOnly, Level = AspNetHostingPermissionLevel.Low)]
public void LinkDemand_PermitOnly_Low ()
{
Assert.IsNotNull (CreateControl (SecurityAction.PermitOnly, AspNetHostingPermissionLevel.Low));
}
[Test]
[AspNetHostingPermission (SecurityAction.PermitOnly, Level = AspNetHostingPermissionLevel.Minimal)]
public void LinkDemand_PermitOnly_Minimal ()
{
Assert.IsNotNull (CreateControl (SecurityAction.PermitOnly, AspNetHostingPermissionLevel.Minimal));
}
[Test]
[AspNetHostingPermission (SecurityAction.PermitOnly, Level = AspNetHostingPermissionLevel.None)]
[ExpectedException (typeof (SecurityException))]
public void LinkDemand_PermitOnly_None ()
{
CreateControl (SecurityAction.PermitOnly, AspNetHostingPermissionLevel.None);
}
[Test]
[AspNetHostingPermission (SecurityAction.Deny, Level = AspNetHostingPermissionLevel.Unrestricted)]
[ExpectedException (typeof (SecurityException))]
public void LinkDemand_Deny_Unrestricted ()
{
CreateControl (SecurityAction.Deny, AspNetHostingPermissionLevel.Unrestricted);
}
[Test]
[AspNetHostingPermission (SecurityAction.Deny, Level = AspNetHostingPermissionLevel.High)]
[ExpectedException (typeof (SecurityException))]
public void LinkDemand_Deny_High ()
{
CreateControl (SecurityAction.Deny, AspNetHostingPermissionLevel.High);
}
[Test]
[AspNetHostingPermission (SecurityAction.Deny, Level = AspNetHostingPermissionLevel.Medium)]
[ExpectedException (typeof (SecurityException))]
public void LinkDemand_Deny_Medium ()
{
CreateControl (SecurityAction.Deny, AspNetHostingPermissionLevel.Medium);
}
[Test]
[AspNetHostingPermission (SecurityAction.Deny, Level = AspNetHostingPermissionLevel.Low)]
[ExpectedException (typeof (SecurityException))]
public void LinkDemand_Deny_Low ()
{
CreateControl (SecurityAction.Deny, AspNetHostingPermissionLevel.Low);
}
[Test]
[AspNetHostingPermission (SecurityAction.Deny, Level = AspNetHostingPermissionLevel.Minimal)]
[ExpectedException (typeof (SecurityException))]
public void LinkDemand_Deny_Minimal ()
{
CreateControl (SecurityAction.Deny, AspNetHostingPermissionLevel.Minimal);
}
[Test]
[AspNetHostingPermission (SecurityAction.Deny, Level = AspNetHostingPermissionLevel.None)]
public void LinkDemand_Deny_None ()
{
Assert.IsNotNull (CreateControl (SecurityAction.Deny, AspNetHostingPermissionLevel.None));
}
}
}

View File

@@ -0,0 +1,123 @@
//
// AspNetHostingNone.cs - CAS unit tests helper for System.Web
//
// Author:
// Sebastien Pouliot <sebastien@ximian.com>
//
// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using NUnit.Framework;
using System;
using System.Security;
using System.Security.Permissions;
using System.Web;
namespace MonoCasTests {
public abstract class AspNetHostingNone : AspNetHostingPermissionHelper {
[Test]
[AspNetHostingPermission (SecurityAction.PermitOnly, Level = AspNetHostingPermissionLevel.Unrestricted)]
public void LinkDemand_PermitOnly_Unrestricted ()
{
Assert.IsNotNull (CreateControl (SecurityAction.PermitOnly, AspNetHostingPermissionLevel.Unrestricted));
}
[Test]
[AspNetHostingPermission (SecurityAction.PermitOnly, Level = AspNetHostingPermissionLevel.High)]
public void LinkDemand_PermitOnly_High ()
{
Assert.IsNotNull (CreateControl (SecurityAction.PermitOnly, AspNetHostingPermissionLevel.High));
}
[Test]
[AspNetHostingPermission (SecurityAction.PermitOnly, Level = AspNetHostingPermissionLevel.Medium)]
public void LinkDemand_PermitOnly_Medium ()
{
Assert.IsNotNull (CreateControl (SecurityAction.PermitOnly, AspNetHostingPermissionLevel.Medium));
}
[Test]
[AspNetHostingPermission (SecurityAction.PermitOnly, Level = AspNetHostingPermissionLevel.Low)]
public void LinkDemand_PermitOnly_Low ()
{
Assert.IsNotNull (CreateControl (SecurityAction.PermitOnly, AspNetHostingPermissionLevel.Low));
}
[Test]
[AspNetHostingPermission (SecurityAction.PermitOnly, Level = AspNetHostingPermissionLevel.Minimal)]
public void LinkDemand_PermitOnly_Minimal ()
{
Assert.IsNotNull (CreateControl (SecurityAction.PermitOnly, AspNetHostingPermissionLevel.Minimal));
}
[Test]
[AspNetHostingPermission (SecurityAction.PermitOnly, Level = AspNetHostingPermissionLevel.None)]
public void LinkDemand_PermitOnly_None ()
{
CreateControl (SecurityAction.PermitOnly, AspNetHostingPermissionLevel.None);
}
[Test]
[AspNetHostingPermission (SecurityAction.Deny, Level = AspNetHostingPermissionLevel.Unrestricted)]
public void LinkDemand_Deny_Unrestricted ()
{
CreateControl (SecurityAction.Deny, AspNetHostingPermissionLevel.Unrestricted);
}
[Test]
[AspNetHostingPermission (SecurityAction.Deny, Level = AspNetHostingPermissionLevel.High)]
public void LinkDemand_Deny_High ()
{
CreateControl (SecurityAction.Deny, AspNetHostingPermissionLevel.High);
}
[Test]
[AspNetHostingPermission (SecurityAction.Deny, Level = AspNetHostingPermissionLevel.Medium)]
public void LinkDemand_Deny_Medium ()
{
CreateControl (SecurityAction.Deny, AspNetHostingPermissionLevel.Medium);
}
[Test]
[AspNetHostingPermission (SecurityAction.Deny, Level = AspNetHostingPermissionLevel.Low)]
public void LinkDemand_Deny_Low ()
{
CreateControl (SecurityAction.Deny, AspNetHostingPermissionLevel.Low);
}
[Test]
[AspNetHostingPermission (SecurityAction.Deny, Level = AspNetHostingPermissionLevel.Minimal)]
public void LinkDemand_Deny_Minimal ()
{
CreateControl (SecurityAction.Deny, AspNetHostingPermissionLevel.Minimal);
}
[Test]
[AspNetHostingPermission (SecurityAction.Deny, Level = AspNetHostingPermissionLevel.None)]
public void LinkDemand_Deny_None ()
{
Assert.IsNotNull (CreateControl (SecurityAction.Deny, AspNetHostingPermissionLevel.None));
}
}
}

View File

@@ -0,0 +1,66 @@
//
// AspNetHostingPermissionHelper.cs - CAS unit tests helper for System.Web
//
// Author:
// Sebastien Pouliot <sebastien@ximian.com>
//
// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using NUnit.Framework;
using System;
using System.Reflection;
using System.Security;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
namespace MonoCasTests {
public abstract class AspNetHostingPermissionHelper {
[SetUp]
public virtual void SetUp ()
{
if (!SecurityManager.SecurityEnabled)
Assert.Ignore ("SecurityManager.SecurityEnabled is OFF");
}
// we use reflection to call Mutex as it's named constructors are protected by
// a LinkDemand (which will be converted into full demand, i.e. a stack walk)
// when reflection is used (i.e. it gets testable).
public static Type[] VoidType = new Type[0];
public virtual object CreateControl (SecurityAction action, AspNetHostingPermissionLevel level)
{
ConstructorInfo ci = this.Type.GetConstructor (VoidType);
Assert.IsNotNull (ci, "default .ctor");
return ci.Invoke (null);
}
public abstract Type Type {
get;
}
}
}

View File

@@ -0,0 +1,30 @@
2005-09-21 Sebastien Pouliot <sebastien@ximian.com>
* AspNetHostingNone.cs: New. CAS test helper class to test for None
level - which includes class that don't use AspNetHostingPermission
at all.
2005-09-13 Sebastien Pouliot <sebastien@ximian.com>
* AspNetHostingPermissionHelper.cs: SetUp method is now virtual.
2005-09-09 Sebastien Pouliot <sebastien@ximian.com>
* AspNetHostingMinimal.cs: Rename tests to LinkDemand_* so they have
less chances to conflict with tests in derived classes.
* AspNetHostingPermissionHelper.cs: Made VoidType public.
2005-09-02 Sebastien Pouliot <sebastien@ximian.com>
* AspNetHostingMinimal.cs: Added new required parameters to all calls
to CreateControl.
* AspNetHostingPermissionHelper.cs: Made CreateControl virtual and
accept a SecurityAction and AspNetHostingPermissionLevel parameters
for more flexibility in testing.
2005-09-01 Sebastien Pouliot <sebastien@ximian.com>
* AspNetHostingMinimal.cs: CAS test helper class to test for Minimal
level.
* AspNetHostingPermissionHelper.cs: CAS test helper class to test for
AspNetHostingPermission.