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_find_refund_reference_event(): # None for no transaction given assert txnmetadata.find_refund_reference_event(None, None) is None receiver = utils.account_address("f72589b71ff4f8d139674a3f7369c69b") txn = jsonrpc.Transaction() txn.events.add(data=jsonrpc.EventData(type="unknown", receiver="f72589b71ff4f8d139674a3f7369c69b")) txn.events.add(data=jsonrpc.EventData(type="receivedpayment", receiver="unknown")) # None for not found event = txnmetadata.find_refund_reference_event(txn, receiver) assert event is None txn.events.add(data=jsonrpc.EventData(type="receivedpayment", receiver="f72589b71ff4f8d139674a3f7369c69b")) event = txnmetadata.find_refund_reference_event(txn, receiver) assert event is not None assert event.data.type == "receivedpayment" assert event.data.receiver == "f72589b71ff4f8d139674a3f7369c69b"
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