@@ -28,13 +28,13 @@ class TestMessageWrite:
28
28
def test_write_to_store (self , client ):
29
29
client .write ("testStream-123" , "Event1" , {"foo" : "bar" })
30
30
31
- messages = client .read ("testStream-123" , 0 , 100 )
31
+ messages = client .read ("testStream-123" )
32
32
assert len (messages ) == 1
33
33
34
34
def test_writing_message_with_metadata (self , client ):
35
35
client .write ("testStream-123" , "Event1" , {"foo" : "bar" }, {"trace_id" : "baz" })
36
36
37
- messages = client .read ("testStream-123" , 0 , 100 )
37
+ messages = client .read ("testStream-123" )
38
38
assert messages [0 ]["metadata" ] == json .dumps ({"trace_id" : "baz" })
39
39
40
40
def test_that_write_returns_position_of_message_written (self , client ):
@@ -84,19 +84,19 @@ def test_that_write_fails_on_expected_version_mismatch(self, client):
84
84
)
85
85
86
86
87
- class TestEventIO :
87
+ class TestRead :
88
88
def test_read_stream_from_store (self , client ):
89
89
client .write ("testStream-123" , "Event1" , {"foo" : "bar" })
90
90
91
- messages = client .read ("testStream-123" , 0 , 100 )
91
+ messages = client .read ("testStream-123" )
92
92
assert messages is not None
93
93
assert messages [0 ]["data" ] == json .dumps ({"foo" : "bar" })
94
94
95
95
def test_read_multiple_stream_messages_from_store (self , client ):
96
96
for i in range (5 ):
97
97
client .write ("testStream-123" , "Event1" , {f"foo{ i } " : f"bar{ i } " })
98
98
99
- messages = client .read ("testStream-123" , 0 , 100 )
99
+ messages = client .read ("testStream-123" )
100
100
101
101
assert messages is not None
102
102
assert len (messages ) == 5
@@ -106,7 +106,7 @@ def test_read_paginated_stream_messages_from_store(self, client):
106
106
for i in range (5 ):
107
107
client .write ("testStream-123" , "Event1" , {f"foo{ i } " : f"bar{ i } " })
108
108
109
- messages = client .read ("testStream-123" , 0 , 3 )
109
+ messages = client .read ("testStream-123" , no_of_messages = 3 )
110
110
111
111
assert messages is not None
112
112
assert len (messages ) == 3
@@ -126,7 +126,7 @@ def test_read_specific_stream_message(self, client):
126
126
for i in range (5 ):
127
127
client .write ("testStream-456" , "Event1" , {"foo" : f"baz{ i } " })
128
128
129
- messages = client .read ("testStream-456" , 0 , 100 )
129
+ messages = client .read ("testStream-456" )
130
130
131
131
assert len (messages ) == 5
132
132
assert messages [4 ]["data" ] == json .dumps ({"foo" : "baz4" })
@@ -135,7 +135,77 @@ def test_read_category_messages(self, client):
135
135
for i in range (5 ):
136
136
client .write ("testStream-123" , "Event1" , {"foo" : f"bar{ i } " })
137
137
138
- messages = client .read ("testStream" , 0 , 100 )
138
+ messages = client .read ("testStream" )
139
139
140
140
assert len (messages ) == 5
141
141
assert messages [4 ]["data" ] == json .dumps ({"foo" : "bar4" })
142
+
143
+
144
+ class TestReadStream :
145
+ def test_reading_a_category_throws_error (self , client ):
146
+ with pytest .raises (ValueError ) as exc :
147
+ client .read_stream ("testStream" )
148
+
149
+ assert exc .value .args [0 ] == "testStream is not a stream"
150
+
151
+ def test_read_stream_from_store (self , client ):
152
+ client .write ("testStream-123" , "Event1" , {"foo" : "bar" })
153
+
154
+ messages = client .read_stream ("testStream-123" )
155
+ assert messages is not None
156
+ assert messages [0 ]["data" ] == json .dumps ({"foo" : "bar" })
157
+
158
+ def test_read_multiple_stream_messages_from_store (self , client ):
159
+ for i in range (5 ):
160
+ client .write ("testStream-123" , "Event1" , {f"foo{ i } " : f"bar{ i } " })
161
+
162
+ messages = client .read_stream ("testStream-123" )
163
+
164
+ assert messages is not None
165
+ assert len (messages ) == 5
166
+ assert messages [4 ]["data" ] == json .dumps ({"foo4" : "bar4" })
167
+
168
+ def test_read_paginated_stream_messages_from_store (self , client ):
169
+ for i in range (5 ):
170
+ client .write ("testStream-123" , "Event1" , {f"foo{ i } " : f"bar{ i } " })
171
+
172
+ messages = client .read_stream ("testStream-123" , no_of_messages = 3 )
173
+
174
+ assert messages is not None
175
+ assert len (messages ) == 3
176
+ assert messages [2 ]["data" ] == json .dumps ({"foo2" : "bar2" })
177
+
178
+
179
+ class TestReadCategory :
180
+ def test_reading_a_stream_throws_error (self , client ):
181
+ with pytest .raises (ValueError ) as exc :
182
+ client .read_category ("testStream-123" )
183
+
184
+ assert exc .value .args [0 ] == "testStream-123 is not a category"
185
+
186
+ def test_read_category_messages_from_store (self , client ):
187
+ client .write ("testStream-123" , "Event1" , {"foo" : "bar" })
188
+
189
+ messages = client .read_category ("testStream" )
190
+ assert messages is not None
191
+ assert messages [0 ]["data" ] == json .dumps ({"foo" : "bar" })
192
+
193
+ def test_read_multiple_category_messages_from_store (self , client ):
194
+ for i in range (5 ):
195
+ client .write ("testStream-123" , "Event1" , {f"foo{ i } " : f"bar{ i } " })
196
+
197
+ messages = client .read_category ("testStream" )
198
+
199
+ assert messages is not None
200
+ assert len (messages ) == 5
201
+ assert messages [4 ]["data" ] == json .dumps ({"foo4" : "bar4" })
202
+
203
+ def test_read_paginated_category_messages_from_store (self , client ):
204
+ for i in range (5 ):
205
+ client .write ("testStream-123" , "Event1" , {f"foo{ i } " : f"bar{ i } " })
206
+
207
+ messages = client .read_category ("testStream" , no_of_messages = 3 )
208
+
209
+ assert messages is not None
210
+ assert len (messages ) == 3
211
+ assert messages [2 ]["data" ] == json .dumps ({"foo2" : "bar2" })
0 commit comments