public void ReturnsExpectedConfig(string config, int configCount) { using (TempDirectory tempDir = new TempDirectory()) { string fileName = Path.Combine(tempDir.Path, "settings.txt"); File.WriteAllText(fileName, config); FunctionsHostingConfiguration conf = new FunctionsHostingConfiguration(_environment, _loggerFactory, fileName, DateTime.Now.AddMilliseconds(1), TimeSpan.FromMilliseconds(100)); conf.GetValue("test"); // to run Parse Assert.True(conf.Config.Count == configCount); } }
public void ParsesConfig() { using (TempDirectory tempDir = new TempDirectory()) { string fileName = Path.Combine(tempDir.Path, "settings.txt"); File.WriteAllText(fileName, "ENABLE_FEATUREX=1,A=B,TimeOut=123"); FunctionsHostingConfiguration conf = new FunctionsHostingConfiguration(_environment, _loggerFactory, fileName, DateTime.Now.AddMilliseconds(1), TimeSpan.FromMilliseconds(100)); conf.GetValue("test"); // to run Parse Assert.Equal(3, conf.Config.Count); Assert.Equal("1", conf.GetValue("ENABLE_FEATUREX")); Assert.Equal("B", conf.GetValue("A")); Assert.Equal("123", conf.GetValue("TimeOut")); } }
public void FunctionsWorkerDynamicConcurrencyEnabled_ReturnsExpected(string config, string siteName, bool isEnabled) { TestEnvironment environment = new TestEnvironment(); if (!string.IsNullOrEmpty(siteName)) { environment.SetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteName, siteName); } using (TempDirectory tempDir = new TempDirectory()) { string fileName = Path.Combine(tempDir.Path, "settings.txt"); File.WriteAllText(fileName, config); FunctionsHostingConfiguration conf = new FunctionsHostingConfiguration(environment, _loggerFactory, fileName, DateTime.Now.AddMilliseconds(1), TimeSpan.FromMilliseconds(100)); conf.GetValue("test"); // to run Parse Assert.Equal(conf.FunctionsWorkerDynamicConcurrencyEnabled, isEnabled); } }
public async Task FunctionsWorkerDynamicConcurrencyEnabled_UpdatesSettings() { using (TempDirectory tempDir = new TempDirectory()) { string fileName = Path.Combine(tempDir.Path, "settings.txt"); File.WriteAllText(fileName, $"key1=value1,{RpcWorkerConstants.FunctionsWorkerDynamicConcurrencyEnabled}=value2"); FunctionsHostingConfiguration conf = new FunctionsHostingConfiguration(_environment, _loggerFactory, fileName, DateTime.Now.AddMilliseconds(100), TimeSpan.FromMilliseconds(100)); Assert.False(conf.FunctionsWorkerDynamicConcurrencyEnabled); File.WriteAllText(fileName, $"key1=value1,{RpcWorkerConstants.FunctionsWorkerDynamicConcurrencyEnabled}=stamp"); await Task.Delay(500); Assert.True(conf.FunctionsWorkerDynamicConcurrencyEnabled); File.WriteAllText(fileName, "key1=value1"); await Task.Delay(500); Assert.False(conf.FunctionsWorkerDynamicConcurrencyEnabled); Assert.True(_loggerProvider.GetAllLogMessages().Where(x => x.FormattedMessage.StartsWith("Updaiting FunctionsHostingConfigurations")).Count() == 3); } }
public void FunctionsWorkerDynamicConcurrencyEnabled_Throws_InvalidOperationException() { FunctionsHostingConfiguration conf = new FunctionsHostingConfiguration(_environment, _loggerFactory, Path.Combine("C:\\", "test.txt"), DateTime.Now.AddMilliseconds(1), TimeSpan.FromMinutes(5)); Assert.Throws <InvalidOperationException>(() => conf.FunctionsWorkerDynamicConcurrencyEnabled); }