public void Arrange() { _subscriptionFactory = new Mock <IMessageSubscriberFactory>(); _subscriber = new Mock <IMessageSubscriber <SentTransferConnectionInvitationEvent> >(); _messageContent = new SentTransferConnectionInvitationEvent { TransferConnectionInvitationId = 123, SenderAccountId = 456, SenderAccountName = "Sender Account", ReceiverAccountId = 789, ReceiverAccountName = "Receiver Account", SentByUserName = "******", SenderAccountHashedId = "ABC123" }; _mockMessage = new Mock <IMessage <SentTransferConnectionInvitationEvent> >(); _mockMessage.Setup(x => x.Content).Returns(_messageContent); _mediator = new Mock <IMediator>(); _tokenSource = new CancellationTokenSource(); _processor = new Worker.MessageProcessors.SentTransferConnectionInvitationEventMessageProcessor(_subscriptionFactory.Object, Mock.Of <ILog>(), _mediator.Object); _subscriptionFactory.Setup(x => x.GetSubscriber <SentTransferConnectionInvitationEvent>()).Returns(_subscriber.Object); _subscriber.Setup(x => x.ReceiveAsAsync()) .ReturnsAsync(() => _mockMessage.Object) .Callback(() => { _tokenSource.Cancel(); }); }
//[Disable] public static void RunDLQ([ServiceBusTrigger("sent_transfer_connection_invitation", "RDS_SentTransferConnectionInvitiationProcessor/$DeadLetterQueue", AccessRights.Manage, Connection = "MessageBusConnectionString")] BrokeredMessage bMessage, ExecutionContext executionContext, TraceWriter log, [Inject] ITransferRelationshipService transferRelationshipMessageService, [Inject] ILog logger) { log.Info($"Processing messageId: {bMessage.MessageId} {{ID={executionContext.InvocationId}}}"); SentTransferConnectionInvitationEvent messageBody = null; try { messageBody = bMessage.GetBody <SentTransferConnectionInvitationEvent>(); } catch (Exception e) { log.Error($"Unable to deserialize message body for message queue sent_transfer_connection_invitation. messageId: {bMessage.MessageId} {{ID={executionContext.InvocationId}}}", e); bMessage.Defer(); } if (messageBody != null) { try { transferRelationshipMessageService.SaveSentMessage(messageBody); log.Info($"Processing Completed for messageId: {bMessage.MessageId} {{ID={executionContext.InvocationId}}}"); bMessage.Complete(); } catch (Exception e) { log.Error($"Unable to save message for queue sent_transfer_connection_invitation DLQ. messageId: {bMessage.MessageId} {{ID={executionContext.InvocationId}}}", e); bMessage.Defer(); } } }
public void AndIsATransferSentMessageThenSaveMessageDetails() { var sentMessage = new SentTransferConnectionInvitationEvent(); _transferRelationshipRepositoryMock.Setup(s => s.SaveTransferRelationship(It.IsAny <TransferRelationship>())).Returns(Task.FromResult(true)); _service.SaveSentMessage(sentMessage); _transferRelationshipRepositoryMock.Verify(v => v.SaveTransferRelationship(It.IsAny <TransferRelationship>())); }
public void SaveSentMessage(SentTransferConnectionInvitationEvent message) { var transferRelationship = new TransferRelationship() { SenderAccountId = message.SenderAccountId, ReceiverAccountId = message.ReceiverAccountId, RelationshipStatus = TransferRelationshipStatus.Pending, SenderUserId = message.SentByUserId }; _transferRelationshipRepository.SaveTransferRelationship(transferRelationship); }
public async Task ThenProcessandStoreMessage() { await base.SetupDatabase(); var message = new SentTransferConnectionInvitationEvent() { CreatedAt = DateTime.UtcNow, SenderAccountHashedId = "aabbcc16", SenderAccountId = 12345, SentByUserId = 98765, ReceiverAccountId = 54321 }; var logger = new TraceWriterStub(TraceLevel.Verbose); DAS.Data.Functions.Transfers.ProcessTransferRelationshipSentMessage.Run(message, null, logger, transferRelationshipService, log); // Assert.AreEqual(1, logger.Traces.Count); var databaseAsExpected = TestHelper.ConditionMet(IsDatabaseInExpectedState, TimeSpan.FromSeconds(60)); Assert.IsTrue(databaseAsExpected); }
//[Disable] public static void Run([ServiceBusTrigger("sent_transfer_connection_invitation", "RDS_SentTransferConnectionInvitiationProcessor", AccessRights.Manage, Connection = "MessageBusConnectionString")] SentTransferConnectionInvitationEvent message, ExecutionContext executionContext, TraceWriter log, [Inject] ITransferRelationshipService transferRelationshipMessageService, [Inject] ILog logger) { transferRelationshipMessageService.SaveSentMessage(message); logger.Info($"C# service bus trigger function executed at ProcessTransferRelationshipStartMessage: {DateTime.Now}"); }