Пример #1
0
        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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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);
        }
Пример #5
0
        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");
        }