From 47a68505b76d16ece235f858ecd5dc7c5322bb79 Mon Sep 17 00:00:00 2001 From: Jonathan Zernik Date: Fri, 15 Oct 2021 20:47:27 -0700 Subject: [PATCH] Add test for connected peer to msg (#1610) --- tests/admin/conftest.py | 15 +++++++++++++++ tests/admin/test_messages.py | 7 +++++++ tests/conftest.py | 21 +++++++++++++++++++++ 3 files changed, 43 insertions(+) diff --git a/tests/admin/conftest.py b/tests/admin/conftest.py index bb0e0f84..f795f3ca 100644 --- a/tests/admin/conftest.py +++ b/tests/admin/conftest.py @@ -199,3 +199,18 @@ def payment_summary_msg( amount_earned_msat=total_amount_received_msat, amount_spent_msat=total_amount_sent_msat, ) + + +@pytest.fixture +def connected_peer_msg(peer_address_message, peer_msg): + yield squeak_admin_pb2.ConnectedPeer( + peer_address=peer_address_message, + connect_time_s=0, + last_message_received_time_s=0, + number_messages_received=0, + number_bytes_received=0, + number_messages_sent=0, + number_bytes_sent=0, + is_peer_saved=True, + saved_peer=peer_msg, + ) diff --git a/tests/admin/test_messages.py b/tests/admin/test_messages.py index 3fb35cf8..478766a4 100644 --- a/tests/admin/test_messages.py +++ b/tests/admin/test_messages.py @@ -19,6 +19,7 @@ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +from squeaknode.admin.messages import connected_peer_to_message from squeaknode.admin.messages import message_to_peer_address from squeaknode.admin.messages import message_to_received_payment from squeaknode.admin.messages import message_to_sent_payment @@ -132,3 +133,9 @@ def test_payment_summary_to_message( ) assert msg == payment_summary_msg + + +def test_connected_peer_to_message(connected_peer, connected_peer_msg): + msg = connected_peer_to_message(connected_peer) + + assert msg == connected_peer_msg diff --git a/tests/conftest.py b/tests/conftest.py index c8a42f3e..bd598e97 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -26,6 +26,7 @@ from squeak.core.signing import CSigningKey from squeak.core.signing import CSqueakAddress from squeaknode.bitcoin.block_info import BlockInfo +from squeaknode.core.connected_peer import ConnectedPeer from squeaknode.core.lightning_address import LightningAddressHostPort from squeaknode.core.offer import Offer from squeaknode.core.peer_address import Network @@ -42,6 +43,7 @@ from squeaknode.core.squeak_entry import SqueakEntry from squeaknode.core.squeak_peer import SqueakPeer from squeaknode.core.squeaks import get_hash from squeaknode.core.squeaks import make_squeak_with_block +from squeaknode.network.peer import Peer from tests.utils import gen_contact_profile from tests.utils import gen_signing_profile from tests.utils import sha256 @@ -458,3 +460,22 @@ def sent_payment_summary( num_sent_payments=num_sent_payments, total_amount_sent_msat=total_amount_sent_msat, ) + + +@pytest.fixture +def peer_object(peer_address): + yield Peer( + peer_socket=None, + local_address=peer_address, + remote_address=peer_address, + outgoing=True, + peer_changed_listener=None, + ) + + +@pytest.fixture +def connected_peer(peer, peer_object): + yield ConnectedPeer( + peer=peer_object, + saved_peer=peer, + )