public void should_use_authorizationprovider()
        {
            // Arrange
            AdminRequiredAttributeMock attribute = new AdminRequiredAttributeMock();

            attribute.AuthorizationProvider = new AuthorizationProviderMock()
            {
                IsAdminResult = true
            };
            attribute.ApplicationSettings = _applicationSettings;
            attribute.UserService         = _userService;

            IdentityStub identity = new IdentityStub()
            {
                Name = Guid.NewGuid().ToString(), IsAuthenticated = true
            };
            PrincipalStub principal = new PrincipalStub()
            {
                Identity = identity
            };
            HttpContextBase context = GetHttpContext(principal);

            // Act
            bool isAuthorized = attribute.CallAuthorize(context);

            // Assert
            Assert.That(isAuthorized, Is.True);
        }
		public void Should_Throw_SecurityException_When_AuthorizationProvider_Is_Null()
		{
			// Arrange
			AdminRequiredAttributeMock attribute = new AdminRequiredAttributeMock();
			attribute.AuthorizationProvider = null;

			IdentityStub identity = new IdentityStub() { Name = Guid.NewGuid().ToString(), IsAuthenticated = true };
			PrincipalStub principal = new PrincipalStub() { Identity = identity };
			HttpContextBase context = GetHttpContext(principal);

			// Act + Assert
			attribute.CallAuthorize(context);
		}
		public void should_use_authorizationprovider()
		{
			// Arrange
			AdminRequiredAttributeMock attribute = new AdminRequiredAttributeMock();
			attribute.AuthorizationProvider = new AuthorizationProviderMock() { IsAdminResult = true };
			attribute.ApplicationSettings = _applicationSettings;
			attribute.UserService = _userService;

			IdentityStub identity = new IdentityStub() { Name = Guid.NewGuid().ToString(), IsAuthenticated = true };
			PrincipalStub principal = new PrincipalStub() { Identity = identity };
			HttpContextBase context = GetHttpContext(principal);

			// Act
			bool isAuthorized = attribute.CallAuthorize(context);

			// Assert
			Assert.That(isAuthorized, Is.True);
		}
        public void Should_Throw_SecurityException_When_AuthorizationProvider_Is_Null()
        {
            // Arrange
            AdminRequiredAttributeMock attribute = new AdminRequiredAttributeMock();

            attribute.AuthorizationProvider = null;

            IdentityStub identity = new IdentityStub()
            {
                Name = Guid.NewGuid().ToString(), IsAuthenticated = true
            };
            PrincipalStub principal = new PrincipalStub()
            {
                Identity = identity
            };
            HttpContextBase context = GetHttpContext(principal);

            // Act + Assert
            attribute.CallAuthorize(context);
        }