public virtual void SendMessage( object message, CorrelationIdAndAddress correlationIdAndAddress, Type type) { Headers.SetMessageHeader(message, Headers.CorrelationId, correlationIdAndAddress.CorrelationId); ////if (!Conventions.Messages(type)) ////{ //// Headers.SetMessageHeader(message, Headers.MessageId, correlationIdAndAddress.CorrelationId); ////} ////if (Conventions.Events(type)) ////{ //// this.bus.Publish(message); ////} ////else ////{ //// var address = !string.IsNullOrEmpty(correlationIdAndAddress.Address) //// ? Address.Parse(correlationIdAndAddress.Address) //// : this.addressDirectory.GetAddress(type); //// this.bus.Send(address, message); ////} }
public void ProcessMessage_OrchistratesParticipatingComponentsCorrectly() { const string NmsType = "TheNmsType"; const string CorrelationId = "TheCorrelationId"; const string ReplyToQueue = "TheReplyToQueue"; var type = typeof(object); var deserializedMessage = new object(); var correlationIdAndAddress = new CorrelationIdAndAddress(null, null); var amqMessage = new ActiveMQTextMessage { NMSType = NmsType, CorrelationId = CorrelationId, NMSReplyTo = new ActiveMQQueue(ReplyToQueue), NMSDestination = new ActiveMQQueue("Doesn't matter"), }; A.CallTo(() => this.messageTypeInterpreter.GetTypeFromNmsType(NmsType)).Returns(type); A.CallTo(() => this.messageDeserializer.DeserializeMessage(amqMessage, type)).Returns(deserializedMessage); A.CallTo(() => this.correlationIdAndAddressTranscoder.TranscodeCorrelationIdAndAddress(CorrelationId, ReplyToQueue)) .Returns(correlationIdAndAddress); this.testee.ProcessMessage(amqMessage); A.CallTo(() => this.messageSender.SendMessage(deserializedMessage, correlationIdAndAddress, type)) .MustHaveHappened(); }