@@ -133,6 +133,61 @@ suite "Postgres driver - queries":
133133 check:
134134 filteredMessages == expected[2 .. 3 ]
135135
136+ asyncTest " single content topic with meta field" :
137+ # # Given
138+ const contentTopic = " test-content-topic"
139+
140+ let expected =
141+ @ [
142+ fakeWakuMessage (@ [byte 0 ], ts = ts (00 ), meta = " meta-0" ),
143+ fakeWakuMessage (@ [byte 1 ], ts = ts (10 ), meta = " meta-1" ),
144+ fakeWakuMessage (
145+ @ [byte 2 ], contentTopic = contentTopic, ts = ts (20 ), meta = " meta-2"
146+ ),
147+ fakeWakuMessage (
148+ @ [byte 3 ], contentTopic = contentTopic, ts = ts (30 ), meta = " meta-3"
149+ ),
150+ fakeWakuMessage (
151+ @ [byte 4 ], contentTopic = contentTopic, ts = ts (40 ), meta = " meta-4"
152+ ),
153+ fakeWakuMessage (
154+ @ [byte 5 ], contentTopic = contentTopic, ts = ts (50 ), meta = " meta-5"
155+ ),
156+ fakeWakuMessage (
157+ @ [byte 6 ], contentTopic = contentTopic, ts = ts (60 ), meta = " meta-6"
158+ ),
159+ fakeWakuMessage (
160+ @ [byte 7 ], contentTopic = contentTopic, ts = ts (70 ), meta = " meta-7"
161+ ),
162+ ]
163+ var messages = expected
164+
165+ shuffle (messages)
166+ debug " randomized message insertion sequence" , sequence = messages.mapIt (it.payload)
167+
168+ for msg in messages:
169+ require (
170+ await driver.put (
171+ DefaultPubsubTopic ,
172+ msg,
173+ computeDigest (msg),
174+ computeMessageHash (DefaultPubsubTopic , msg),
175+ msg.timestamp,
176+ )
177+ ).isOk ()
178+
179+ # # When
180+ let res = await driver.getMessages (
181+ contentTopic = @ [contentTopic], maxPageSize = 2 , ascendingOrder = true
182+ )
183+
184+ # # Then
185+ assert res.isOk (), res.error
186+
187+ let filteredMessages = res.tryGet ().mapIt (it[1 ])
188+ check:
189+ filteredMessages == expected[2 .. 3 ]
190+
136191 asyncTest " single content topic - descending order" :
137192 # # Given
138193 const contentTopic = " test-content-topic"
0 commit comments