public void Revert_MustDisconnect() { service.Setup(s => s.Disconnect()).Returns(true).Callback(() => runtimeHost.Raise(h => h.ServiceDisconnected += null)); service .Setup(s => s.StopSession(It.IsAny <Guid>())) .Returns(new CommunicationResult(true)) .Callback(() => runtimeHost.Raise(h => h.ServiceSessionStopped += null)); PerformNormally(); var result = sut.Revert(); service.Verify(s => s.Disconnect(), Times.Once); Assert.AreEqual(OperationResult.Success, result); }
public void Revert_MustFailIfServiceNotDisconnectedWithinTimeout() { const int TIMEOUT = 50; var after = default(DateTime); var before = default(DateTime); sut = new ServiceOperation(logger.Object, runtimeHost.Object, service.Object, sessionContext, TIMEOUT); service.Setup(s => s.Disconnect()).Returns(true); service .Setup(s => s.StopSession(It.IsAny <Guid>())) .Returns(new CommunicationResult(true)) .Callback(() => runtimeHost.Raise(h => h.ServiceSessionStopped += null)); PerformNormally(); before = DateTime.Now; var result = sut.Revert(); after = DateTime.Now; service.Verify(s => s.Disconnect(), Times.Once); Assert.AreEqual(OperationResult.Failed, result); Assert.IsTrue(after - before >= new TimeSpan(0, 0, 0, 0, TIMEOUT)); }
public void Revert_MustDisconnect() { service.Setup(s => s.Disconnect()).Returns(true); service.Setup(s => s.StopSession(It.IsAny <Guid>())).Returns(new CommunicationResult(true)).Callback(() => serviceEvent.Set()); service.Setup(s => s.RunSystemConfigurationUpdate()).Returns(new CommunicationResult(true)); PerformNormally(); var result = sut.Revert(); service.Verify(s => s.Disconnect(), Times.Once); Assert.AreEqual(OperationResult.Success, result); }
public void Revert_MustFailIfSessionNotStoppedWithinTimeout() { const int TIMEOUT = 50; var after = default(DateTime); var before = default(DateTime); service.Setup(s => s.StopSession(It.IsAny <Guid>())).Returns(new CommunicationResult(true)); sut = new ServiceOperation(logger.Object, runtimeHost.Object, service.Object, sessionContext, TIMEOUT, userInfo.Object); PerformNormally(); before = DateTime.Now; var result = sut.Revert(); after = DateTime.Now; service.Verify(s => s.StopSession(It.IsAny <Guid>()), Times.Once); service.Verify(s => s.Disconnect(), Times.Once); service.Verify(s => s.RunSystemConfigurationUpdate(), Times.Never); Assert.AreEqual(OperationResult.Failed, result); Assert.IsTrue(after - before >= new TimeSpan(0, 0, 0, 0, TIMEOUT)); }