Skip to content

Commit 8c1a8a3

Browse files
author
Jamil Maqdis Anton
committed
Add tests for reading from all stream forwards and backwards
1 parent f95057c commit 8c1a8a3

File tree

1 file changed

+71
-28
lines changed

1 file changed

+71
-28
lines changed

tests/ReadTests.fs

Lines changed: 71 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@ open SqlStreamStore.FSharp
55
open SqlStreamStore.FSharp.Tests
66

77

8+
let newTestMessage: string -> MessageDetails =
9+
fun guid ->
10+
{ id = StreamMessageId.Custom(System.Guid.Parse(guid))
11+
type_ = "testing"
12+
jsonData = "{}"
13+
jsonMetadata = "{}" }
14+
15+
let guidString1 = "11111111-1111-1111-1111-111111111111"
16+
17+
let guidString2 = "22222222-2222-2222-2222-222222222222"
18+
819
[<Tests>]
920
let tests =
1021
testList
@@ -16,21 +27,9 @@ let tests =
1627

1728
let appendVersion = AppendVersion.NoStream
1829

19-
let guidString1 = "11111111-1111-1111-1111-111111111111"
30+
let msg1 = newTestMessage guidString1
2031

21-
let guidString2 = "22222222-2222-2222-2222-222222222222"
22-
23-
let msg1 =
24-
{ id = StreamMessageId.Custom(System.Guid.Parse(guidString1))
25-
type_ = "testing"
26-
jsonData = "{}"
27-
jsonMetadata = "{}" }
28-
29-
let msg2 =
30-
{ id = StreamMessageId.Custom(System.Guid.Parse(guidString2))
31-
type_ = "testing"
32-
jsonData = "{}"
33-
jsonMetadata = "{}" }
32+
let msg2 = newTestMessage guidString2
3433

3534
let msgList = [ msg1; msg2 ]
3635

@@ -54,21 +53,9 @@ let tests =
5453

5554
let appendVersion = AppendVersion.NoStream
5655

57-
let guidString1 = "11111111-1111-1111-1111-111111111111"
58-
59-
let guidString2 = "22222222-2222-2222-2222-222222222222"
56+
let msg1 = newTestMessage guidString1
6057

61-
let msg1 =
62-
{ id = StreamMessageId.Custom(System.Guid.Parse(guidString1))
63-
type_ = "testing"
64-
jsonData = "{}"
65-
jsonMetadata = "{}" }
66-
67-
let msg2 =
68-
{ id = StreamMessageId.Custom(System.Guid.Parse(guidString2))
69-
type_ = "testing"
70-
jsonData = "{}"
71-
jsonMetadata = "{}" }
58+
let msg2 = newTestMessage guidString2
7259

7360
let msgList = [ msg1; msg2 ]
7461

@@ -79,6 +66,62 @@ let tests =
7966

8067
let! readResult = Read.readFromStream inMemStore ReadingDirection.Backward streamName readVersion 10
8168

69+
readResult.Messages
70+
|> Array.sortBy (fun msg -> msg.MessageId)
71+
|> fun sorted ->
72+
ExpectExtra.equal guidString2 (sorted.[1].MessageId.ToString())
73+
ExpectExtra.equal guidString1 (sorted.[0].MessageId.ToString())
74+
}
75+
76+
testAsync "Should read from all streams forward." {
77+
let inMemStore = new SqlStreamStore.InMemoryStreamStore()
78+
79+
let stream1 = "test1"
80+
81+
let stream2 = "test2"
82+
83+
let appendVersion = AppendVersion.NoStream
84+
85+
let msg1 = newTestMessage guidString1
86+
87+
let msg2 = newTestMessage guidString2
88+
89+
do! Append.appendNewMessage inMemStore stream1 appendVersion msg1
90+
|> Async.Ignore
91+
92+
do! Append.appendNewMessage inMemStore stream2 appendVersion msg2
93+
|> Async.Ignore
94+
95+
let! readResult = Read.readFromAllStream inMemStore ReadingDirection.Forward StartPosition.Start 10
96+
97+
readResult.Messages
98+
|> Array.sortBy (fun msg -> msg.MessageId)
99+
|> fun sorted ->
100+
ExpectExtra.equal guidString1 (sorted.[0].MessageId.ToString())
101+
ExpectExtra.equal guidString2 (sorted.[1].MessageId.ToString())
102+
}
103+
104+
testAsync "Should read from all streams backward." {
105+
let inMemStore = new SqlStreamStore.InMemoryStreamStore()
106+
107+
let stream1 = "test1"
108+
109+
let stream2 = "test2"
110+
111+
let appendVersion = AppendVersion.NoStream
112+
113+
let msg1 = newTestMessage guidString1
114+
115+
let msg2 = newTestMessage guidString2
116+
117+
do! Append.appendNewMessage inMemStore stream1 appendVersion msg1
118+
|> Async.Ignore
119+
120+
do! Append.appendNewMessage inMemStore stream2 appendVersion msg2
121+
|> Async.Ignore
122+
123+
let! readResult = Read.readFromAllStream inMemStore ReadingDirection.Backward StartPosition.End 10
124+
82125
readResult.Messages
83126
|> Array.sortBy (fun msg -> msg.MessageId)
84127
|> fun sorted ->

0 commit comments

Comments
 (0)