Exemple #1
0
        private async Task <SendResult> SendDeliverMessageAsync(
            Method deliverMethod,
            DeliverMessageEnvelope deliverMessage)
        {
            IDeliverSender sender = _messageProvider.GetDeliverSender(deliverMethod.Type);

            if (sender == null)
            {
                throw new ArgumentNullException(
                          nameof(sender),
                          $@"No {nameof(IDeliverSender)} can be found for DeliverMethod.Type = {deliverMethod?.Type}");
            }

            sender.Configure(deliverMethod);
            Task <SendResult> sendAsync = sender.SendAsync(deliverMessage);

            if (sendAsync == null)
            {
                throw new ArgumentNullException(
                          nameof(sendAsync),
                          $@"{sender.GetType().Name} returns 'null' for sending DeliverMessage");
            }

            return(await sendAsync.ConfigureAwait(false));
        }
        private IStep CreateSendDeliverStepWithSender(IDeliverSender spySender)
        {
            var stubProvider = new Mock <IDeliverSenderProvider>();

            stubProvider.Setup(p => p.GetDeliverSender(It.IsAny <string>())).Returns(spySender);

            return(new SendDeliverMessageStep(stubProvider.Object, GetDataStoreContext));
        }
Exemple #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ReliableSender"/> class.
        /// </summary>
        /// <param name="deliverSender"></param>
        public ReliableSender(IDeliverSender deliverSender)
        {
            if (deliverSender == null)
            {
                throw new ArgumentNullException(nameof(deliverSender));
            }

            InnerDeliverSender = deliverSender;
        }
Exemple #4
0
        public void DeliverSenderProviderGetsSender(
            string expectedKey,
            Type expectedSenderType)
        {
            // Arrange
            var provider = DeliverSenderProvider.Instance;

            // Act
            IDeliverSender actualSender = provider.GetDeliverSender(expectedKey);

            // Assert
            Assert.IsType <ReliableSender>(actualSender);
            Assert.IsType(expectedSenderType, ((ReliableSender)actualSender).InnerDeliverSender);
        }