def test_event_metadata_is_none_or_empty(): event = jsonrpc.Event( data=jsonrpc.EventData(metadata=None, ), sequence_number=32, ) assert txnmetadata.refund_metadata_from_event(event) == b"" event = jsonrpc.Event( data=jsonrpc.EventData(metadata="", ), sequence_number=32, ) assert txnmetadata.refund_metadata_from_event(event) == b""
def test_event_metadata_is_not_bcs_string(): event = jsonrpc.Event( data=jsonrpc.EventData(metadata="1111122222", ), sequence_number=32, ) with pytest.raises(txnmetadata.InvalidEventMetadataForRefundError): txnmetadata.refund_metadata_from_event(event)
def test_refund_metadata_from_event_that_has_from_subaddress(): from_sub_address = "8f8b82153010a1bd" reference_event_seq = 324 metadata = txnmetadata.general_metadata( utils.sub_address(from_sub_address)) event = jsonrpc.Event( data=jsonrpc.EventData(metadata=metadata.hex(), ), sequence_number=reference_event_seq, ) ret = txnmetadata.refund_metadata_from_event(event) assert ret is not None gm = diem_types.Metadata__GeneralMetadata.bcs_deserialize(ret) assert gm is not None assert gm.value.value.from_subaddress is None assert gm.value.value.to_subaddress.hex() == from_sub_address assert int(gm.value.value.referenced_event) == reference_event_seq