public async Task Publish_ShouldInvokeMessageInitializer()
        {
            var context = new TestableMessageHandlerContext();

            await context.Publish <ITestMessage>(m => m.Value = "initialized value");

            Assert.AreEqual("initialized value", context.PublishedMessages[0].Message <ITestMessage>().Value);
        }
        public async Task Publish_ShouldInvokeMessageInitializer()
        {
            var context = new TestableMessageHandlerContext();

            await context.Publish<ITestMessage>(m => m.Value = "initialized value");

            Assert.AreEqual("initialized value", context.PublishedMessages[0].Message<ITestMessage>().Value);
        }
        public async Task Publish_ShouldContainMessageInPublishedMessages()
        {
            var context         = new TestableMessageHandlerContext();
            var messageInstance = new TestMessage();
            var publishOptions  = new PublishOptions();

            await context.Publish(messageInstance, publishOptions);

            Assert.AreEqual(1, context.PublishedMessages.Length);
            Assert.AreSame(messageInstance, context.PublishedMessages[0].Message);
            Assert.AreSame(publishOptions, context.PublishedMessages[0].Options);
        }
        public async Task Publish_ShouldContainMessageInPublishedMessages()
        {
            var context = new TestableMessageHandlerContext();
            var messageInstance = new TestMessage();
            var publishOptions = new PublishOptions();

            await context.Publish(messageInstance, publishOptions);

            Assert.AreEqual(1, context.PublishedMessages.Length);
            Assert.AreSame(messageInstance, context.PublishedMessages[0].Message);
            Assert.AreSame(publishOptions, context.PublishedMessages[0].Options);
        }
Exemple #5
0
        public async Task RunTestableMessageContext()
        {
            var context = new TestableMessageHandlerContext();

            await context.Send(new Cmd { Number = 1 });

            await context.Send(new Cmd { Number = 2 }, new SendOptions());

            await context.Send("dest", new Cmd { Number = 3 });

            await context.Send <Cmd>(cmd => cmd.Number = 4);

            await context.Send <Cmd>("dest", cmd => cmd.Number = 5);

            await context.Send <Cmd>(cmd => cmd.Number = 6, new SendOptions());

            await context.Publish <Evt>();

            await context.Publish(new Evt { Number = 1 });

            await context.Publish(new Evt { Number = 2 }, new PublishOptions());

            await context.Publish <Evt>(cmd => cmd.Number = 3);

            await context.Publish <Evt>(cmd => cmd.Number = 4, new PublishOptions());

            Assert.That(context.SentMessages.Length == 6);
            string sentNumbers = string.Join(",", context.SentMessages.Select(m => (m.Message as Cmd).Number.ToString()));

            Assert.AreEqual("1,2,3,4,5,6", sentNumbers);

            Assert.That(context.PublishedMessages.Length == 5);
            string publishedNumbers = string.Join(",", context.PublishedMessages.Select(m => (m.Message as Evt).Number.ToString()));

            Assert.AreEqual("0,1,2,3,4", publishedNumbers);
        }
Exemple #6
0
 public Task Publish(object message, PublishOptions options)
 {
     return(_ctx.Publish(message, options));
 }