|
5 | 5 | using System.Collections.Generic;
|
6 | 6 | using System.IO;
|
7 | 7 | using System.Linq;
|
8 |
| -using System.Runtime.InteropServices; |
9 | 8 | using Microsoft.Azure.WebJobs.Script.Config;
|
10 | 9 | using Microsoft.Azure.WebJobs.Script.Workers;
|
11 | 10 | using Microsoft.Azure.WebJobs.Script.Workers.Rpc;
|
12 | 11 | using Microsoft.Extensions.Configuration;
|
13 |
| -using Moq; |
14 | 12 | using Xunit;
|
15 | 13 |
|
16 | 14 | namespace Microsoft.Azure.WebJobs.Script.Tests.Workers.Rpc
|
@@ -106,29 +104,47 @@ public void JavaPath_FromEnvVars()
|
106 | 104 | [Fact]
|
107 | 105 | public void DefaultWorkerConfigs_Overrides_DefaultWorkerRuntimeVersion_AppSetting()
|
108 | 106 | {
|
109 |
| - var configBuilder = ScriptSettingsManager.CreateDefaultConfigurationBuilder() |
110 |
| - .AddInMemoryCollection(new Dictionary<string, string> |
111 |
| - { |
112 |
| - ["languageWorkers:python:defaultRuntimeVersion"] = "3.8" |
113 |
| - }); |
114 |
| - var config = configBuilder.Build(); |
115 |
| - var scriptSettingsManager = new ScriptSettingsManager(config); |
116 |
| - var testLogger = new TestLogger("test"); |
117 | 107 | var testEnvVariables = new Dictionary<string, string>
|
118 | 108 | {
|
119 | 109 | { "languageWorkers:python:defaultRuntimeVersion", "3.8" }
|
120 | 110 | };
|
| 111 | + var configBuilder = ScriptSettingsManager.CreateDefaultConfigurationBuilder() |
| 112 | + .AddInMemoryCollection(testEnvVariables); |
| 113 | + var config = configBuilder.Build(); |
| 114 | + var scriptSettingsManager = new ScriptSettingsManager(config); |
| 115 | + var testLogger = new TestLogger("test"); |
121 | 116 | using (var variables = new TestScopedSettings(scriptSettingsManager, testEnvVariables))
|
122 | 117 | {
|
123 | 118 | var configFactory = new RpcWorkerConfigFactory(config, testLogger, _testSysRuntimeInfo, _testEnvironment, new TestMetricsLogger());
|
124 | 119 | var workerConfigs = configFactory.GetConfigs();
|
125 | 120 | var pythonWorkerConfig = workerConfigs.Where(w => w.Description.Language.Equals("python", StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
|
| 121 | + var powershellWorkerConfig = workerConfigs.Where(w => w.Description.Language.Equals("powershell", StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); |
126 | 122 | Assert.Equal(4, workerConfigs.Count);
|
127 | 123 | Assert.NotNull(pythonWorkerConfig);
|
| 124 | + Assert.NotNull(powershellWorkerConfig); |
128 | 125 | Assert.Equal("3.8", pythonWorkerConfig.Description.DefaultRuntimeVersion);
|
| 126 | + Assert.Equal("6", powershellWorkerConfig.Description.DefaultRuntimeVersion); |
129 | 127 | }
|
130 | 128 | }
|
131 | 129 |
|
| 130 | + [Fact] |
| 131 | + public void DefaultWorkerConfigs_Overrides_VersionAppSetting() |
| 132 | + { |
| 133 | + var testEnvironment = new TestEnvironment(); |
| 134 | + testEnvironment.SetEnvironmentVariable("FUNCTIONS_WORKER_RUNTIME_VERSION", "7.0"); |
| 135 | + testEnvironment.SetEnvironmentVariable("FUNCTIONS_WORKER_RUNTIME", "powerShell"); |
| 136 | + var configBuilder = ScriptSettingsManager.CreateDefaultConfigurationBuilder(); |
| 137 | + var config = configBuilder.Build(); |
| 138 | + var scriptSettingsManager = new ScriptSettingsManager(config); |
| 139 | + var testLogger = new TestLogger("test"); |
| 140 | + var configFactory = new RpcWorkerConfigFactory(config, testLogger, _testSysRuntimeInfo, testEnvironment, new TestMetricsLogger()); |
| 141 | + var workerConfigs = configFactory.GetConfigs(); |
| 142 | + var powershellWorkerConfig = workerConfigs.Where(w => w.Description.Language.Equals("powershell", StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); |
| 143 | + Assert.Equal(1, workerConfigs.Count); |
| 144 | + Assert.NotNull(powershellWorkerConfig); |
| 145 | + Assert.Equal("7", powershellWorkerConfig.Description.DefaultRuntimeVersion); |
| 146 | + } |
| 147 | + |
132 | 148 | [Theory]
|
133 | 149 | [InlineData("python", "Python", false, true)]
|
134 | 150 | [InlineData("python", "NOde", false, false)]
|
|
0 commit comments