public void RefreshMiddlewareTests_MiddlewareConstructorRetrievesMultipleIConfigurationRefreshers()
        {
            // Arrange
            IConfigurationRefresher[] refreshers = { new AzureAppConfigurationRefresher(), new AzureAppConfigurationRefresher() };
            var mockRefresherProvider            = new Mock <IConfigurationRefresherProvider>(MockBehavior.Strict);

            mockRefresherProvider.SetupGet(provider => provider.Refreshers).Returns(refreshers);
            var delegateMock = new Mock <RequestDelegate>();

            // Act
            var middleware = new AzureAppConfigurationRefreshMiddleware(delegateMock.Object, mockRefresherProvider.Object);

            // Assert
            Assert.NotNull(middleware.Refreshers);
            Assert.Equal(2, middleware.Refreshers.Count());
        }
Example #2
0
        public void RefreshMiddlewareTests_MiddlewareConstructorParsesIConfigurationRefresher()
        {
            // Arrange
            var mockResponse = new Mock <Response>();
            var mockClient   = new Mock <ConfigurationClient>(MockBehavior.Strict, CreateMockEndpointString());

            mockClient.Setup(c => c.GetConfigurationSettingsAsync(It.IsAny <SettingSelector>(), It.IsAny <CancellationToken>()))
            .Returns(new MockAsyncPageable(_kvCollection));

            var delegateMock  = new Mock <RequestDelegate>();
            var configuration = new ConfigurationBuilder()
                                .AddAzureAppConfiguration(options => options.Client = mockClient.Object)
                                .Build();

            // Act
            var middleware = new AzureAppConfigurationRefreshMiddleware(delegateMock.Object, configuration);

            // Assert
            Assert.NotNull(middleware.Refreshers);
            Assert.Equal(1, middleware.Refreshers.Count);
        }
Example #3
0
        public void RefreshMiddlewareTests_MiddlewareConstructorRetrievesMultipleIConfigurationRefreshers()
        {
            // Arrange
            var mockRefresher = new Mock <IConfigurationRefresher>(MockBehavior.Strict);

            mockRefresher.Setup(provider => provider.TryRefreshAsync(It.IsAny <CancellationToken>())).ReturnsAsync(true);

            var mockRefresherProvider = new Mock <IConfigurationRefresherProvider>(MockBehavior.Strict);

            mockRefresherProvider.SetupGet(provider => provider.Refreshers).Returns(new IConfigurationRefresher[] { mockRefresher.Object, mockRefresher.Object });

            var mockContext = new Mock <FunctionContext>();
            var mockFunctionExecutionDelegate = new Mock <FunctionExecutionDelegate>();

            // Act
            var middleware = new AzureAppConfigurationRefreshMiddleware(mockRefresherProvider.Object);

            _ = middleware.Invoke(mockContext.Object, mockFunctionExecutionDelegate.Object);

            // Assert
            mockRefresher.Verify(refresher => refresher.TryRefreshAsync(It.IsAny <CancellationToken>()), Times.Exactly(2));
        }