protected override void SetUp()
        {
            base.SetUp();

            var currentConversation = ServiceLocator.Current.GetInstance<IConversation>();
            using (currentConversation.SetAsCurrent())
            {
                _authZRepo = ServiceLocator.Current.GetInstance<AuthorizationRepositoryFactory>().Create();
                _userRepository = ServiceLocator.Current.GetInstance<UserRepository>();
                _permissionBuilderService = ServiceLocator.Current.GetInstance<PermissionsBuilderServiceFactory>().Create();

                _seniorUser = _userRepository.Create(new User { Name = "Senior" });
                _juniorUser = _userRepository.Create(new User { Name = "Junior" });
                _seniorMgrs = _authZRepo.CreateUsersGroup("Senior Managers");
                _juniorMgrs = _authZRepo.CreateUsersGroup("Junior Managers");
                _op4Senior = _authZRepo.CreateOperation("/Operation/ForSenior");
                currentConversation.Flush();
                _op4Junior = _authZRepo.CreateOperation("/Operation/ForJunior");

                _authZRepo.AssociateUserWith(_seniorUser, _seniorMgrs);
                _authZRepo.AssociateUserWith(_juniorUser, _juniorMgrs);

                _permissionBuilderService
                    .Allow(_op4Junior)
                    .For(_juniorMgrs)
                    .OnEverything()
                    .DefaultLevel()
                    .Save();

                _permissionBuilderService
                    .Deny(_op4Senior)
                    .For(_juniorMgrs)
                    .OnEverything()
                    .DefaultLevel()
                    .Save();

                _permissionBuilderService
                    .Allow(_op4Senior)
                    .For(_seniorMgrs)
                    .OnEverything()
                    .DefaultLevel()
                    .Save();

                currentConversation.Flush();
            }

            _targetController = ServiceLocator.Current.GetInstance<PermissionController>();
        }
        private void SetupEntities()
        {
            user = new User();
            user.Name = "Ayende";
            account = new Account();
            account.Name = "south sand";

            UnitOfWork.CurrentSession.Save(user);
            UnitOfWork.CurrentSession.Save(account);

            authorizationService = IoC.Resolve<IAuthorizationService>();
            permissionService = IoC.Resolve<IPermissionsService>();
            permissionsBuilderService = IoC.Resolve<IPermissionsBuilderService>();
            authorizationRepository = IoC.Resolve<IAuthorizationRepository>();
            authorizationRepository.CreateUsersGroup("Administrators");
            authorizationRepository.CreateEntitiesGroup("Important Accounts");
            authorizationRepository.CreateOperation("/Account/Edit");

            UnitOfWork.Current.TransactionalFlush();

            authorizationRepository.AssociateUserWith(user, "Administrators");
            authorizationRepository.AssociateEntityWith(account, "Important Accounts");

            UnitOfWork.Current.TransactionalFlush();
        }
        private void SetupEntities()
        {
            user = new User {
                Name = "Ayende"
            };
            account = new Account {
                Name = "south sand"
            };

            session.Save(user);
            session.Save(account);

            authorizationService      = ServiceLocator.Current.GetInstance <IAuthorizationService>();
            permissionService         = ServiceLocator.Current.GetInstance <IPermissionsService>();
            permissionsBuilderService = ServiceLocator.Current.GetInstance <IPermissionsBuilderService>();
            authorizationRepository   = ServiceLocator.Current.GetInstance <IAuthorizationRepository>();

            authorizationRepository.CreateUsersGroup("Administrators");
            authorizationRepository.CreateEntitiesGroup("Important Accounts");
            authorizationRepository.CreateOperation("/Account/Edit");
            authorizationRepository.CreateOperation("/Account/Disable");

            authorizationRepository.AssociateUserWith(user, "Administrators");
            authorizationRepository.AssociateEntityWith(account, "Important Accounts");
        }
        private void SetupEntities()
        {
            user = new User {Name = "Ayende"};
            account = new Account {Name = "south sand"};

            session.Save(user);
            session.Save(account);

            authorizationService = ServiceLocator.Current.GetInstance<IAuthorizationService>();
            permissionService = ServiceLocator.Current.GetInstance<IPermissionsService>();
            permissionsBuilderService = ServiceLocator.Current.GetInstance<IPermissionsBuilderService>();
            authorizationRepository = ServiceLocator.Current.GetInstance<IAuthorizationRepository>();

            authorizationRepository.CreateUsersGroup("Administrators");
            authorizationRepository.CreateEntitiesGroup("Important Accounts");
            authorizationRepository.CreateOperation("/Account/Edit");

            authorizationRepository.AssociateUserWith(user, "Administrators");
            authorizationRepository.AssociateEntityWith(account, "Important Accounts");
        }