Exemple #1
0
        /// <inheritdoc />
        public Task Publish <TMessage>(TMessage message, VentureOutgoingMessageHandlingContext context) where TMessage : class
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            return(_messageRouter.RouteEgressMessage(
                       message,
                       context.CorrelationId,
                       context.CausationId,
                       context.MessageId ?? Guid.NewGuid().ToString("N")));
        }
Exemple #2
0
        public void when_created_with_all_arguments_specified_it_should_initialize_instance_with_their_values()
        {
            var message        = new object();
            var generatedOnUtc = DateTimeOffset.UtcNow;
            var correlationId  = _stringCreator.Get(length: 10);
            var causationId    = _stringCreator.Get(length: 10);
            var messageId      = _stringCreator.Get(length: 10);
            var context        = new VentureOutgoingMessageHandlingContext(
                message,
                generatedOnUtc,
                correlationId,
                causationId,
                messageId);

            context.Message.Should().BeSameAs(message);
            context.CorrelationId.Should().BeSameAs(correlationId);
            context.CausationId.Should().BeSameAs(causationId);
            context.MessageId.Should().BeSameAs(messageId);
            context.ProducedOnUtc.Should().Be(generatedOnUtc);
        }