示例#1
0
        public async Task Specialize_ResetsConfiguration()
        {
            var manager = new StandbyManager(_mockHostManager.Object, _mockLanguageWorkerChannelManager.Object, _mockConfiguration.Object, _mockWebHostEnvironment.Object, _testEnvironment, _mockOptionsMonitor.Object, NullLogger <StandbyManager> .Instance);

            await manager.SpecializeHostAsync();

            _mockConfiguration.Verify(c => c.Reload());
        }
        public async Task Specialize_ResetsConfiguration()
        {
            var hostNameProvider = new HostNameProvider(_testEnvironment, _testLoggerFactory.CreateLogger <HostNameProvider>());
            var manager          = new StandbyManager(_mockHostManager.Object, _mockLanguageWorkerChannelManager.Object, _mockConfiguration.Object, _mockWebHostEnvironment.Object, _testEnvironment, _mockOptionsMonitor.Object, NullLogger <StandbyManager> .Instance, hostNameProvider, _mockApplicationLifetime.Object);

            await manager.SpecializeHostAsync();

            _mockConfiguration.Verify(c => c.Reload());
        }
        public void SpecializeHost()
        {
            var mockScriptWebHostEnvironment            = new Mock <IScriptWebHostEnvironment>();
            Mock <IConfigurationRoot> mockConfiguration = new Mock <IConfigurationRoot>();
            var mockEnvironment = new Mock <IEnvironment>();
            Mock <ILanguageWorkerChannelManager> mockLanguageWorkerChannelManager = new Mock <ILanguageWorkerChannelManager>();
            ILogger <StandbyManager>             testLogger = new Logger <StandbyManager>(_loggerFactory);
            var manager = new StandbyManager(_hostService, mockLanguageWorkerChannelManager.Object, mockConfiguration.Object, mockScriptWebHostEnvironment.Object, mockEnvironment.Object, _monitor, testLogger);

            manager.SpecializeHostAsync().Wait();
        }
        public async Task Specialize_ResetsConfiguration()
        {
            TestMetricsLogger metricsLogger = new TestMetricsLogger();
            var hostNameProvider            = new HostNameProvider(_testEnvironment);
            var manager = new StandbyManager(_mockHostManager.Object, _mockLanguageWorkerChannelManager.Object, _mockConfiguration.Object, _mockWebHostEnvironment.Object, _testEnvironment, _mockOptionsMonitor.Object, NullLogger <StandbyManager> .Instance, hostNameProvider, _mockApplicationLifetime.Object, metricsLogger);

            await manager.SpecializeHostAsync();

            // Ensure metrics are generated
            Assert.True(AreExpectedMetricsGenerated(metricsLogger));

            _mockConfiguration.Verify(c => c.Reload());
        }
示例#5
0
        public async Task Specialize_ReloadsEnvironmentVariables()
        {
            _testEnvironment.SetEnvironmentVariable(LanguageWorkerConstants.FunctionWorkerRuntimeSettingName, LanguageWorkerConstants.JavaLanguageWorkerName);
            _mockLanguageWorkerChannelManager.Setup(m => m.SpecializeAsync()).Returns(async() =>
            {
                _testEnvironment.SetEnvironmentVariable(_testSettingName, _testSettingValue);
                await Task.Yield();
            });
            _testEnvironment.SetEnvironmentVariable(LanguageWorkerConstants.FunctionWorkerRuntimeSettingName, LanguageWorkerConstants.JavaLanguageWorkerName);
            var manager = new StandbyManager(_mockHostManager.Object, _mockLanguageWorkerChannelManager.Object, _mockConfiguration.Object, _mockWebHostEnvironment.Object, _testEnvironment, _mockOptionsMonitor.Object, NullLogger <StandbyManager> .Instance);
            await manager.SpecializeHostAsync();

            Assert.Equal(_testSettingValue, _testEnvironment.GetEnvironmentVariable(_testSettingName));
        }
        public void SpecializeHost()
        {
            var mockScriptWebHostEnvironment            = new Mock <IScriptWebHostEnvironment>();
            Mock <IConfigurationRoot> mockConfiguration = new Mock <IConfigurationRoot>();
            var mockEnvironment = new Mock <IEnvironment>();
            Mock <IWebHostLanguageWorkerChannelManager> mockLanguageWorkerChannelManager = new Mock <IWebHostLanguageWorkerChannelManager>();
            ILogger <StandbyManager> testLogger = new Logger <StandbyManager>(_loggerFactory);
            var loggerProvider = new TestLoggerProvider();
            var loggerFactory  = new LoggerFactory();

            loggerFactory.AddProvider(loggerProvider);
            var hostNameProvider = new HostNameProvider(mockEnvironment.Object, loggerFactory.CreateLogger <HostNameProvider>());
            var manager          = new StandbyManager(_hostService, mockLanguageWorkerChannelManager.Object, mockConfiguration.Object, mockScriptWebHostEnvironment.Object, mockEnvironment.Object, _monitor, testLogger, hostNameProvider);

            manager.SpecializeHostAsync().Wait();
        }
        public async Task Specialize_ResetsHostNameProvider()
        {
            _testEnvironment.SetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteHostName, "placeholder.azurewebsites.net");

            var hostNameProvider = new HostNameProvider(_testEnvironment, _testLoggerFactory.CreateLogger <HostNameProvider>());
            var manager          = new StandbyManager(_mockHostManager.Object, _mockLanguageWorkerChannelManager.Object, _mockConfiguration.Object, _mockWebHostEnvironment.Object, _testEnvironment, _mockOptionsMonitor.Object, NullLogger <StandbyManager> .Instance, hostNameProvider, _mockApplicationLifetime.Object);

            Assert.Equal("placeholder.azurewebsites.net", hostNameProvider.Value);

            await manager.SpecializeHostAsync();

            _testEnvironment.SetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteHostName, "testapp.azurewebsites.net");
            Assert.Equal("testapp.azurewebsites.net", hostNameProvider.Value);

            _mockConfiguration.Verify(c => c.Reload());
        }
        public void SpecializeHost()
        {
            var mockScriptWebHostEnvironment            = new Mock <IScriptWebHostEnvironment>();
            Mock <IConfigurationRoot> mockConfiguration = new Mock <IConfigurationRoot>();
            var mockEnvironment = new Mock <IEnvironment>();
            Mock <IWebHostRpcWorkerChannelManager> mockLanguageWorkerChannelManager = new Mock <IWebHostRpcWorkerChannelManager>();
            ILogger <StandbyManager> testLogger = new Logger <StandbyManager>(_loggerFactory);
            var loggerProvider = new TestLoggerProvider();
            var loggerFactory  = new LoggerFactory();

            loggerFactory.AddProvider(loggerProvider);
            var hostNameProvider        = new HostNameProvider(mockEnvironment.Object);
            var mockApplicationLifetime = new Mock <Microsoft.AspNetCore.Hosting.IApplicationLifetime>(MockBehavior.Strict);
            var manager = new StandbyManager(_hostService, mockLanguageWorkerChannelManager.Object, mockConfiguration.Object, mockScriptWebHostEnvironment.Object, mockEnvironment.Object, _monitor, testLogger, hostNameProvider, mockApplicationLifetime.Object, new TestMetricsLogger());

            manager.SpecializeHostAsync().Wait();
        }
        public async Task Specialize_ResetsConfiguration()
        {
            var mockHostManager = new Mock <IScriptHostManager>();

            mockHostManager.Setup(m => m.State)
            .Returns(ScriptHostState.Running);

            var mockConfiguration      = new Mock <IConfigurationRoot>();
            var mockOptionsMonitor     = new Mock <IOptionsMonitor <ScriptApplicationHostOptions> >();
            var mockWebHostEnvironment = new Mock <IScriptWebHostEnvironment>();
            var mockEnvironment        = new TestEnvironment();

            var manager = new StandbyManager(mockHostManager.Object, mockConfiguration.Object, mockWebHostEnvironment.Object, mockEnvironment, mockOptionsMonitor.Object, NullLogger <StandbyManager> .Instance);

            await manager.SpecializeHostAsync();

            mockConfiguration.Verify(c => c.Reload());
        }
        public async Task Specialize_ReloadsEnvironmentVariables()
        {
            TestMetricsLogger metricsLogger = new TestMetricsLogger();

            _testEnvironment.SetEnvironmentVariable(RpcWorkerConstants.FunctionWorkerRuntimeSettingName, RpcWorkerConstants.JavaLanguageWorkerName);
            _mockLanguageWorkerChannelManager.Setup(m => m.SpecializeAsync()).Returns(async() =>
            {
                _testEnvironment.SetEnvironmentVariable(_testSettingName, _testSettingValue);
                await Task.Yield();
            });
            _testEnvironment.SetEnvironmentVariable(RpcWorkerConstants.FunctionWorkerRuntimeSettingName, RpcWorkerConstants.JavaLanguageWorkerName);

            var hostNameProvider = new HostNameProvider(_testEnvironment);
            var manager          = new StandbyManager(_mockHostManager.Object, _mockLanguageWorkerChannelManager.Object, _mockConfiguration.Object, _mockWebHostEnvironment.Object, _testEnvironment, _mockOptionsMonitor.Object, NullLogger <StandbyManager> .Instance, hostNameProvider, _mockApplicationLifetime.Object, metricsLogger);
            await manager.SpecializeHostAsync();

            // Ensure metrics are generated
            Assert.True(AreExpectedMetricsGenerated(metricsLogger));

            Assert.Equal(_testSettingValue, _testEnvironment.GetEnvironmentVariable(_testSettingName));
        }