Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 3b049e0

Browse files
Hopefully making tests more reliable
1 parent c4938ed commit 3b049e0

File tree

4 files changed

+21
-41
lines changed

4 files changed

+21
-41
lines changed

src/tests/IntegrationTests/Events/RepositoryManagerTests.cs

Lines changed: 17 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
namespace IntegrationTests
1212
{
13-
[TestFixture/*, Category("TimeSensitive")*/]
13+
[TestFixture]
1414
class RepositoryManagerTests : BaseGitEnvironmentTest
1515
{
1616
private RepositoryManagerEvents repositoryManagerEvents;
@@ -53,7 +53,6 @@ public async Task ShouldDetectFileChanges()
5353
repositoryManagerListener.Received().OnStatusUpdate(Args.GitStatus);
5454
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
5555
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
56-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
5756
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
5857
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
5958
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
@@ -62,7 +61,7 @@ public async Task ShouldDetectFileChanges()
6261
result.AssertEqual(expected);
6362
}
6463

65-
[Test, Category("TimeSensitive")]
64+
[Test]
6665
public async Task ShouldAddAndCommitFiles()
6766
{
6867
await Initialize(TestRepoMasterCleanSynchronized);
@@ -93,14 +92,12 @@ public async Task ShouldAddAndCommitFiles()
9392
var testDocumentTxt = TestRepoMasterCleanSynchronized.Combine("Assets", "TestDocument.txt");
9493
testDocumentTxt.WriteAllText("foobar");
9594
await TaskManager.Wait();
96-
WaitForNotBusy(repositoryManagerEvents, 1);
9795
RepositoryManager.WaitForEvents();
9896
WaitForNotBusy(repositoryManagerEvents, 1);
9997

10098
repositoryManagerListener.Received().OnStatusUpdate(Args.GitStatus);
10199
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
102100
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
103-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
104101
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
105102
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
106103
repositoryManagerListener.ReceivedWithAnyArgs().OnIsBusyChanged(Args.Bool);
@@ -118,18 +115,18 @@ await RepositoryManager
118115
await TaskManager.Wait();
119116
RepositoryManager.WaitForEvents();
120117
WaitForNotBusy(repositoryManagerEvents, 1);
118+
repositoryManagerEvents.OnStatusUpdate.WaitOne(TimeSpan.FromSeconds(1));
121119

122-
repositoryManagerListener.DidNotReceive().OnStatusUpdate(Args.GitStatus);
120+
repositoryManagerListener.Received().OnStatusUpdate(Args.GitStatus);
123121
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
124122
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
125-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
126123
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
127124
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
128-
repositoryManagerListener.Received(2).OnIsBusyChanged(Args.Bool);
125+
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
129126
repositoryManagerListener.DidNotReceive().OnLocksUpdated(Args.EnumerableGitLock);
130127
}
131128

132-
[Test, Category("TimeSensitive")]
129+
[Test]
133130
public async Task ShouldAddAndCommitAllFiles()
134131
{
135132
await Initialize(TestRepoMasterCleanSynchronized);
@@ -162,12 +159,10 @@ public async Task ShouldAddAndCommitAllFiles()
162159
await TaskManager.Wait();
163160
WaitForNotBusy(repositoryManagerEvents, 1);
164161
RepositoryManager.WaitForEvents();
165-
WaitForNotBusy(repositoryManagerEvents, 1);
166162

167163
repositoryManagerListener.Received().OnStatusUpdate(Args.GitStatus);
168164
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
169165
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
170-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
171166
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
172167
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
173168
repositoryManagerListener.ReceivedWithAnyArgs().OnIsBusyChanged(Args.Bool);
@@ -183,20 +178,19 @@ await RepositoryManager
183178
.StartAsAsync();
184179

185180
await TaskManager.Wait();
186-
RepositoryManager.WaitForEvents();
187181
WaitForNotBusy(repositoryManagerEvents, 1);
182+
RepositoryManager.WaitForEvents();
188183

189184
repositoryManagerListener.DidNotReceive().OnStatusUpdate(Args.GitStatus);
190185
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
191186
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
192-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
193187
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
194188
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
195189
repositoryManagerListener.Received(2).OnIsBusyChanged(Args.Bool);
196190
repositoryManagerListener.DidNotReceive().OnLocksUpdated(Args.EnumerableGitLock);
197191
}
198192

199-
[Test, Category("TimeSensitive")]
193+
[Test]
200194
public async Task ShouldDetectBranchChange()
201195
{
202196
await Initialize(TestRepoMasterCleanSynchronized);
@@ -217,14 +211,14 @@ public async Task ShouldDetectBranchChange()
217211
await TaskManager.Wait();
218212
RepositoryManager.WaitForEvents();
219213
WaitForNotBusy(repositoryManagerEvents, 5);
214+
repositoryManagerEvents.OnStatusUpdate.WaitOne(TimeSpan.FromSeconds(1));
220215

221216
repositoryManagerListener.Received().OnStatusUpdate(Args.GitStatus);
222-
repositoryManagerListener.Received(1).OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
223-
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
224-
repositoryManagerListener.Received(1).OnHeadChanged();
217+
repositoryManagerListener.Received().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
218+
repositoryManagerListener.Received().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
225219
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
226220
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
227-
repositoryManagerListener.DidNotReceive().OnIsBusyChanged(Args.Bool);
221+
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
228222
repositoryManagerListener.DidNotReceive().OnLocksUpdated(Args.EnumerableGitLock);
229223

230224
result.AssertEqual(expected);
@@ -240,14 +234,13 @@ public async Task ShouldDetectBranchDelete()
240234

241235
await RepositoryManager.DeleteBranch("feature/document", true).StartAsAsync();
242236
await TaskManager.Wait();
243-
RepositoryManager.WaitForEvents();
244237
WaitForNotBusy(repositoryManagerEvents, 1);
238+
RepositoryManager.WaitForEvents();
245239

246240
repositoryManagerListener.DidNotReceive().OnStatusUpdate(Args.GitStatus);
247241
//TODO: Deleting a branch causes a config reload, which raises OnActiveBranchChanged/OnActiveRemoteChanged
248242
repositoryManagerListener.Received().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
249243
repositoryManagerListener.Received().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
250-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
251244
repositoryManagerListener.Received(1).OnLocalBranchListChanged();
252245
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
253246
repositoryManagerListener.ReceivedWithAnyArgs().OnIsBusyChanged(Args.Bool);
@@ -269,7 +262,6 @@ public async Task ShouldDetectBranchCreate()
269262
repositoryManagerListener.DidNotReceive().OnStatusUpdate(Args.GitStatus);
270263
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
271264
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
272-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
273265
repositoryManagerListener.Received(1).OnLocalBranchListChanged();
274266
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
275267
repositoryManagerListener.ReceivedWithAnyArgs().OnIsBusyChanged(Args.Bool);
@@ -285,7 +277,6 @@ public async Task ShouldDetectBranchCreate()
285277
repositoryManagerListener.DidNotReceive().OnStatusUpdate(Args.GitStatus);
286278
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
287279
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
288-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
289280
repositoryManagerListener.Received(1).OnLocalBranchListChanged();
290281
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
291282
repositoryManagerListener.Received(2).OnIsBusyChanged(Args.Bool);
@@ -319,9 +310,8 @@ public async Task ShouldDetectChangesToRemotes()
319310
repositoryManagerListener.DidNotReceive().OnStatusUpdate(Args.GitStatus);
320311
repositoryManagerListener.Received().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
321312
repositoryManagerListener.Received().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
322-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
323313
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
324-
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
314+
repositoryManagerListener.Received().OnRemoteBranchListChanged();
325315
repositoryManagerListener.ReceivedWithAnyArgs().OnIsBusyChanged(Args.Bool);
326316
repositoryManagerListener.DidNotReceive().OnLocksUpdated(Args.EnumerableGitLock);
327317

@@ -342,14 +332,13 @@ public async Task ShouldDetectChangesToRemotes()
342332
repositoryManagerListener.DidNotReceive().OnStatusUpdate(Args.GitStatus);
343333
repositoryManagerListener.Received().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
344334
repositoryManagerListener.Received().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
345-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
346335
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
347336
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
348337
repositoryManagerListener.ReceivedWithAnyArgs().OnIsBusyChanged(Args.Bool);
349338
repositoryManagerListener.DidNotReceive().OnLocksUpdated(Args.EnumerableGitLock);
350339
}
351340

352-
[Test, Category("TimeSensitive")]
341+
[Test]
353342
public async Task ShouldDetectChangesToRemotesWhenSwitchingBranches()
354343
{
355344
var expectedCloneUrl = "https://github.com/EvilStanleyGoldman/IOTestsRepo.git";
@@ -374,7 +363,6 @@ await RepositoryManager.CreateBranch("branch2", "another/master")
374363
repositoryManagerListener.DidNotReceive().OnStatusUpdate(Args.GitStatus);
375364
repositoryManagerListener.Received().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
376365
repositoryManagerListener.Received().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
377-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
378366
repositoryManagerListener.Received().OnLocalBranchListChanged();
379367
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
380368
repositoryManagerListener.ReceivedWithAnyArgs().OnIsBusyChanged(Args.Bool);
@@ -400,7 +388,6 @@ await RepositoryManager.SwitchBranch("branch2")
400388
repositoryManagerListener.DidNotReceive().OnStatusUpdate(Args.GitStatus);
401389
repositoryManagerListener.Received().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
402390
repositoryManagerListener.Received().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
403-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
404391
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
405392
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
406393
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
@@ -435,9 +422,8 @@ public async Task ShouldUpdateCloneUrlIfRemoteIsDeleted()
435422
repositoryManagerListener.ReceivedWithAnyArgs().OnIsBusyChanged(Args.Bool);
436423
repositoryManagerListener.Received().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
437424
repositoryManagerListener.Received().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
438-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
439425
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
440-
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
426+
repositoryManagerListener.Received().OnRemoteBranchListChanged();
441427
repositoryManagerListener.DidNotReceive().OnLocksUpdated(Args.EnumerableGitLock);
442428

443429
repositoryManagerListener.ClearReceivedCalls();
@@ -457,13 +443,12 @@ public async Task ShouldUpdateCloneUrlIfRemoteIsDeleted()
457443
repositoryManagerListener.ReceivedWithAnyArgs().OnIsBusyChanged(Args.Bool);
458444
repositoryManagerListener.Received().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
459445
repositoryManagerListener.Received().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
460-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
461446
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
462447
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
463448
repositoryManagerListener.DidNotReceive().OnLocksUpdated(Args.EnumerableGitLock);
464449
}
465450

466-
[Test, Category("TimeSensitive")]
451+
[Test]
467452
public async Task ShouldDetectGitPull()
468453
{
469454
await Initialize(TestRepoMasterCleanSynchronized);
@@ -488,7 +473,6 @@ public async Task ShouldDetectGitPull()
488473
repositoryManagerListener.ReceivedWithAnyArgs().OnIsBusyChanged(Args.Bool);
489474
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
490475
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
491-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
492476
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
493477
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
494478
repositoryManagerListener.DidNotReceive().OnLocksUpdated(Args.EnumerableGitLock);
@@ -515,7 +499,6 @@ public async Task ShouldDetectGitFetch()
515499
repositoryManagerListener.ReceivedWithAnyArgs().OnIsBusyChanged(Args.Bool);
516500
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
517501
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
518-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
519502
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
520503
repositoryManagerListener.Received(2).OnRemoteBranchListChanged();
521504
repositoryManagerListener.DidNotReceive().OnLocksUpdated(Args.EnumerableGitLock);

src/tests/IntegrationTests/SetupFixture.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ public void Setup()
1212
{
1313
Logging.TracingEnabled = true;
1414

15-
Logging.LogAdapter = new MultipleLogAdapter(new FileLogAdapter($"..\\{DateTime.UtcNow.ToString("yyyyMMddHHmmss")}-integration-tests.log"));
15+
Logging.LogAdapter = new MultipleLogAdapter(
16+
new FileLogAdapter($"..\\{DateTime.UtcNow.ToString("yyyyMMddHHmmss")}-integration-tests.log"),
17+
new ConsoleLogAdapter()
18+
);
1619
}
1720
}
1821
}

src/tests/TestUtils/Events/IRepositoryManagerListener.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ interface IRepositoryManagerListener
1111
void OnStatusUpdate(GitStatus status);
1212
void OnActiveBranchChanged(ConfigBranch? branch);
1313
void OnActiveRemoteChanged(ConfigRemote? remote);
14-
void OnHeadChanged();
1514
void OnLocalBranchListChanged();
1615
void OnRemoteBranchListChanged();
1716
void OnIsBusyChanged(bool busy);
@@ -101,7 +100,6 @@ public static void AssertDidNotReceiveAnyCalls(this IRepositoryManagerListener r
101100
repositoryManagerListener.DidNotReceive().OnStatusUpdate(Args.GitStatus);
102101
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
103102
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
104-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
105103
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
106104
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
107105
repositoryManagerListener.DidNotReceive().OnLocksUpdated(Args.EnumerableGitLock);

src/tests/UnitTests/Repository/RepositoryManagerTests.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,6 @@ public async Task ShouldRefreshAndReturnCombinedStatusAndLockInformation1()
181181

182182
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
183183
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
184-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
185184
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
186185
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
187186
}
@@ -243,7 +242,6 @@ public void ShouldRefreshAndReturnCombinedStatusAndLockInformation2()
243242

244243
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
245244
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
246-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
247245
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
248246
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
249247
}
@@ -282,7 +280,6 @@ public void ShouldRefreshAndReturnWithEmptyGitLockResponse()
282280

283281
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
284282
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
285-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
286283
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
287284
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
288285
}
@@ -321,7 +318,6 @@ public void ShouldRefreshAndReturnWithNoGitLockResponse()
321318

322319
repositoryManagerListener.DidNotReceive().OnActiveBranchChanged(Arg.Any<ConfigBranch?>());
323320
repositoryManagerListener.DidNotReceive().OnActiveRemoteChanged(Arg.Any<ConfigRemote?>());
324-
repositoryManagerListener.DidNotReceive().OnHeadChanged();
325321
repositoryManagerListener.DidNotReceive().OnLocalBranchListChanged();
326322
repositoryManagerListener.DidNotReceive().OnRemoteBranchListChanged();
327323
}

0 commit comments

Comments
 (0)