Пример #1
0
        public override void SetUp()
        {
            base.SetUp();

            _testHelper = new TestHelper();
            _extension  = new SecurityClientTransactionExtension();
        }
        public override void SetUp()
        {
            base.SetUp();

            _transaction = ClientTransaction.CreateRootTransaction().CreateSubTransaction();

            _unchangedObject = GetUnchangedObject();
            _changedObject   = GetChangedObject();
            _newObject       = GetNewObject();
            _deletedObject   = GetDeletedObject();

            _mockRepository = new MockRepository();

            // Listener is a dynamic mock so that we don't have to expect all the internal events of committing
            _listenerMock  = _mockRepository.DynamicMock <IClientTransactionListener> ();
            _extensionMock = _mockRepository.StrictMock <ClientTransactionExtensionBase> ("test");
            _transactionMockEventReceiver = _mockRepository.StrictMock <ClientTransactionMockEventReceiver> (_transaction);

            _changedObjectEventReceiverMock   = CreateDomainObjectMockEventReceiver(_changedObject);
            _newObjectEventReceiverMock       = CreateDomainObjectMockEventReceiver(_newObject);
            _deletedObjectEventReceiverMock   = CreateDomainObjectMockEventReceiver(_deletedObject);
            _unchangedObjectEventReceiverMock = CreateDomainObjectMockEventReceiver(_unchangedObject);

            ClientTransactionTestHelper.AddListener(_transaction, _listenerMock);
            _transaction.Extensions.Add(_extensionMock);
        }
        public override void SetUp()
        {
            base.SetUp();

            _testHelper           = new TestHelper();
            _extension            = new SecurityClientTransactionExtension();
            _propertyInfo         = typeof(SecurableObject).GetProperty("Parent");
            _getMethodInformation = MethodInfoAdapter.Create(_propertyInfo.GetGetMethod());

            _testHelper.SetupSecurityIoCConfiguration();
        }
Пример #4
0
        public override void SetUp()
        {
            base.SetUp();

            _testHelper = new TestHelper();
            _extension  = new SecurityClientTransactionExtension();

            _propertyInfo             = typeof(SecurableObject).GetProperty("StringProperty");
            _setMethodInformation     = MethodInfoAdapter.Create(_propertyInfo.GetSetMethod());
            _stringPropertyDefinition = PropertyDefinitionObjectMother.CreatePropertyDefinition(_propertyInfo);

            _testHelper.SetupSecurityIoCConfiguration();
        }
        public void Test_WithNoObjects_ReturnsNoObjects()
        {
            _extension = new SecurityClientTransactionExtension();
            IQuery query       = MockRepository.GenerateStub <IQuery>();
            var    queryResult = new QueryResult <DomainObject> (query, new DomainObject[0]);

            _testHelper.ReplayAll();

            var finalResult = _extension.FilterQueryResult(_testHelper.Transaction, queryResult);

            _testHelper.VerifyAll();
            Assert.That(finalResult.ToArray(), Is.Empty);
        }
        public override void SetUp()
        {
            base.SetUp();

            _listenerDynamicMock = MockRepository.GenerateMock <IClientTransactionListener> ();
            _extensionStrictMock = MockRepository.GenerateStrictMock <IClientTransactionExtension> ();

            _readOnlyRootTransaction = ClientTransaction.CreateRootTransaction();
            ExecuteInReadOnlyRootTransaction(InitializeReadOnlyRootTransaction);
            _readOnlyMiddleTransaction = ReadOnlyRootTransaction.CreateSubTransaction();
            ExecuteInReadOnlyMiddleTransaction(InitializeReadOnlyMiddleTransaction);
            _writeableSubTransaction = ReadOnlyMiddleTransaction.CreateSubTransaction();
            ExecuteInWriteableSubTransaction(InitializeWriteableSubTransaction);
        }
        /// <summary>
        /// Adds an <see cref="IClientTransactionExtension"/> to the collection.
        /// </summary>
        /// <param name="clientTransactionExtension">The extension to add. Must not be <see langword="null"/>.</param>
        /// <exception cref="InvalidOperationException">An extension with the same <see cref="IClientTransactionExtension.Key"/> as the given
        /// <paramref name="clientTransactionExtension"/> is already part of the collection.</exception>
        /// <remarks>The order of the extensions in the collection is the order in which they are notified.</remarks>
        public void Add(IClientTransactionExtension clientTransactionExtension)
        {
            ArgumentUtility.CheckNotNull("clientTransactionExtension", clientTransactionExtension);

            var key = clientTransactionExtension.Key;

            Assertion.IsNotNull(key, "IClientTransactionExtension.Key must not return null");

            if (BaseContainsKey(key))
            {
                throw new InvalidOperationException(string.Format("An extension with key '{0}' is already part of the collection.", key));
            }

            BaseAdd(key, clientTransactionExtension);
        }
Пример #8
0
        public override void SetUp()
        {
            base.SetUp();

            _clientTransaction = ClientTransaction.CreateRootTransaction();

            _eventBroker = new ClientTransactionEventBroker(_clientTransaction);

            _domainObject1       = _clientTransaction.ExecuteInScope(() => DomainObjectIDs.Order1.GetObject <Order> ());
            _domainObject2       = _clientTransaction.ExecuteInScope(() => DomainObjectIDs.Order3.GetObject <Order> ());
            _invalidDomainObject = _clientTransaction.ExecuteInScope(
                () =>
            {
                var order = Order.NewObject();
                order.Delete();
                return(order);
            });

            _mockRepository                 = new MockRepository();
            _order1EventReceiverMock        = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (_domainObject1);
            _order2EventReceiverMock        = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (_domainObject2);
            _invalidObjectEventReceiverMock = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (_invalidDomainObject);

            _unloadEventReceiverMock = _mockRepository.StrictMock <IUnloadEventReceiver> ();
            ((TestDomainBase)_domainObject1).SetUnloadEventReceiver(_unloadEventReceiverMock);
            ((TestDomainBase)_domainObject2).SetUnloadEventReceiver(_unloadEventReceiverMock);

            _transactionEventReceiverMock = _mockRepository.StrictMock <ClientTransactionMockEventReceiver> (_clientTransaction);

            _loadEventReceiverMock = _mockRepository.StrictMock <ILoadEventReceiver> ();
            ((TestDomainBase)_domainObject1).SetLoadEventReceiver(_loadEventReceiverMock);
            ((TestDomainBase)_domainObject2).SetLoadEventReceiver(_loadEventReceiverMock);

            _extensionMock = _mockRepository.StrictMock <IClientTransactionExtension> ();
            _extensionMock.Stub(stub => stub.Key).Return("extension");
            _extensionMock.Replay();
            _eventBroker.Extensions.Add(_extensionMock);
            _extensionMock.BackToRecord();

            _listenerMock = _mockRepository.StrictMock <IClientTransactionListener> ();
            _eventBroker.AddListener(_listenerMock);
        }
Пример #9
0
        public override void SetUp()
        {
            base.SetUp();

            _order1              = DomainObjectIDs.Order1.GetObject <Order> ();
            _customer1           = _order1.Customer;
            _orginalCustomerName = _customer1.Name;

            _mockRepository = new MockRepository();

            _clientTransactionMockEventReceiver = _mockRepository.StrictMock <ClientTransactionMockEventReceiver> (TestableClientTransaction);
            _clientTransactionExtensionMock     = _mockRepository.StrictMock <IClientTransactionExtension> ();
            _clientTransactionExtensionMock.Stub(stub => stub.Key).Return("MockExtension");
            _clientTransactionExtensionMock.Replay();
            TestableClientTransaction.Extensions.Add(_clientTransactionExtensionMock);
            _clientTransactionExtensionMock.BackToRecord();

            _order1MockEventReceiver    = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (_order1);
            _customer1MockEventReceiver = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (_customer1);
        }
Пример #10
0
        public void SubCommit_OfDeletedObject_DoesNotRaiseDeletedEvent()
        {
            using (_subTransaction.EnterDiscardingScope())
            {
                ClassWithAllDataTypes domainObject = DomainObjectIDs.ClassWithAllDataTypes1.GetObject <ClassWithAllDataTypes> ();

                MockRepository repository = new MockRepository();

                IClientTransactionExtension extensionMock = repository.StrictMock <IClientTransactionExtension>();
                extensionMock.Stub(stub => stub.Key).Return("Mock");
                extensionMock.Replay();
                _subTransaction.Extensions.Add(extensionMock);
                try
                {
                    extensionMock.BackToRecord();

                    extensionMock.ObjectDeleting(_subTransaction, domainObject);
                    extensionMock.ObjectDeleted(_subTransaction, domainObject);

                    repository.ReplayAll();
                    domainObject.Delete();
                    repository.VerifyAll();

                    repository.BackToRecordAll();
                    extensionMock.Committing(null, null, null);
                    LastCall.IgnoreArguments();
                    extensionMock.CommitValidate(null, null);
                    LastCall.IgnoreArguments();
                    extensionMock.Committed(null, null);
                    LastCall.IgnoreArguments();
                    repository.ReplayAll();

                    _subTransaction.Commit();
                    repository.VerifyAll();
                }
                finally
                {
                    _subTransaction.Extensions.Remove("Mock");
                }
            }
        }
Пример #11
0
        public void SubCommit_OfDeletedObject_DoesNotRaiseDeletedEvent_WithRelations()
        {
            using (_subTransaction.EnterDiscardingScope())
            {
                Order domainObject = DomainObjectIDs.Order1.GetObject <Order> ();
                domainObject.OrderItems[0].Delete();

                MockRepository repository = new MockRepository();

                IClientTransactionExtension extensionMock = repository.StrictMock <IClientTransactionExtension> ();
                extensionMock.Replay();
                extensionMock.Stub(stub => stub.Key).Return("Mock");
                _subTransaction.Extensions.Add(extensionMock);
                try
                {
                    extensionMock.BackToRecord();

                    using (repository.Ordered())
                    {
                        extensionMock.Committing(null, null, null);
                        LastCall.IgnoreArguments();
                        extensionMock.CommitValidate(null, null);
                        LastCall.IgnoreArguments();
                        extensionMock.Committed(null, null);
                        LastCall.IgnoreArguments();
                    }

                    repository.ReplayAll();

                    _subTransaction.Commit();

                    repository.VerifyAll();
                }
                finally
                {
                    _subTransaction.Extensions.Remove("Mock");
                }
            }
        }
        public override void SetUp()
        {
            base.SetUp();

            _mockRepository = new MockRepository();
            _collection     = new ClientTransactionExtensionCollection("key");
            _extension1     = _mockRepository.StrictMock <IClientTransactionExtension> ();
            _extension2     = _mockRepository.StrictMock <IClientTransactionExtension> ();

            _extension1.Stub(stub => stub.Key).Return("Name1");
            _extension2.Stub(stub => stub.Key).Return("Name2");
            _mockRepository.ReplayAll();

            _collectionWithExtensions = new ClientTransactionExtensionCollection("key");
            _collectionWithExtensions.Add(_extension1);
            _collectionWithExtensions.Add(_extension2);

            // _mockRepository.BackToRecordAll();

            _order = Order.NewObject();
            _propertyDefinition = GetPropertyDefinition(typeof(Order), "OrderNumber");
        }
Пример #13
0
        public override void SetUp()
        {
            base.SetUp();

            _order1       = DomainObjectIDs.Order1.GetObject <Order> ();
            _orderTicket1 = _order1.OrderTicket;
            _location1    = DomainObjectIDs.Location1.GetObject <Location>();
            _client1      = _location1.Client;

            _mockRepository = new MockRepository();

            _extension                 = _mockRepository.StrictMock <IClientTransactionExtension>();
            _order1EventReceiver       = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (_order1);
            _orderTicket1EventReceiver = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (_orderTicket1);
            _location1EventReceiver    = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (_location1);
            _mockRepository.StrictMock <DomainObjectMockEventReceiver> (_client1); // no events must be signalled for _client1

            _extension.Stub(stub => stub.Key).Return("Name");
            _extension.Replay();
            ClientTransactionScope.CurrentTransaction.Extensions.Add(_extension);
            _extension.BackToRecord();
        }
Пример #14
0
        public void AddExtension(IClientTransactionExtension extension)
        {
            ArgumentUtility.CheckNotNullAndType <SecurityClientTransactionExtension> ("extension", extension);

            _transaction.Extensions.Add(extension);
        }