public void TestPipeConnectorOpensPipe() { Mock <IFormatter> formatterMock = new Mock <IFormatter>(); Mock <IWrapperProcessStarter> wrapperProcessStarterMock = new Mock <IWrapperProcessStarter>(); Mock <PipeStreamFactory> pipeStreamFactoryMock = GetPipeStreamFactoryMock(); PipeToken pipeToken = new PipeToken(Guid.NewGuid().ToString()); var wrappconfig = new WrapperConfig(); IPipeConnector pipeConnector = new PipeConnector(formatterMock.Object, wrapperProcessStarterMock.Object, pipeStreamFactoryMock.Object, pipeToken, wrappconfig); CallData callDataToSend = new CallData(); pipeConnector.SendCallRequest(callDataToSend); pipeStreamFactoryMock.Verify(mock => mock.GetConnectedPipeStream(It.Is <PipeToken>(actual => Equals(actual, pipeToken)), System.Threading.Timeout.Infinite), Times.Once); }
public void TestPipeConnectorSendsCallRequest() { Mock <IFormatter> formatterMock = new Mock <IFormatter>(); Mock <IWrapperProcessStarter> wrapperProcessStarterMock = new Mock <IWrapperProcessStarter>(); Mock <PipeStreamFactory> pipeStreamFactoryMock = GetPipeStreamFactoryMock(); PipeToken pipeToken = new PipeToken(Guid.NewGuid().ToString()); var wrappconfig = new WrapperConfig(); IPipeConnector pipeConnector = new PipeConnector(formatterMock.Object, wrapperProcessStarterMock.Object, pipeStreamFactoryMock.Object, pipeToken, wrappconfig); CallData callDataToSend = new CallData(); pipeConnector.SendCallRequest(callDataToSend); formatterMock.Verify(mock => mock.Serialize(It.IsAny <PipeStream>(), It.Is <CallData>(actual => ReferenceEquals(actual, callDataToSend))), Times.AtLeast(1)); }
public void TestPipeGetsClosed() { CallResult callResultToFetch = new CallResult(); Mock <IFormatter> formatterMock = new Mock <IFormatter>(); formatterMock .Setup(x => x.Deserialize(It.IsAny <Stream>())) .Returns(callResultToFetch); Mock <IWrapperProcessStarter> wrapperProcessStarterMock = new Mock <IWrapperProcessStarter>(); Mock <PipeStreamFactory> pipeStreamFactoryMock = GetPipeStreamFactoryMock(); PipeToken pipeToken = new PipeToken(Guid.NewGuid().ToString()); var wrappconfig = new WrapperConfig(); IPipeConnector pipeConnector = new PipeConnector(formatterMock.Object, wrapperProcessStarterMock.Object, pipeStreamFactoryMock.Object, pipeToken, wrappconfig); pipeConnector.Dispose(); formatterMock.Verify(mock => mock.Serialize(It.IsAny <PipeStream>(), It.Is <CallData>(actual => actual.Status.Equals(KeepAliveStatus.Close))), Times.AtLeast(1)); }
public void TestPipeConnectorFetchesCallResponse() { CallResult callResultToFetch = new CallResult(); Mock <IFormatter> formatterMock = new Mock <IFormatter>(); formatterMock .Setup(x => x.Deserialize(It.IsAny <Stream>())) .Returns(callResultToFetch); Mock <IWrapperProcessStarter> wrapperProcessStarterMock = new Mock <IWrapperProcessStarter>(); Mock <PipeStreamFactory> pipeStreamFactoryMock = GetPipeStreamFactoryMock(); PipeToken pipeToken = new PipeToken(Guid.NewGuid().ToString()); var wrappconfig = new WrapperConfig(); IPipeConnector pipeConnector = new PipeConnector(formatterMock.Object, wrapperProcessStarterMock.Object, pipeStreamFactoryMock.Object, pipeToken, wrappconfig); CallResult actualCallResult = pipeConnector.ReceiveCallResponse(); formatterMock.Verify(mock => mock.Deserialize(It.IsAny <PipeStream>()), Times.AtLeast(1)); Assert.AreEqual(callResultToFetch, actualCallResult); }
public void TestThrowsExceptionIfContainedInCallResult() { CallResult callResultToFetch = new CallResult(); callResultToFetch.Exception = new LegacyWrapperException(); Mock <IFormatter> formatterMock = new Mock <IFormatter>(); formatterMock .Setup(x => x.Deserialize(It.IsAny <Stream>())) .Returns(callResultToFetch); Mock <IWrapperProcessStarter> wrapperProcessStarterMock = new Mock <IWrapperProcessStarter>(); Mock <PipeStreamFactory> pipeStreamFactoryMock = GetPipeStreamFactoryMock(); PipeToken pipeToken = new PipeToken(Guid.NewGuid().ToString()); var wrappconfig = new WrapperConfig(); IPipeConnector pipeConnector = new PipeConnector(formatterMock.Object, wrapperProcessStarterMock.Object, pipeStreamFactoryMock.Object, pipeToken, wrappconfig); pipeConnector.ReceiveCallResponse(); Assert.Fail("Exception should have been thrown by PipeConnector"); }