Exemple #1
0
        public void ShouldRaiseStartRunEventForJobSyncWatcherWhenTriggered()
        {
            //Arrange
            const string syncWhenWachtedName = "TestWhenWatched";
            var expectedOnStartName = string.Empty;
            Action<SenderInfo> eventAction = delegate (SenderInfo info) { expectedOnStartName = info.SyncWhenName; };

            var syncWhenWatchedStub = new SyncWhenWatchedStub(syncWhenWachtedName);
            var syncWhenList = new List<ISyncWhen> { syncWhenWatchedStub };

            //Act
            var jobSync = new JobSync(Guid.NewGuid(), syncWhenList.ToArray()) { IsEnabled = true };
            jobSync.OnRunStart += eventAction.Invoke;
            jobSync.Start();

            syncWhenWatchedStub.SimulateStartRun();

            //Assert
            Assert.IsTrue(jobSync.IsActive);
            Assert.That(expectedOnStartName, Is.EqualTo(syncWhenWachtedName));
        }
Exemple #2
0
        public void ShouldNotStartupJobSyncWithStartupSync()
        {
            //Arrange
            const string syncWhenOtherName = "TestWhenOther";
            var expectedName = string.Empty;
            var syncWhenOtherMock = new Mock<ISyncWhen>();
            syncWhenOtherMock.Setup(x => x.Start());
            syncWhenOtherMock.SetupGet(x => x.Name).Returns(syncWhenOtherName);

            var syncWhenList = new List<ISyncWhen> { syncWhenOtherMock.Object };

            //Act
            var jobSync = new JobSync(Guid.NewGuid(), syncWhenList.ToArray()) { IsEnabled = true };
            jobSync.OnStartup += delegate (SenderInfo info) { expectedName = info.SyncWhenName; };
            jobSync.Start();

            //Assert
            Assert.IsTrue(jobSync.IsActive);
            syncWhenOtherMock.Verify(x => x.Start(), Times.Once);
            syncWhenOtherMock.Verify();
            Assert.That(expectedName, Is.Empty);
        }
Exemple #3
0
        public void ShouldStartAvailableJobSyncWatcher()
        {
            //Arrange
            var syncWhenWatchedMock = new Mock<ISyncWhenWatched>();
            syncWhenWatchedMock.Setup(x => x.Start()).Verifiable();

            var syncWhenList = new List<ISyncWhen> { syncWhenWatchedMock.Object };

            //Act
            var jobSync = new JobSync(Guid.NewGuid(), syncWhenList.ToArray()) { IsEnabled = true };
            jobSync.Start();

            //Assert
            Assert.IsTrue(jobSync.IsActive);
            syncWhenWatchedMock.Verify(x => x.Start(), Times.Once);
            syncWhenWatchedMock.Verify();
        }
Exemple #4
0
        public void ShouldThrowExceptionWhenStartupWhenDisable()
        {
            //Arrange
            const string syncWhenStartedName = "TestWhenStarted";
            var syncWhenStarterMock = new Mock<ISyncWhenStartup>();
            syncWhenStarterMock.Setup(x => x.Start());
            syncWhenStarterMock.SetupGet(x => x.Name).Returns(syncWhenStartedName);

            var syncWhenList = new List<ISyncWhen> { syncWhenStarterMock.Object };

            //Act
            var jobSync = new JobSync(Guid.NewGuid(), syncWhenList.ToArray()) {IsEnabled = false};
            jobSync.Start();

            //Assert
            Assert.Fail("A CanNotStartJobSyncWhenDisabled exception should have been thrown");
        }
Exemple #5
0
        public void ShouldStartupJobSyncWithStartupSync()
        {
            //Arrange
            const string syncWhenStartedName = "TestWhenStarted";
            var expectedName = string.Empty;
            var syncWhenStarterStub = new SyncWhenStartupStub(syncWhenStartedName);

            var syncWhenList = new List<ISyncWhen> { syncWhenStarterStub };

            //Act
            var jobSync = new JobSync(Guid.NewGuid(), syncWhenList.ToArray()) { IsEnabled = true };
            jobSync.OnStartup += delegate(SenderInfo info) { expectedName = info.SyncWhenName; };
            jobSync.Start();

            //Assert
            Assert.IsTrue(jobSync.IsActive);
            Assert.That(syncWhenStarterStub.StartupCounter, Is.EqualTo(1));
            Assert.That(expectedName, Is.EqualTo(syncWhenStartedName));
        }