Beispiel #1
0
        public void Messages_with_null_Response_is_published_to_OutMQ()
        {
            int msgsReceived = 0;

            using (var mqServer = CreateMqServer())
            {
                mqServer.RegisterHandler <HelloNull>(m =>
                {
                    Interlocked.Increment(ref msgsReceived);
                    return(null);
                });

                mqServer.Start();

                using (var mqClient = mqServer.CreateMessageQueueClient())
                {
                    mqClient.Publish(new HelloNull {
                        Name = "Into the Void"
                    });

                    var msg = mqClient.Get <HelloNull>(QueueNames <HelloNull> .Out, TimeSpan.FromSeconds(5));
                    Assert.That(msg, Is.Not.Null);

                    HelloNull response = msg.GetBody();

                    Thread.Sleep(100);

                    Assert.That(response.Name, Is.EqualTo("Into the Void"));
                    Assert.That(msgsReceived, Is.EqualTo(1));
                }
            }
        }
Beispiel #2
0
        public void Messages_with_null_Response_is_published_to_ReplyMQ()
        {
            int msgsReceived = 0;

            using (var mqServer = CreateMqServer())
            {
                mqServer.RegisterHandler <HelloNull>(m =>
                {
                    Interlocked.Increment(ref msgsReceived);
                    return(null);
                });

                mqServer.Start();

                using (var mqClient = mqServer.CreateMessageQueueClient())
                {
                    var replyMq = mqClient.GetTempQueueName();
                    mqClient.Publish(new Message <HelloNull>(new HelloNull {
                        Name = "Into the Void"
                    })
                    {
                        ReplyTo = replyMq
                    });

                    var msg = mqClient.Get <HelloNull>(replyMq);

                    HelloNull response = msg.GetBody();

                    Thread.Sleep(100);

                    Assert.That(response.Name, Is.EqualTo("Into the Void"));
                    Assert.That(msgsReceived, Is.EqualTo(1));
                }
            }
        }
Beispiel #3
0
        public void Messages_notify()
        {
            using (var mqServer = CreateMqServer()) {
                mqServer.Start();

                using (var mqClient = mqServer.CreateMessageQueueClient()) {
                    var name = new HelloNull {
                        Name = "Into the Void"
                    };
                    mqClient.Notify(MqQueueNames <HelloNull> .Topic, new MqMessage <HelloNull> {
                        Body = name
                    });
                    var msg = mqClient.Get <HelloNull>(MqQueueNames <HelloNull> .Topic, TimeSpan.FromSeconds(5));
                    Assert.AreEqual(name.Name, msg.GetBody().Name);
                    Thread.Sleep(100);
                }
            }
        }