public void Perform_MustConnectToService() { service.Setup(s => s.Connect(null, true)).Returns(true); settings.Service.Policy = ServicePolicy.Mandatory; sut.Perform(); service.Setup(s => s.Connect(null, true)).Returns(true); settings.Service.Policy = ServicePolicy.Optional; sut.Perform(); service.Verify(s => s.Connect(null, true), Times.Exactly(2)); }
public void Perform_MustFailIfSessionNotStartedWithinTimeout() { const int TIMEOUT = 50; var after = default(DateTime); var before = default(DateTime); service.SetupGet(s => s.IsConnected).Returns(true); service.Setup(s => s.Connect(null, true)).Returns(true); service.Setup(s => s.StartSession(It.IsAny <ServiceConfiguration>())).Returns(new CommunicationResult(true)); sut = new ServiceOperation(logger.Object, runtimeHost.Object, service.Object, sessionContext, TIMEOUT, userInfo.Object); before = DateTime.Now; var result = sut.Perform(); after = DateTime.Now; service.Verify(s => s.StartSession(It.IsAny <ServiceConfiguration>()), Times.Once); Assert.AreEqual(OperationResult.Failed, result); Assert.IsTrue(after - before >= new TimeSpan(0, 0, 0, 0, TIMEOUT)); }