Пример #1
0
        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, _loggerFactory);
            _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());
        }
Пример #2
0
        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, _loggerFactory);
            await _rpcInitializationService.StartAsync(CancellationToken.None);

            _mockLanguageWorkerChannelManager.Verify(m => m.InitializeChannelAsync(LanguageWorkerConstants.JavaLanguageWorkerName), Times.Never);
            Assert.Contains("testserver", testRpcServer.Uri.ToString());
        }
Пример #3
0
        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());
        }
Пример #4
0
        public async Task RpcInitializationService_Initializes_WorkerRuntime_Set()
        {
            IRpcServer testRpcServer   = new TestRpcServer();
            var        mockEnvironment = new Mock <IEnvironment>();

            mockEnvironment.Setup(p => p.GetEnvironmentVariable(LanguageWorkerConstants.FunctionWorkerRuntimeSettingName)).Returns(LanguageWorkerConstants.NodeLanguageWorkerName);

            _rpcInitializationService = new RpcInitializationService(_optionsMonitor, mockEnvironment.Object, testRpcServer, _mockLanguageWorkerChannelManager.Object, _loggerFactory);
            _rpcInitializationService.AddSupportedRuntime(LanguageWorkerConstants.NodeLanguageWorkerName);
            await _rpcInitializationService.StartAsync(CancellationToken.None);

            _mockLanguageWorkerChannelManager.Verify(m => m.InitializeChannelAsync(LanguageWorkerConstants.NodeLanguageWorkerName), Times.Once);
            Assert.Contains("testserver", testRpcServer.Uri.ToString());
        }
Пример #5
0
        public async Task RpcInitializationService_LinuxConsumption_Initializes_RpcServer()
        {
            IRpcServer testRpcServer   = new TestRpcServer();
            var        mockEnvironment = new Mock <IEnvironment>();

            mockEnvironment.Setup(p => p.GetEnvironmentVariable(EnvironmentSettingNames.ContainerName)).Returns("testContainer");
            mockEnvironment.Setup(p => p.GetEnvironmentVariable(LanguageWorkerConstants.FunctionWorkerRuntimeSettingName)).Returns("java");

            _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();
        }
Пример #6
0
        public async Task RpcInitializationService_AppOffline()
        {
            IRpcServer testRpcServer   = new TestRpcServer();
            var        mockEnvironment = new Mock <IEnvironment>();
            var        offlineFilePath = TestHelpers.CreateOfflineFile(_rootPath);

            try
            {
                _rpcInitializationService = new RpcInitializationService(_optionsMonitor, mockEnvironment.Object, testRpcServer, _mockLanguageWorkerChannelManager.Object, _loggerFactory);
                await _rpcInitializationService.StartAsync(CancellationToken.None);

                _mockLanguageWorkerChannelManager.Verify(m => m.InitializeChannelAsync(LanguageWorkerConstants.JavaLanguageWorkerName), Times.Never);
                Assert.DoesNotContain("testserver", testRpcServer.Uri.ToString());
            }
            finally
            {
                DeleteTestFile(offlineFilePath);
            }
        }
Пример #7
0
        public LanguageWorkerProcessTests()
        {
            _eventManager = new Mock <IScriptEventManager>();
            var workerProcessFactory           = new Mock <IWorkerProcessFactory>();
            var processRegistry                = new Mock <IProcessRegistry>();
            var rpcServer                      = new TestRpcServer();
            var languageWorkerConsoleLogSource = new Mock <ILanguageWorkerConsoleLogSource>();
            var scriptJobHostEnvironment       = new Mock <IScriptJobHostEnvironment>();
            var testEnv = new TestEnvironment();

            _languageWorkerProcess = new LanguageWorkerProcess("node",
                                                               "testworkerId",
                                                               "testrootPath",
                                                               rpcServer.Uri,
                                                               null,
                                                               _eventManager.Object,
                                                               workerProcessFactory.Object,
                                                               processRegistry.Object,
                                                               new TestLogger("test"),
                                                               languageWorkerConsoleLogSource.Object);
        }