public async Task SendAsync_NullDto_ThrowsException() { // Arrange var serviceBusSenderMock = new Mock <ServiceBusSender>(); var serviceBusSessionReceiverMock = new Mock <ServiceBusSessionReceiver>(); await using var mockedServiceBusClient = new MockedServiceBusClient( string.Empty, string.Empty, serviceBusSenderMock.Object, serviceBusSessionReceiverMock.Object); var serviceBusClientFactory = new Mock <IServiceBusClientFactory>(); serviceBusClientFactory.Setup(x => x.Create()).Returns(mockedServiceBusClient); await using var messageBusFactory = new AzureServiceBusFactory(serviceBusClientFactory.Object); var config = new MessageHubConfig("fake_value", "fake_value"); var target = new DataBundleResponseSender( new ResponseBundleParser(), messageBusFactory, config); // Act + Assert await Assert .ThrowsAsync <ArgumentNullException>(() => target.SendAsync(null !)) .ConfigureAwait(false); }
public async Task SendAsync_ValidInput_AddsCorrectIntegrationEvents() { // Arrange var serviceBusSenderMock = new Mock <ServiceBusSender>(); var serviceBusSessionReceiverMock = new Mock <ServiceBusSessionReceiver>(); const string sbqTimeseriesReply = "sbq-TimeSeries-reply"; await using var mockedServiceBusClient = new MockedServiceBusClient( sbqTimeseriesReply, string.Empty, serviceBusSenderMock.Object, serviceBusSessionReceiverMock.Object); var serviceBusClientFactory = new Mock <IServiceBusClientFactory>(); serviceBusClientFactory.Setup(x => x.Create()).Returns(mockedServiceBusClient); await using var messageBusFactory = new AzureServiceBusFactory(serviceBusClientFactory.Object); var config = new MessageHubConfig("fake_value", sbqTimeseriesReply); // ServiceBusMessage var target = new DataBundleResponseSender( new ResponseBundleParser(), messageBusFactory, config); var requestMock = new DataBundleRequestDto( Guid.NewGuid(), "A9D032EB-4AAC-44F3-BE1C-8584B8533875", "42D509CB-1D93-430D-A2D4-7DBB9AE56771", new MessageTypeDto("80BB9BB8-CDE8-4C77-BE76-FDC886FD75A3")); var response = requestMock.CreateResponse(new Uri("https://test.dk/test")); // Act await target.SendAsync(response).ConfigureAwait(false); // Assert serviceBusSenderMock.Verify( x => x.SendMessageAsync( It.Is <ServiceBusMessage>( message => message.ApplicationProperties.ContainsKey("OperationTimestamp") && message.ApplicationProperties.ContainsKey("OperationCorrelationId") && message.ApplicationProperties.ContainsKey("MessageVersion") && message.ApplicationProperties.ContainsKey("MessageType") && message.ApplicationProperties.ContainsKey("EventIdentification")), default), Times.Once); }
public async Task SendAsync_ValidInput_SendsMessage() { // Arrange const string queueName = "sbq-MeteringPoints-reply"; var serviceBusSenderMock = new Mock <ServiceBusSender>(); var serviceBusSessionReceiverMock = new Mock <ServiceBusSessionReceiver>(); await using var mockedServiceBusClient = new MockedServiceBusClient( queueName, string.Empty, serviceBusSenderMock.Object, serviceBusSessionReceiverMock.Object); var serviceBusClientFactory = new Mock <IServiceBusClientFactory>(); serviceBusClientFactory.Setup(x => x.Create()).Returns(mockedServiceBusClient); await using var messageBusFactory = new AzureServiceBusFactory(serviceBusClientFactory.Object); var config = new MessageHubConfig("fake_value", queueName); var target = new DataBundleResponseSender( new ResponseBundleParser(), messageBusFactory, config); var requestMock = new DataBundleRequestDto( Guid.NewGuid(), "F3DE0389-AC26-4461-A11B-61077BF0CA32", "7E9D048D-F0D8-476D-8739-AAA83284C9C6", new MessageTypeDto("80BB9BB8-CDE8-4C77-BE76-FDC886FD75A3")); var response = requestMock.CreateResponse(new Uri("https://test.dk/test")); // Act await target.SendAsync(response).ConfigureAwait(false); // Assert serviceBusSenderMock.Verify(x => x.SendMessageAsync(It.IsAny <ServiceBusMessage>(), default), Times.Once); }