private async Task <DataBundleResponseDto> CreateSuccessResponseAsync( DataBundleRequestDto requestDto, IEnumerable <Guid> dataAvailableNotificationGuids) { var resourceUrl = await SaveDataToBlobStorageAsync(requestDto, dataAvailableNotificationGuids).ConfigureAwait(false); return(requestDto.CreateResponse(new Uri(resourceUrl.AbsoluteUri))); }
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 void CreateResponse_ReturnsResponse() { // arrange var requestId = Guid.Parse("BCDFAF35-B914-488E-A8FB-C41FC377097D"); var uri = new Uri("http://localhost"); var request = new DataBundleRequestDto( requestId, "C141D536-170F-48A6-92FC-EA0D79D2F7E0", "D5D400AD-CC11-409A-B757-75EB9AA8B0EA", new MessageTypeDto("message_type")); // act var actual = request.CreateResponse(uri); // assert Assert.Equal(requestId, actual.RequestId); Assert.Equal(uri, actual.ContentUri); }
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); }