Skip to content

Commit 8ae87c0

Browse files
committed
Add test for ResetInterrupted method
1 parent 1469ce9 commit 8ae87c0

5 files changed

Lines changed: 59 additions & 1 deletion

File tree

Core/Cleipnir.ResilientFunctions.Tests/InMemoryTests/StoreTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ public override Task RestartingExecutionShouldFailWhenExpectedEpochDoesNotMatch(
9898
public override Task RestartingFunctionShouldSetInterruptedToFalse()
9999
=> RestartingFunctionShouldSetInterruptedToFalse(FunctionStoreFactory.Create());
100100

101+
[TestMethod]
102+
public override Task ResetInterruptedClearsInterruptedFlag()
103+
=> ResetInterruptedClearsInterruptedFlag(FunctionStoreFactory.Create());
104+
101105
[TestMethod]
102106
public override Task MessagesCanBeFetchedAfterFunctionWithInitialMessagesHasBeenCreated()
103107
=> MessagesCanBeFetchedAfterFunctionWithInitialMessagesHasBeenCreated(FunctionStoreFactory.Create());

Core/Cleipnir.ResilientFunctions.Tests/TestTemplates/StoreTests.cs

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,49 @@ await store.RestartExecution(
698698

699699
(await store.GetInterruptedFunctions()).Any(id => id == functionId).ShouldBeFalse();
700700
}
701-
701+
702+
public abstract Task ResetInterruptedClearsInterruptedFlag();
703+
protected async Task ResetInterruptedClearsInterruptedFlag(Task<IFunctionStore> storeTask)
704+
{
705+
var store = await storeTask;
706+
var functionId1 = TestStoredId.Create();
707+
var functionId2 = StoredId.Create(functionId1.Type, Guid.NewGuid().ToString());
708+
709+
await store.CreateFunction(
710+
functionId1,
711+
"humanInstanceId1",
712+
param: Test.SimpleStoredParameter,
713+
leaseExpiration: DateTime.UtcNow.Ticks,
714+
postponeUntil: null,
715+
timestamp: DateTime.UtcNow.Ticks,
716+
parent: null,
717+
owner: null
718+
);
719+
720+
await store.CreateFunction(
721+
functionId2,
722+
"humanInstanceId2",
723+
param: Test.SimpleStoredParameter,
724+
leaseExpiration: DateTime.UtcNow.Ticks,
725+
postponeUntil: null,
726+
timestamp: DateTime.UtcNow.Ticks,
727+
parent: null,
728+
owner: null
729+
);
730+
731+
await store.Interrupt(functionId1).ShouldBeTrueAsync();
732+
await store.Interrupt(functionId2).ShouldBeTrueAsync();
733+
734+
(await store.GetInterruptedFunctions()).Count.ShouldBe(2);
735+
736+
await store.ResetInterrupted([functionId1]);
737+
738+
var interrupted = await store.GetInterruptedFunctions();
739+
interrupted.Count.ShouldBe(1);
740+
interrupted.Any(id => id == functionId2).ShouldBeTrue();
741+
interrupted.Any(id => id == functionId1).ShouldBeFalse();
742+
}
743+
702744
public abstract Task MessagesCanBeFetchedAfterFunctionWithInitialMessagesHasBeenCreated();
703745
public async Task MessagesCanBeFetchedAfterFunctionWithInitialMessagesHasBeenCreated(Task<IFunctionStore> storeTask)
704746
{

Stores/MariaDB/Cleipnir.ResilientFunctions.MariaDB.Tests/StoreTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ public override Task RestartingExecutionShouldFailWhenExpectedEpochDoesNotMatch(
8787
public override Task RestartingFunctionShouldSetInterruptedToFalse()
8888
=> RestartingFunctionShouldSetInterruptedToFalse(FunctionStoreFactory.Create());
8989

90+
[TestMethod]
91+
public override Task ResetInterruptedClearsInterruptedFlag()
92+
=> ResetInterruptedClearsInterruptedFlag(FunctionStoreFactory.Create());
93+
9094
[TestMethod]
9195
public override Task MessagesCanBeFetchedAfterFunctionWithInitialMessagesHasBeenCreated()
9296
=> MessagesCanBeFetchedAfterFunctionWithInitialMessagesHasBeenCreated(FunctionStoreFactory.Create());

Stores/PostgreSQL/Cleipnir.ResilientFunctions.PostgreSQL.Tests/StoreTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@ public override Task RestartingExecutionShouldFailWhenExpectedEpochDoesNotMatch(
9090
public override Task RestartingFunctionShouldSetInterruptedToFalse()
9191
=> RestartingFunctionShouldSetInterruptedToFalse(FunctionStoreFactory.Create());
9292

93+
[TestMethod]
94+
public override Task ResetInterruptedClearsInterruptedFlag()
95+
=> ResetInterruptedClearsInterruptedFlag(FunctionStoreFactory.Create());
96+
9397
[TestMethod]
9498
public override Task MessagesCanBeFetchedAfterFunctionWithInitialMessagesHasBeenCreated()
9599
=> MessagesCanBeFetchedAfterFunctionWithInitialMessagesHasBeenCreated(FunctionStoreFactory.Create());

Stores/SqlServer/Cleipnir.ResilientFunctions.SqlServer.Tests/StoreTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@ public override Task RestartingExecutionShouldFailWhenExpectedEpochDoesNotMatch(
9090
public override Task RestartingFunctionShouldSetInterruptedToFalse()
9191
=> RestartingFunctionShouldSetInterruptedToFalse(FunctionStoreFactory.Create());
9292

93+
[TestMethod]
94+
public override Task ResetInterruptedClearsInterruptedFlag()
95+
=> ResetInterruptedClearsInterruptedFlag(FunctionStoreFactory.Create());
96+
9397
[TestMethod]
9498
public override Task MessagesCanBeFetchedAfterFunctionWithInitialMessagesHasBeenCreated()
9599
=> MessagesCanBeFetchedAfterFunctionWithInitialMessagesHasBeenCreated(FunctionStoreFactory.Create());

0 commit comments

Comments
 (0)