Skip to content

Commit 2c6849f

Browse files
committed
Addressing issues with flaky test in CI
1 parent 35a5b43 commit 2c6849f

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

test/WebJobs.Script.Tests.Integration/Host/StandbyModeTests.cs

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System;
55
using System.IO;
66
using System.Linq;
7+
using System.Threading.Tasks;
78
using Microsoft.Azure.WebJobs.Extensions.Http;
89
using Microsoft.Azure.WebJobs.Script.Config;
910
using Microsoft.Azure.WebJobs.Script.Eventing;
@@ -64,29 +65,29 @@ public void InStandbyMode_ReturnsExpectedValue()
6465
}
6566

6667
[Fact]
67-
public void GetScriptHostConfiguration_ReturnsExpectedValue()
68+
public async Task GetScriptHostConfiguration_ReturnsExpectedValue()
6869
{
69-
TestGetter(_webHostResolver.GetScriptHostConfiguration);
70+
await TestGetter(_webHostResolver.GetScriptHostConfiguration);
7071
}
7172

7273
[Fact]
73-
public void GetSecretManager_ReturnsExpectedValue()
74+
public async Task GetSecretManager_ReturnsExpectedValue()
7475
{
75-
TestGetter(_webHostResolver.GetSecretManager);
76+
await TestGetter(_webHostResolver.GetSecretManager);
7677
}
7778

7879
[Fact]
79-
public void GetWebScriptHostManager_ReturnsExpectedValue()
80+
public async Task GetWebScriptHostManager_ReturnsExpectedValue()
8081
{
81-
TestGetter(_webHostResolver.GetWebScriptHostManager);
82+
await TestGetter(_webHostResolver.GetWebScriptHostManager);
8283
}
8384

8485
[Fact]
85-
public void EnsureInitialized_NonPlaceholderMode()
86+
public async Task EnsureInitialized_NonPlaceholderMode()
8687
{
8788
using (new TestEnvironment())
8889
{
89-
var settings = GetWebHostSettings();
90+
var settings = await GetWebHostSettings();
9091
_settingsManager.SetSetting(EnvironmentSettingNames.AzureWebsitePlaceholderMode, "0");
9192
Assert.False(WebScriptHostManager.InStandbyMode);
9293
_webHostResolver.EnsureInitialized(settings);
@@ -99,11 +100,11 @@ public void EnsureInitialized_NonPlaceholderMode()
99100
}
100101

101102
[Fact]
102-
public void EnsureInitialized_PlaceholderMode()
103+
public async Task EnsureInitialized_PlaceholderMode()
103104
{
104105
using (new TestEnvironment())
105106
{
106-
var settings = GetWebHostSettings();
107+
var settings = await GetWebHostSettings();
107108
_settingsManager.SetSetting(EnvironmentSettingNames.AzureWebsitePlaceholderMode, "1");
108109
Assert.True(WebScriptHostManager.InStandbyMode);
109110
_webHostResolver.EnsureInitialized(settings);
@@ -120,7 +121,7 @@ public void EnsureInitialized_PlaceholderMode()
120121
}
121122
}
122123

123-
private void TestGetter<T>(Func<WebHostSettings, T> func)
124+
private async Task TestGetter<T>(Func<WebHostSettings, T> func)
124125
{
125126
using (new TestEnvironment())
126127
{
@@ -131,7 +132,7 @@ private void TestGetter<T>(Func<WebHostSettings, T> func)
131132
{
132133
_settingsManager.SetSetting(EnvironmentSettingNames.AzureWebsitePlaceholderMode, "1");
133134

134-
var settings = GetWebHostSettings();
135+
var settings = await GetWebHostSettings();
135136
prev = func(settings);
136137
Assert.NotNull(prev);
137138

@@ -156,16 +157,23 @@ private void TestGetter<T>(Func<WebHostSettings, T> func)
156157
}
157158
}
158159

159-
private WebHostSettings GetWebHostSettings()
160+
private Task<WebHostSettings> GetWebHostSettings()
160161
{
161162
var home = _settingsManager.GetSetting(EnvironmentSettingNames.AzureWebsiteHomePath);
162-
return new WebHostSettings
163+
var settings = new WebHostSettings
163164
{
164165
IsSelfHost = true,
165166
ScriptPath = Path.Combine(home, @"site\wwwroot"),
166167
LogPath = Path.Combine(home, @"LogFiles\Application\Functions"),
167168
SecretsPath = Path.Combine(home, @"data\Functions\secrets")
168169
};
170+
171+
Directory.CreateDirectory(settings.ScriptPath);
172+
Directory.CreateDirectory(settings.LogPath);
173+
Directory.CreateDirectory(settings.SecretsPath);
174+
175+
return Task.Delay(200)
176+
.ContinueWith(t => settings);
169177
}
170178

171179
public void Dispose()

0 commit comments

Comments
 (0)