Added more security checks to the content controller
This commit is contained in:
@@ -14,6 +14,7 @@ using Umbraco.Core.Models.Membership;
|
||||
using Umbraco.Core.Services;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Web;
|
||||
using Umbraco.Web.Editors;
|
||||
using Umbraco.Web.WebApi;
|
||||
using Umbraco.Web.WebApi.Filters;
|
||||
using umbraco.presentation.channels.businesslogic;
|
||||
@@ -21,7 +22,7 @@ using umbraco.presentation.channels.businesslogic;
|
||||
namespace Umbraco.Tests.Controllers.WebApiEditors
|
||||
{
|
||||
[TestFixture]
|
||||
public class EnsureUserPermissionForContentAttributeTests
|
||||
public class ContentControllerUnitTests
|
||||
{
|
||||
[Test]
|
||||
public void Does_Not_Throw_Exception_When_Access_Allowed_By_Path()
|
||||
@@ -37,12 +38,9 @@ namespace Umbraco.Tests.Controllers.WebApiEditors
|
||||
var userService = MockRepository.GenerateStub<IUserService>();
|
||||
var permissions = new List<EntityPermission>();
|
||||
userService.Stub(x => x.GetPermissions(user, 1234)).Return(permissions);
|
||||
var ctx = new HttpActionContext();
|
||||
ctx.ActionArguments.Add("id", 1234);
|
||||
var attribute = new EnsureUserPermissionForContentAttribute(1234);
|
||||
|
||||
//act
|
||||
var result = attribute.CheckPermissions(new Dictionary<string, object>(), user, userService, contentService, 1234, 'F');
|
||||
var result = ContentController.CheckPermissions(new Dictionary<string, object>(), user, userService, contentService, 1234, 'F');
|
||||
|
||||
//assert
|
||||
Assert.IsTrue(result);
|
||||
@@ -62,11 +60,9 @@ namespace Umbraco.Tests.Controllers.WebApiEditors
|
||||
var userService = MockRepository.GenerateStub<IUserService>();
|
||||
var permissions = new List<EntityPermission>();
|
||||
userService.Stub(x => x.GetPermissions(user, 1234)).Return(permissions);
|
||||
var ctx = new HttpActionContext();
|
||||
var attribute = new EnsureUserPermissionForContentAttribute(1234);
|
||||
|
||||
//act/assert
|
||||
Assert.Throws<HttpResponseException>(() => attribute.CheckPermissions(new Dictionary<string, object>(), user, userService, contentService, 1234, 'F'));
|
||||
Assert.Throws<HttpResponseException>(() => ContentController.CheckPermissions(new Dictionary<string, object>(), user, userService, contentService, 1234, 'F'));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -83,11 +79,9 @@ namespace Umbraco.Tests.Controllers.WebApiEditors
|
||||
var userService = MockRepository.GenerateStub<IUserService>();
|
||||
var permissions = new List<EntityPermission>();
|
||||
userService.Stub(x => x.GetPermissions(user, 1234)).Return(permissions);
|
||||
var ctx = new HttpActionContext();
|
||||
var attribute = new EnsureUserPermissionForContentAttribute(1234);
|
||||
|
||||
//act
|
||||
var result = attribute.CheckPermissions(new Dictionary<string, object>(), user, userService, contentService, 1234, 'F');
|
||||
var result = ContentController.CheckPermissions(new Dictionary<string, object>(), user, userService, contentService, 1234, 'F');
|
||||
|
||||
//assert
|
||||
Assert.IsFalse(result);
|
||||
@@ -110,12 +104,9 @@ namespace Umbraco.Tests.Controllers.WebApiEditors
|
||||
new EntityPermission(9, 1234, new string[]{ "A", "B", "C" })
|
||||
};
|
||||
userService.Stub(x => x.GetPermissions(user, 1234)).Return(permissions);
|
||||
var ctx = new HttpActionContext();
|
||||
var attribute = new EnsureUserPermissionForContentAttribute(1234);
|
||||
|
||||
|
||||
//act
|
||||
var result = attribute.CheckPermissions(new Dictionary<string, object>(), user, userService, contentService, 1234, 'F');
|
||||
var result = ContentController.CheckPermissions(new Dictionary<string, object>(), user, userService, contentService, 1234, 'F');
|
||||
|
||||
//assert
|
||||
Assert.IsFalse(result);
|
||||
@@ -138,12 +129,9 @@ namespace Umbraco.Tests.Controllers.WebApiEditors
|
||||
new EntityPermission(9, 1234, new string[]{ "A", "F", "C" })
|
||||
};
|
||||
userService.Stub(x => x.GetPermissions(user, 1234)).Return(permissions);
|
||||
var ctx = new HttpActionContext();
|
||||
ctx.ActionArguments.Add("id", 1234);
|
||||
var attribute = new EnsureUserPermissionForContentAttribute(1234);
|
||||
|
||||
//act
|
||||
var result = attribute.CheckPermissions(new Dictionary<string, object>(), user, userService, contentService, 1234, 'F');
|
||||
var result = ContentController.CheckPermissions(new Dictionary<string, object>(), user, userService, contentService, 1234, 'F');
|
||||
|
||||
//assert
|
||||
Assert.IsTrue(result);
|
||||
@@ -163,12 +151,9 @@ namespace Umbraco.Tests.Controllers.WebApiEditors
|
||||
var userService = MockRepository.GenerateStub<IUserService>();
|
||||
var permissions = new List<EntityPermission>();
|
||||
userService.Stub(x => x.GetPermissions(user, 1234)).Return(permissions);
|
||||
var ctx = new HttpActionContext();
|
||||
ctx.ActionArguments.Add("id", 1234);
|
||||
var attribute = new EnsureUserPermissionForContentAttribute(1234);
|
||||
|
||||
//act
|
||||
var result = attribute.CheckPermissions(new Dictionary<string, object>(), user, userService, contentService, 1234, 'F');
|
||||
var result = ContentController.CheckPermissions(new Dictionary<string, object>(), user, userService, contentService, 1234, 'F');
|
||||
|
||||
//assert
|
||||
Assert.IsTrue(result);
|
||||
|
||||
Reference in New Issue
Block a user