Exemple #1
0
        private void CanBeAKey <T>(string memberName, bool expectedIsKey, Attribute attribute)
        {
            var memberInfo =
                Mocking.Property <T>(memberName, attribute);

            new KeyConvention()
            .CanBeTheKey(new MemberInfoMetadata(memberInfo))
            .Should().Be(expectedIsKey);
        }
        public void ResolveItemConflicts__RequestsResolutionFromConflictResolverForItemType()
        {
            var conflictResolver = Mocking.MockAndBind <ISyncConflictResolver <TestItem, Guid> >(_container);
            var syncResult       = Mock.Create <ISyncResult <TestItem, Guid> >();
            var target           = new SendingSynchronizer <TestItem, Guid>(_container);

            target.ResolveItemConflicts(syncResult);

            Mock.Assert(() => conflictResolver.Resolve(syncResult.ConflictingItems), Occurs.Once());
        }
        public void SendSyncRequestToRemoteReplica_GivenValidSyncRequest_CallsSyncRequestSender()
        {
            var mockSyncRequestSender = Mocking.MockAndBind <ISyncRequestSender <TestItem, Guid> >(_container);
            var syncRequest           = Mock.Create <ISyncRequest <Guid> >();

            var target = new SendingSynchronizer <TestItem, Guid>(_container);

            target.SendSyncRequestToRemoteReplica(syncRequest);

            Mock.Assert(() => mockSyncRequestSender.SendInitialRequest(syncRequest), Occurs.Once());
        }
Exemple #4
0
        public MockVersionStorage(string initValue)
        {
            this.InitValue = new VersionStorageOptions()
            {
                InitialisationString = initValue
            };

            Mock = new Mocking(this);

            initialisationValue = initValue;
        }
        public void SendChangedItemsToRemoteReplica__SendsChangesViaRequestSenderForType()
        {
            var requestSender = Mocking.MockAndBind <ISyncRequestSender <TestItem, Guid> >(_container);
            var syncResult    = Mock.Create <ISyncResult <TestItem, Guid> >();
            var target        = new SendingSynchronizer <TestItem, Guid>(_container);
            ConflictResolutionsToSend <TestItem, Guid> conflictResolutions = new ConflictResolutionsToSend <TestItem, Guid>();

            target.SendChangedItemsToRemoteReplica(syncResult.ChangesRequest, conflictResolutions);

            Mock.Assert(() => requestSender.SendChangedItems(Arg.IsAny <IEnumerable <TestItem> >()), Occurs.Once());
        }
        public void CheckPropertyNameAndTypeIsCorrect()
        {
            var property =
                Mocking
                .Property <string>(Name);

            property
            .Name.Should("The property name is wrong.").Be.EqualTo(Name);

            property
            .PropertyType.Should("The property type is wrong.").Be.EqualTo(typeof(string));
        }
        public void FulfillSyncRequest_ValidRequest_SyncResultBuildCalled()
        {
            var syncResult = Mocking.MockAndBind <ISyncResult <TestItem, Guid> >(_container);

            var replica     = new Replica("test");
            var syncRequest = Mock.Create <ISyncRequest <Guid> >();

            var target = new ReceivingSynchronizer <TestItem, Guid>(_container);

            var result = target.FulfillSyncRequest(syncRequest);

            Mock.Assert(() => syncResult.Build(syncRequest), Occurs.Once());
        }
        public MockVersionFileUpdater(Bilge useThisTrace = null)
        {
            if (useThisTrace == null)
            {
                b = new Bilge();
            }
            else
            {
                b = useThisTrace;
            }

            Mock = new Mocking(this);
        }
        public void GetChanges_RepositoryHasChanges_ChangesInSyncRequest()
        {
            // Make repository return some changes.
            var context = Mocking.GetSyncContext <TestItem, Guid>(_container);
            var changes = new List <TestItem> {
                new TestItem()
            };

            Mock.Arrange(() => context.Repository.GetChangesSince(Arg.AnyDateTime)).Returns(changes);

            var target = new SyncRequest <TestItem, Guid>(context);

            Assert.IsTrue(target.Any(si => si.Id == changes.First().Id));
        }
        public void GetFulfillingReplicaItemChanges_RepositoryHasChanges_ChangesInSyncResult()
        {
            var repository = Mocking.MockAndBind <IRepository <TestItem, Guid> >(_container);
            var changes    = new List <TestItem> {
                new TestItem()
            };

            Mock.Arrange(() => repository.GetChangesSince(Arg.AnyDateTime)).Returns(changes);

            var target = new SyncResult <TestItem, Guid>(_container);

            target.GetFulfillingReplicaItemChanges(Mock.Create <ISyncRequest <Guid> >());
            Assert.IsTrue(target.FulfillingReplicaItemChanges.Any(si => si.Id == changes.First().Id));
        }
        public void ReceiveChangedItemsAsRemoteReplica_ChangeToExistingRecord_ChangeIsUpdated()
        {
            var testItem   = new TestItem();
            var repository = Mocking.MockAndBind <IRepository <TestItem, Guid> >(_container);

            Mock.Arrange(() => repository.Find(testItem.Id)).Returns(testItem);
            var changes = new List <TestItem> {
                testItem
            };
            var target = new ReceivingSynchronizer <TestItem, Guid>(_container);

            target.ReceiveChangedItemsAsRemoteReplica(changes);

            Mock.Assert(() => repository.Update(testItem), Occurs.Once());
        }
        public BehavioralTestBase(ITestOutputHelper testOutputHelper, Action <string> logAction, Formatting logFormatting = Formatting.Indented, bool disableArrangeLogging = false, bool disableActLogging = false, bool disableAssertionLogging = false) :
            base(testOutputHelper, logAction, logFormatting, disableArrangeLogging: disableArrangeLogging, disableActLogging: disableActLogging, disableAssertionLogging: disableAssertionLogging)
        {
            _random = new Random();

            _kadRrService    = new Mocking <IKadRrService, KadRrServiceSetup, KadRrServiceVerification>();
            _latest          = new Mocking <ILatestQueries, LatestQueriesSetup, LatestQueriesVerification>();
            _controller      = new AddressMatchController();
            _context         = new AddressMatchContextMemory();
            _buildingContext = new BuildingContextMemory();

            JsonConvert.DefaultSettings = () => new JsonSerializerSettings
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            };
        }
        public void ReceiveChangedItemsAsRemoteReplica_ChangesExist_ChangesAreSaved()
        {
            var      testItem     = new TestItem();
            TestItem nullTestItem = null;
            var      repository   = Mocking.MockAndBind <IRepository <TestItem, Guid> >(_container);

            // ReSharper disable once ExpressionIsAlwaysNull
            Mock.Arrange(() => repository.Find(testItem.Id)).Returns(nullTestItem);
            var changes = new List <TestItem> {
                testItem
            };
            var target = new ReceivingSynchronizer <TestItem, Guid>(_container);

            target.ReceiveChangedItemsAsRemoteReplica(changes);

            Mock.Assert(() => repository.Insert(testItem), Occurs.Once());
        }
        public async Task Handle_GetUserAccessTokenCommand_OpenIdOfUserAccessTokenExisted()
        {
            //Arrange
            var expected = new UserAccessToken()
            {
                openid        = "321",
                access_token  = "1",
                expires_in    = "1",
                refresh_token = "1",
                scope         = "1"
            };
            var db = new List <UserAccessToken> {
                new UserAccessToken
                {
                    openid        = "321",
                    access_token  = "2",
                    expires_in    = "2",
                    refresh_token = "2",
                    scope         = "2"
                }
            };

            communicator.Setup(c => c.GetUserAccessTokenAsync("123"))
            .Returns(Task.FromResult(expected));
            context.SetupGet(c => c.UserAccessTokens).Returns(Mocking.GetMockDbSet(db));
            context.Setup(c => c.SaveAsync()).Returns(Task.CompletedTask);

            var command = new GetUserAccessTokenCommand(code: "123");
            var handler = createHandler();

            //Act
            var result = await handler.Handle(command);

            //Assert
            communicator.VerifyAll();
            context.VerifyAll();
            Assert.True(Jsonning.EqualsOrThrows(expected, result));
            Assert.NotSame(expected, db.FirstOrDefault());
            Assert.Equal(expected.access_token, db.FirstOrDefault().access_token);
            Assert.Equal(expected.expires_in, db.FirstOrDefault().expires_in);
            Assert.Equal(expected.refresh_token, db.FirstOrDefault().refresh_token);
            Assert.Equal(expected.scope, db.FirstOrDefault().scope);
        }
        public async Task Handle_GetAppAccessTokenCommand_AccessTokenNotExisted()
        {
            //Arrange
            var expected = new AppAccessToken();
            var db       = new List <AppAccessToken>();

            communicator.Setup(c => c.GetAppAccessTokenAsync())
            .Returns(Task.FromResult(expected));
            context.SetupGet(c => c.AppAccessTokens).Returns(Mocking.GetMockDbSet(db));
            context.Setup(c => c.SaveAsync()).Returns(Task.CompletedTask);

            var command = new GetAppAccessTokenCommand();
            var handler = createHandler();

            //Act
            var result = await handler.Handle(command);

            //Assert
            communicator.VerifyAll();
            context.VerifyAll();
            Assert.True(Jsonning.EqualsOrThrows(expected, result));
            Assert.Same(expected, db.FirstOrDefault());
        }
        public async Task Handle_GetAppAccessTokenCommand_AccessTokenOutDated()
        {
            //Arrange
            var expected = new AppAccessToken()
            {
                access_token = "789012",
                expires_in   = 7200,
                time_stamp   = DateTime.Now
            };
            var db = new List <AppAccessToken>()
            {
                new AppAccessToken {
                    access_token = "123456",
                    expires_in   = 7200,
                    time_stamp   = DateTime.Now.AddHours(-3)
                }
            };

            communicator.Setup(c => c.GetAppAccessTokenAsync())
            .Returns(Task.FromResult(expected));
            context.SetupGet(c => c.AppAccessTokens).Returns(Mocking.GetMockDbSet(db));
            context.Setup(c => c.SaveAsync()).Returns(Task.CompletedTask);

            var command = new GetAppAccessTokenCommand();
            var handler = createHandler();

            //Act
            var result = await handler.Handle(command);

            //Assert
            communicator.VerifyAll();
            context.VerifyAll();
            Assert.True(Jsonning.EqualsOrThrows(expected, result));
            Assert.Equal(expected.access_token, db.FirstOrDefault().access_token);
            Assert.Equal(expected.expires_in, db.FirstOrDefault().expires_in);
            Assert.Equal(expected.time_stamp, db.FirstOrDefault().time_stamp);
        }
 public AutoMockingBuilderStrategy(Mocking mocking, IocContainer ioc)
 {
     this.mocking = mocking;
     this.ioc     = ioc;
 }
Exemple #18
0
 public void CreateMocks()
 {
     _runner = new Mocking <IEventCentricTestSpecificationRunner, EventCentricTestSpecificationRunnerSetup>();
 }
Exemple #19
0
 public AutoMockingContainerExtension(IoC ioc, Mocking mocking)
 {
     this.ioc     = ioc;
     this.mocking = mocking;
 }
Exemple #20
0
 protected void CheckProperty <TProperty>(bool expected, params object[] attributes)
 {
     new T()
     .HasToMap(new PrimitiveMemberInfoMetadata(Mocking.Property <TProperty>("PropertyName", attributes)))
     .Should().Be(expected);
 }
Exemple #21
0
 public CompleteVersionMock()
 {
     Mock = new Mocking(this);
 }
 public AutoMockingContainerExtension(IoC ioc, Mocking mocking)
 {
     this.ioc = ioc;
     this.mocking = mocking;
 }
Exemple #23
0
 public MockVersioning(VersionStorage vs) : base(vs)
 {
     Mock = new Mocking(this);
 }
 public AutoMockingBuilderStrategy(Mocking mocking, IoC ioc)
 {
     this.mocking = mocking;
     this.ioc = ioc;
 }