diff --git a/squeaknode/admin/messages.py b/squeaknode/admin/messages.py index 41cdf0b1..4613cf67 100644 --- a/squeaknode/admin/messages.py +++ b/squeaknode/admin/messages.py @@ -116,18 +116,16 @@ def received_offer_to_message(received_offer: ReceivedOffer) -> squeak_admin_pb2 def sent_payment_to_message(sent_payment: SentPayment) -> squeak_admin_pb2.SentPayment: - if sent_payment.sent_payment_id is None: - raise Exception("Sent payment id cannot be None.") - if sent_payment.created_time_ms is None: - raise Exception("Sent payment created time ms not found.") + sent_payment_id = sent_payment.sent_payment_id or 0 + created_time_ms = sent_payment.created_time_ms or 0 return squeak_admin_pb2.SentPayment( - sent_payment_id=sent_payment.sent_payment_id, + sent_payment_id=sent_payment_id, squeak_hash=sent_payment.squeak_hash.hex(), payment_hash=sent_payment.payment_hash.hex(), price_msat=sent_payment.price_msat, node_pubkey=sent_payment.node_pubkey, valid=sent_payment.valid, - time_ms=sent_payment.created_time_ms, + time_ms=created_time_ms, peer_address=peer_address_to_message(sent_payment.peer_address) ) diff --git a/tests/admin/conftest.py b/tests/admin/conftest.py index b07ce0a5..f5e2cded 100644 --- a/tests/admin/conftest.py +++ b/tests/admin/conftest.py @@ -146,7 +146,7 @@ def received_payment_msg( price_msat, peer_address_message, ): - return squeak_admin_pb2.ReceivedPayment( + yield squeak_admin_pb2.ReceivedPayment( received_payment_id=None, squeak_hash=squeak_hash.hex(), payment_hash=payment_hash.hex(), @@ -154,3 +154,24 @@ def received_payment_msg( time_ms=None, peer_address=peer_address_message, ) + + +@pytest.fixture +def sent_payment_msg( + squeak_hash, + payment_hash, + secret_key, + price_msat, + seller_pubkey, + peer_address_message, +): + yield squeak_admin_pb2.SentPayment( + sent_payment_id=None, + squeak_hash=squeak_hash.hex(), + payment_hash=payment_hash.hex(), + price_msat=price_msat, + node_pubkey=seller_pubkey, + valid=True, + time_ms=None, + peer_address=peer_address_message, + ) diff --git a/tests/admin/test_messages.py b/tests/admin/test_messages.py index de4b793e..94495878 100644 --- a/tests/admin/test_messages.py +++ b/tests/admin/test_messages.py @@ -24,6 +24,7 @@ from squeaknode.admin.messages import peer_address_to_message from squeaknode.admin.messages import received_offer_to_message from squeaknode.admin.messages import received_payment_to_message from squeaknode.admin.messages import sent_offer_to_message +from squeaknode.admin.messages import sent_payment_to_message from squeaknode.admin.messages import squeak_entry_to_message from squeaknode.admin.messages import squeak_peer_to_message from squeaknode.admin.messages import squeak_profile_to_message @@ -75,3 +76,9 @@ def test_received_payment_to_message(received_payment, received_payment_msg): msg = received_payment_to_message(received_payment) assert msg == received_payment_msg + + +def test_sent_payment_to_message(sent_payment, sent_payment_msg): + msg = sent_payment_to_message(sent_payment) + + assert msg == sent_payment_msg