@@ -191,7 +191,6 @@ def test_resolutions_gql(self):
191
191
resolutions = gql_result ["almanacResolutions" ]["nodes" ]
192
192
self .assertEqual (len (expected_resolutions ), len (resolutions ))
193
193
194
- # TODO: use respective gql order by when available
195
194
# NB: sort by expiry height so that indexes match
196
195
# their respective expected_resolutions index
197
196
list .sort (resolutions , key = gql_by_endpoint_port )
@@ -208,7 +207,6 @@ def test_resolutions_gql(self):
208
207
)
209
208
self .assertRegex (record ["transactionId" ], tx_id_regex )
210
209
self .assertRegex (record ["blockId" ], block_id_regex )
211
- # TODO: assert record equality
212
210
213
211
def test_registrations_sql (self ):
214
212
registrations = self .db_cursor .execute (
@@ -340,7 +338,6 @@ def test_registrations_gql(self):
340
338
registrations = gql_result ["almanacRegistrations" ]["nodes" ]
341
339
self .assertEqual (len (scenario .expected ), len (registrations ))
342
340
343
- # TODO: use respective gql order by when available
344
341
# NB: sort by expiry height so that indexes match
345
342
# their respective scenario.expected index
346
343
list .sort (registrations , key = gql_by_expiry_height )
@@ -360,7 +357,51 @@ def test_registrations_gql(self):
360
357
)
361
358
self .assertRegex (registration ["transactionId" ], tx_id_regex )
362
359
self .assertRegex (registration ["blockId" ], block_id_regex )
363
- # TODO: assert record equality
360
+
361
+ record = registration ["record" ]
362
+ self .assertEqual (
363
+ record ["service" ],
364
+ registration ["record" ]["service" ],
365
+ )
366
+ self .assertRegex (record ["transactionId" ], tx_id_regex )
367
+ self .assertRegex (record ["blockId" ], block_id_regex )
368
+
369
+ def test_contract_interface_sql (self ):
370
+ contract = self .db_cursor .execute (
371
+ """SELECT c.id
372
+ FROM app.contracts c
373
+ WHERE c.interface = 'MicroAgentAlmanac'"""
374
+ ).fetchone ()
375
+ self .assertIsNotNone (contract )
376
+ self .assertEqual (str (self ._contract .address ), contract [0 ])
377
+
378
+ def test_contract_interface_gql (self ):
379
+ expected_interface = "MicroAgentAlmanac"
380
+ results = self .gql_client .execute (
381
+ gql (
382
+ """
383
+ query {
384
+ contracts (filter: {interface: {equalTo: """
385
+ + expected_interface
386
+ + """}}) {
387
+ nodes {
388
+ id
389
+ interface
390
+ storeMessageId
391
+ instantiateMessageId
392
+ }
393
+ }
394
+ }
395
+ """
396
+ )
397
+ )
398
+
399
+ contract = results ["contracts" ]["nodes" ][0 ]
400
+ self .assertIsNotNone (contract )
401
+ self .assertEqual (str (self ._contract .address ), contract ["id" ])
402
+ self .assertEqual (expected_interface , contract ["interface" ])
403
+ self .assertRegex (contract ["storeMessageId" ], msg_id_regex )
404
+ self .assertRegex (contract ["instantiateMessageId" ], msg_id_regex )
364
405
365
406
366
407
if __name__ == "__main__" :
0 commit comments