public void JavaPath_JavaHome_Set() { var configBuilder = ScriptSettingsManager.CreateDefaultConfigurationBuilder() .AddInMemoryCollection(new Dictionary <string, string> { ["languageWorker"] = "test" }); var config = configBuilder.Build(); var scriptSettingsManager = new ScriptSettingsManager(config); var testLogger = new TestLogger("test"); var configFactory = new RpcWorkerConfigFactory(config, testLogger, _testSysRuntimeInfo, _testEnvironment, new TestMetricsLogger()); var testEnvVariables = new Dictionary <string, string> { { "JAVA_HOME", @"D:\Program Files\Java\jdk1.7.0_51" } }; using (var variables = new TestScopedSettings(scriptSettingsManager, testEnvVariables)) { var javaPath = configFactory.GetExecutablePathForJava("java"); Assert.Equal(@"D:\Program Files\Java\jdk1.7.0_51\bin\java", javaPath); } }
public void AddArgumentsFromAppSettings_JavaOpts(string expectedArgument, string javaOpts) { WorkerDescription workerDescription = new WorkerDescription() { Arguments = new List <string>() { "-jar" }, DefaultExecutablePath = "java", DefaultWorkerPath = "javaworker.jar", Extensions = new List <string>() { ".jar" }, Language = "java" }; var configBuilder = ScriptSettingsManager.CreateDefaultConfigurationBuilder() .AddInMemoryCollection(new Dictionary <string, string> { ["languageWorker"] = "test", ["languageWorkers:java:arguments"] = "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005" }); var config = configBuilder.Build(); var scriptSettingsManager = new ScriptSettingsManager(config); var testLogger = new TestLogger("test"); var configFactory = new WorkerConfigFactory(config, testLogger); var languageSection = config.GetSection("languageWorkers:java"); var testEnvVariables = new Dictionary <string, string> { { "JAVA_OPTS", javaOpts } }; using (var variables = new TestScopedSettings(scriptSettingsManager, testEnvVariables)) { WorkerConfigFactory.AddArgumentsFromAppSettings(workerDescription, languageSection); Assert.Equal(2, workerDescription.Arguments.Count); Assert.Equal(expectedArgument, workerDescription.Arguments[1]); } }
public void JavaPath_JavaHome_NotSet() { var configBuilder = ScriptSettingsManager.CreateDefaultConfigurationBuilder() .AddInMemoryCollection(new Dictionary <string, string> { ["languageWorker"] = "test" }); var config = configBuilder.Build(); var scriptSettingsManager = new ScriptSettingsManager(config); var testLogger = new TestLogger("test"); var configFactory = new WorkerConfigFactory(config, testLogger); var testEnvVariables = new Dictionary <string, string> { { "JAVA_HOME", string.Empty } }; using (var variables = new TestScopedSettings(scriptSettingsManager, testEnvVariables)) { var javaPath = configFactory.GetExecutablePathForJava("java"); Assert.Equal("java", javaPath); } }
public void ReadKeyValue_CanRead_WrittenKey() { var converter = new DataProtectionKeyValueConverter(FileAccess.ReadWrite); string keyId = Guid.NewGuid().ToString(); using (var variables = new TestScopedSettings(_settingsManager, AzureWebsiteLocalEncryptionKey, "0F75CA46E7EBDD39E4CA6B074D1F9A5972B849A55F91A248")) { // Create our test input key var testInputKey = new Key { Name = "Test", Value = "Test secret value" }; // Encrypt the key var resultKey = converter.WriteValue(testInputKey); // Decrypt the encrypted key Key decryptedSecret = converter.ReadValue(resultKey); Assert.Equal(testInputKey.Value, decryptedSecret.Value); } }
private IEnumerable <RpcWorkerConfig> TestReadWorkerProviderFromConfig(IEnumerable <TestRpcWorkerConfig> configs, ILogger testLogger, TestMetricsLogger testMetricsLogger, string language = null, Dictionary <string, string> keyValuePairs = null, bool appSvcEnv = false) { Mock <IEnvironment> mockEnvironment = new Mock <IEnvironment>(); var workerPathSection = $"{RpcWorkerConstants.LanguageWorkersSectionName}:{WorkerConstants.WorkersDirectorySectionName}"; try { foreach (var workerConfig in configs) { RpcWorkerConfigTestUtilities.CreateWorkerFolder(rootPath, workerConfig); } IConfigurationRoot config = TestConfigBuilder(workerPathSection, keyValuePairs); var scriptHostOptions = new ScriptJobHostOptions(); var scriptSettingsManager = new ScriptSettingsManager(config); var configFactory = new RpcWorkerConfigFactory(config, testLogger, _testSysRuntimeInfo, _testEnvironment, testMetricsLogger); if (appSvcEnv) { var testEnvVariables = new Dictionary <string, string> { { EnvironmentSettingNames.AzureWebsiteInstanceId, "123" }, }; using (var variables = new TestScopedSettings(scriptSettingsManager, testEnvVariables)) { configFactory.BuildWorkerProviderDictionary(); return(configFactory.GetConfigs()); } } configFactory.BuildWorkerProviderDictionary(); return(configFactory.GetConfigs()); } finally { RpcWorkerConfigTestUtilities.DeleteTestDir(rootPath); RpcWorkerConfigTestUtilities.DeleteTestDir(customRootPath); } }
public void JavaPath_AppServiceEnv() { var configBuilder = ScriptSettingsManager.CreateDefaultConfigurationBuilder() .AddInMemoryCollection(new Dictionary <string, string> { ["languageWorker"] = "test" }); var config = configBuilder.Build(); var scriptSettingsManager = new ScriptSettingsManager(config); var testLogger = new TestLogger("test"); var configFactory = new WorkerConfigFactory(config, testLogger); var testEnvVariables = new Dictionary <string, string> { { EnvironmentSettingNames.AzureWebsiteInstanceId, "123" }, { "JAVA_HOME", @"D:\Program Files\Java\jdk1.7.0_51" } }; using (var variables = new TestScopedSettings(scriptSettingsManager, testEnvVariables)) { var javaPath = configFactory.GetExecutablePathForJava("../../zulu8.23.0.3-jdk8.0.144-win_x64/bin/java"); Assert.Equal(@"D:\Program Files\Java\zulu8.23.0.3-jdk8.0.144-win_x64\bin\java", javaPath); } }