public async Task RpcInitializationService_Initializes_WorkerRuntime_NotSet_NoPlaceholder() { IRpcServer testRpcServer = new TestRpcServer(); var mockEnvironment = new Mock <IEnvironment>(); _rpcInitializationService = new RpcInitializationService(_optionsMonitor, mockEnvironment.Object, testRpcServer, _mockLanguageWorkerChannelManager.Object, _logger); _rpcInitializationService.AddSupportedRuntime(LanguageWorkerConstants.NodeLanguageWorkerName); await _rpcInitializationService.StartAsync(CancellationToken.None); _mockLanguageWorkerChannelManager.Verify(m => m.InitializeChannelAsync(LanguageWorkerConstants.JavaLanguageWorkerName), Times.Never); _mockLanguageWorkerChannelManager.Verify(m => m.InitializeChannelAsync(LanguageWorkerConstants.NodeLanguageWorkerName), Times.Never); Assert.Contains("testserver", testRpcServer.Uri.ToString()); await testRpcServer.ShutdownAsync(); }
public async Task RpcInitializationService_Initializes_RpcServerOnly_WorkerRuntime_Set_Python_NoPlaceHolderMode() { IRpcServer testRpcServer = new TestRpcServer(); var mockEnvironment = new Mock <IEnvironment>(); mockEnvironment.Setup(p => p.GetEnvironmentVariable(LanguageWorkerConstants.FunctionWorkerRuntimeSettingName)).Returns(LanguageWorkerConstants.PythonLanguageWorkerName); _rpcInitializationService = new RpcInitializationService(_optionsMonitor, mockEnvironment.Object, testRpcServer, _mockLanguageWorkerChannelManager.Object, _logger); await _rpcInitializationService.StartAsync(CancellationToken.None); _mockLanguageWorkerChannelManager.Verify(m => m.InitializeChannelAsync(LanguageWorkerConstants.PythonLanguageWorkerName), Times.Never); Assert.Contains("testserver", testRpcServer.Uri.ToString()); await testRpcServer.ShutdownAsync(); }
public async Task RpcInitializationService_LinuxAppService_Initializes_RpcServer() { IRpcServer testRpcServer = new TestRpcServer(); var mockEnvironment = new Mock <IEnvironment>(); mockEnvironment.Setup(p => p.GetEnvironmentVariable(EnvironmentSettingNames.FunctionsLogsMountPath)).Returns(@"d:\test"); mockEnvironment.Setup(p => p.GetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteInstanceId)).Returns("1234"); _rpcInitializationService = new RpcInitializationService(_optionsMonitor, mockEnvironment.Object, testRpcServer, _mockLanguageWorkerChannelManager.Object, _logger); await _rpcInitializationService.StartAsync(CancellationToken.None); _mockLanguageWorkerChannelManager.Verify(m => m.InitializeChannelAsync(LanguageWorkerConstants.JavaLanguageWorkerName), Times.Never); Assert.Contains("testserver", testRpcServer.Uri.ToString()); await testRpcServer.ShutdownAsync(); }
public async Task RpcInitializationService_Initializes_RpcServerAndChannels_PlaceHolderMode() { IRpcServer testRpcServer = new TestRpcServer(); var mockEnvironment = new Mock <IEnvironment>(); mockEnvironment.Setup(p => p.GetEnvironmentVariable(EnvironmentSettingNames.AzureWebsitePlaceholderMode)).Returns("1"); mockEnvironment.Setup(p => p.GetEnvironmentVariable(LanguageWorkerConstants.FunctionWorkerRuntimeSettingName)).Returns(string.Empty); _rpcInitializationService = new RpcInitializationService(_optionsMonitor, mockEnvironment.Object, testRpcServer, _mockLanguageWorkerChannelManager.Object, _loggerFactory); await _rpcInitializationService.StartAsync(CancellationToken.None); _mockLanguageWorkerChannelManager.Verify(m => m.InitializeChannelAsync(LanguageWorkerConstants.JavaLanguageWorkerName), Times.Once); Assert.Contains("testserver", testRpcServer.Uri.ToString()); await testRpcServer.ShutdownAsync(); }
public async Task RpcInitializationService_AppOffline() { IRpcServer testRpcServer = new TestRpcServer(); var mockEnvironment = new Mock <IEnvironment>(); string offlineFilePath = null; try { offlineFilePath = TestHelpers.CreateOfflineFile(); _rpcInitializationService = new RpcInitializationService(_optionsMonitor, mockEnvironment.Object, testRpcServer, _mockLanguageWorkerChannelManager.Object, _logger); await _rpcInitializationService.StartAsync(CancellationToken.None); _mockLanguageWorkerChannelManager.Verify(m => m.InitializeChannelAsync(LanguageWorkerConstants.JavaLanguageWorkerName), Times.Never); Assert.DoesNotContain("testserver", testRpcServer.Uri.ToString()); await testRpcServer.ShutdownAsync(); } finally { TestHelpers.DeleteTestFile(offlineFilePath); } }