@@ -24,7 +24,7 @@ public class FunctionsSyncServiceTests
24
24
private readonly Mock < IFunctionsSyncManager > _mockSyncManager ;
25
25
private readonly Mock < IScriptWebHostEnvironment > _mockWebHostEnvironment ;
26
26
private readonly Mock < IEnvironment > _mockEnvironment ;
27
- private readonly int _testDueTime = 250 ;
27
+ private readonly int _testDueTime = 1000 ;
28
28
29
29
public FunctionsSyncServiceTests ( )
30
30
{
@@ -38,7 +38,6 @@ public FunctionsSyncServiceTests()
38
38
39
39
_mockPrimaryHostStateProviderMock . Setup ( p => p . IsPrimary ) . Returns ( true ) ;
40
40
_mockScriptHostManager . Setup ( p => p . State ) . Returns ( ScriptHostState . Running ) ;
41
- _mockSyncManager . Setup ( p => p . TrySyncTriggersAsync ( true ) ) . ReturnsAsync ( new SyncTriggersResult { Success = true } ) ;
42
41
43
42
_mockWebHostEnvironment = new Mock < IScriptWebHostEnvironment > ( MockBehavior . Strict ) ;
44
43
_mockWebHostEnvironment . SetupGet ( p => p . InStandbyMode ) . Returns ( false ) ;
@@ -67,9 +66,12 @@ public void ShouldSyncTriggers_ReturnsExpectedResult(bool isPrimary, ScriptHostS
67
66
[ Fact ]
68
67
public async Task StartAsync_PrimaryHost_Running_SyncsTriggers_AfterTimeout ( )
69
68
{
69
+ TaskCompletionSource syncTriggers = new TaskCompletionSource ( ) ;
70
+ _mockSyncManager . Setup ( p => p . TrySyncTriggersAsync ( true ) ) . ReturnsAsync ( new SyncTriggersResult { Success = true } ) . Callback ( ( ) => syncTriggers . TrySetResult ( ) ) ;
71
+
70
72
await _syncService . StartAsync ( CancellationToken . None ) ;
71
- await Task . Delay ( 2 * _testDueTime ) ;
72
73
74
+ await syncTriggers . Task . WaitAsync ( TimeSpan . FromMilliseconds ( 2 * _testDueTime ) ) ;
73
75
_mockSyncManager . Verify ( p => p . TrySyncTriggersAsync ( true ) , Times . Once ) ;
74
76
75
77
var logMessage = _loggerProvider . GetAllLogMessages ( ) . Select ( p => p . FormattedMessage ) . Single ( ) ;
@@ -100,11 +102,12 @@ public async Task StopCalledBeforeTimeout_DoesNotSyncTriggers()
100
102
[ Fact ]
101
103
public async Task UnhandledExceptions_HandledInCallback ( )
102
104
{
103
- _mockSyncManager . Setup ( p => p . TrySyncTriggersAsync ( true ) ) . ThrowsAsync ( new Exception ( "Kaboom!" ) ) ;
105
+ TaskCompletionSource syncTriggers = new TaskCompletionSource ( ) ;
106
+ _mockSyncManager . Setup ( p => p . TrySyncTriggersAsync ( true ) ) . ThrowsAsync ( new Exception ( "Kaboom!" ) ) . Callback ( ( ) => syncTriggers . TrySetResult ( ) ) ;
104
107
105
108
await _syncService . StartAsync ( CancellationToken . None ) ;
106
- await Task . Delay ( 2 * _testDueTime ) ;
107
109
110
+ await syncTriggers . Task . WaitAsync ( TimeSpan . FromMilliseconds ( 2 * _testDueTime ) ) ;
108
111
_mockSyncManager . Verify ( p => p . TrySyncTriggersAsync ( true ) , Times . Once ) ;
109
112
}
110
113
0 commit comments