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 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)); }