public async Task Given_PeekMasterData_WhenBundleIdIsPresentInQuery_ShouldSetBundleIdHeader() { // Arrange var bundleId = Guid.NewGuid().ToString("N"); Uri path = new($"https://localhost?{Constants.BundleIdQueryName}={bundleId}"); var request = MockHelpers.CreateHttpRequestData(url: path); var mediator = new Mock <IMediator>(); mediator.Setup(p => p.Send(It.IsAny <PeekMasterDataCommand>(), default)).ReturnsAsync(new PeekResponse(false, bundleId, Stream.Null, Enumerable.Empty <string>())); var identifier = new MockedMarketOperatorIdentity("fake_value"); // Act var sut = new PeekMasterDataFunction( mediator.Object, identifier, new Mock <IFeatureFlags>().Object, new ExternalBundleIdProvider()); var response = await sut.RunAsync(request).ConfigureAwait(false); // Assert response.Headers.Should() .ContainSingle(header => header.Key.Equals(Constants.BundleIdHeaderName, StringComparison.Ordinal) && header.Value.Single().Equals(bundleId, StringComparison.Ordinal)); }
public void Given_Request_When_BundleIdIsNotInQuery_Then_NullIsReturned() { Uri uri = new($"https://localhost/"); var request = MockHelpers.CreateHttpRequestData(url: uri); var sut = new ExternalBundleIdProvider(); var actualId = sut.TryGetBundleId(request); actualId.Should().BeNull(); }
public void Given_Request_When_BundleIdIsPresent_Then_ItIsReturned() { // Arrange var expectedBundleId = Guid.NewGuid().ToString("N"); Uri uri = new($"https://localhost/?{Constants.BundleIdQueryName}={expectedBundleId}"); var request = MockHelpers.CreateHttpRequestData(url: uri); // Act var sut = new ExternalBundleIdProvider(); var actualId = sut.TryGetBundleId(request); // Assert actualId.Should().Be(expectedBundleId); }