Exemplo n.º 1
0
        public void Initialize()
        {
            var strategy = new DomainObjectSecurityStrategyDecorator(_mockObjectSecurityStrategy, _stubContextFactory, RequiredSecurityForStates.New);

            Assert.That(strategy.InnerStrategy, Is.SameAs(_mockObjectSecurityStrategy));
            Assert.That(strategy.SecurityContextFactory, Is.SameAs(_stubContextFactory));
            Assert.That(strategy.RequiredSecurityForStates, Is.EqualTo(RequiredSecurityForStates.New));
        }
Exemplo n.º 2
0
        public void GetSecurityStrategy()
        {
            ISecurableObject tenant = TestHelper.CreateTenant("Tenant", "UID: Tenant");

            IObjectSecurityStrategy objectSecurityStrategy = tenant.GetSecurityStrategy();

            Assert.That(objectSecurityStrategy, Is.Not.Null);
            Assert.IsInstanceOf(typeof(DomainObjectSecurityStrategyDecorator), objectSecurityStrategy);
            DomainObjectSecurityStrategyDecorator domainObjectSecurityStrategyDecorator = (DomainObjectSecurityStrategyDecorator)objectSecurityStrategy;

            Assert.That(domainObjectSecurityStrategyDecorator.RequiredSecurityForStates, Is.EqualTo(RequiredSecurityForStates.None));
        }
Exemplo n.º 3
0
        public void GetSecurityStrategy()
        {
            ISecurableObject group = CreateGroup();

            IObjectSecurityStrategy objectSecurityStrategy = group.GetSecurityStrategy();

            Assert.That(objectSecurityStrategy, Is.Not.Null);
            Assert.IsInstanceOf(typeof(DomainObjectSecurityStrategyDecorator), objectSecurityStrategy);
            DomainObjectSecurityStrategyDecorator domainObjectSecurityStrategyDecorator = (DomainObjectSecurityStrategyDecorator)objectSecurityStrategy;

            Assert.That(domainObjectSecurityStrategyDecorator.RequiredSecurityForStates, Is.EqualTo(RequiredSecurityForStates.None));
        }
Exemplo n.º 4
0
        public void Serialize()
        {
            IDomainObjectSecurityContextFactory factory = new SerializableFactory();
            IObjectSecurityStrategy             objectSecurityStrategy = new SerializableObjectSecurityStrategy();

            var strategy             = new DomainObjectSecurityStrategyDecorator(objectSecurityStrategy, factory, RequiredSecurityForStates.NewAndDeleted);
            var deserializedStrategy = Serializer.SerializeAndDeserialize(strategy);

            Assert.That(deserializedStrategy, Is.Not.SameAs(strategy));
            Assert.That(deserializedStrategy.RequiredSecurityForStates, Is.EqualTo(RequiredSecurityForStates.NewAndDeleted));
            Assert.That(deserializedStrategy.SecurityContextFactory, Is.Not.SameAs(factory));
            Assert.IsInstanceOf(typeof(SerializableFactory), deserializedStrategy.SecurityContextFactory);
            Assert.That(deserializedStrategy.InnerStrategy, Is.Not.SameAs(objectSecurityStrategy));
            Assert.IsInstanceOf(typeof(SerializableObjectSecurityStrategy), deserializedStrategy.InnerStrategy);
        }
Exemplo n.º 5
0
        public void HasAccess_WithAccessGrantedAndStateIsDiscarded()
        {
            var strategy = new DomainObjectSecurityStrategyDecorator(_mockObjectSecurityStrategy, _stubContextFactory, RequiredSecurityForStates.None);

            using (_mocks.Ordered())
            {
                Expect.Call(_stubContextFactory.IsInvalid).Return(true);
            }
            _mocks.ReplayAll();

            bool hasAccess = strategy.HasAccess(_stubSecurityProvider, _stubUser, _accessTypeResult);

            _mocks.VerifyAll();
            Assert.That(hasAccess, Is.EqualTo(true));
        }
Exemplo n.º 6
0
        public void GetSecurityStrategy()
        {
            OrganizationalStructureTestHelper testHelper = new OrganizationalStructureTestHelper();

            using (testHelper.Transaction.EnterNonDiscardingScope())
            {
                ISecurableObject position = testHelper.CreatePosition("PositionName");

                IObjectSecurityStrategy objectSecurityStrategy = position.GetSecurityStrategy();
                Assert.That(objectSecurityStrategy, Is.Not.Null);
                Assert.IsInstanceOf(typeof(DomainObjectSecurityStrategyDecorator), objectSecurityStrategy);
                DomainObjectSecurityStrategyDecorator domainObjectSecurityStrategyDecorator = (DomainObjectSecurityStrategyDecorator)objectSecurityStrategy;
                Assert.That(domainObjectSecurityStrategyDecorator.RequiredSecurityForStates, Is.EqualTo(RequiredSecurityForStates.None));
            }
        }