Transport used for testing, mimics the behaviour of a normal Transport and allows messages to be sent and received
상속: ITransport
예제 #1
0
        public void CreateMockTransportTest()
        {
            MockTransport transport = new MockTransport(mockUri);

            Assert.IsNotNull(transport);
            Assert.IsFalse(transport.IsStarted);
            Assert.IsFalse(transport.IsDisposed);
        }
예제 #2
0
        public void StartInitializedTransportTest()
        {
            MockTransport transport = new MockTransport(mockUri);

            transport.Command = new CommandHandler(OnCommand);
            transport.Exception = new ExceptionHandler(OnException);

            transport.Start();
        }
예제 #3
0
		private void VerifyCommandHandlerSetting(ITransport transport, MockTransport mock)
		{
			// Walk the stack of wrapper transports.
			ITransport failoverTransportTarget = mock.Command.Target as ITransport;
			Assert.IsNotNull(failoverTransportTarget);
			ITransport mutexTransportTarget = failoverTransportTarget.Command.Target as ITransport;
			Assert.IsNotNull(mutexTransportTarget);
			ITransport responseCorrelatorTransportTarget = mutexTransportTarget.Command.Target as ITransport;
			Assert.IsNotNull(responseCorrelatorTransportTarget);
			Assert.AreEqual(transport.Command.Target, responseCorrelatorTransportTarget.Command.Target);
		}
예제 #4
0
        public void SetUp()
        {
            this.received = new List<Command>();
            this.exceptions = new List<Exception>();

            Uri uri = new Uri("mock://mock?wireformat=openwire");
            MockTransportFactory factory = new MockTransportFactory();

            this.transport = factory.CompositeConnect( uri ) as MockTransport;

            this.localWireFormatInfo = new WireFormatInfo();

            this.localWireFormatInfo.Version = 5;
            this.localWireFormatInfo.MaxInactivityDuration = 3000;
            this.localWireFormatInfo.TightEncodingEnabled = false;
        }
예제 #5
0
 public AsyncResponseTask(MockTransport parent)
 {
     this.parent = parent;
 }
예제 #6
0
			public AsyncResponseTask(MockTransport parent)
			{
				this.parent = parent;
			}
예제 #7
0
 public void StartUnitializedTransportTest()
 {
     MockTransport transport = new MockTransport(mockUri);
     transport.Start();
 }
예제 #8
0
        public void Init()
        {
            transport = new MockTransport(mockUri);
            sent = new List<Command>();
            received = new List<Command>();
            exceptions = new List<Exception>();

            transport.Command = new CommandHandler(OnCommand);
            transport.Exception = new ExceptionHandler(OnException);
            transport.OutgoingCommand = new CommandHandler(OnOutgoingCommand);
        }
예제 #9
0
		public ITransport CompositeConnect(Uri location)
		{
			Tracer.Debug("MockTransportFactory: Create new Transport with options: " + location.Query);

			// Extract query parameters from broker Uri
			StringDictionary map = URISupport.ParseQuery(location.Query);

			// Set transport. properties on this (the factory)
			URISupport.SetProperties(this, map, "transport.");

			if(this.FailOnCreate == true)
			{
				throw new IOException("Failed to Create new MockTransport.");
			}

			// Create the Mock Transport
			MockTransport transport = new MockTransport(location);

			transport.FailOnReceiveMessage = this.FailOnReceiveMessage;
			transport.NumReceivedMessagesBeforeFail = this.NumReceivedMessagesBeforeFail;
			transport.FailOnSendMessage = this.FailOnSendMessage;
			transport.NumSentMessagesBeforeFail = this.NumSentMessagesBeforeFail;
            transport.Name = this.Name;
            transport.RespondToMessages = this.respondToMessages;
            transport.NumMessagesToRespondTo = this.numMessagesToRespondTo;

			return transport;
		}