mirror of
https://github.com/yzernik/squeaknode.git
synced 2026-08-13 12:33:25 +02:00
Create peer with default port (#569)
* Added unit test for create peer * Got test working for create peer with default port * Use namedtuple for squeak peer class * Rename test name in test create peer * Use type hints for insert squeak peer
This commit is contained in:
parent
c587dc0d5f
commit
62c13ddaba
5 changed files with 54 additions and 7 deletions
|
|
@ -89,6 +89,8 @@ class WebadminConfig(Config):
|
|||
@section('core')
|
||||
class CoreConfig(Config):
|
||||
network = key(cast=str, required=False, default=DEFAULT_NETWORK)
|
||||
default_peer_rpc_port = key(
|
||||
cast=int, required=False, default=DEFAULT_SERVER_RPC_PORT)
|
||||
price_msat = key(cast=int, required=False, default=DEFAULT_PRICE_MSAT)
|
||||
max_squeaks_per_address_per_hour = key(
|
||||
cast=int, required=False, default=DEFAULT_MAX_SQUEAKS_PER_ADDRESS_PER_HOUR)
|
||||
|
|
|
|||
|
|
@ -222,7 +222,8 @@ class SqueakController:
|
|||
logger.info("Deleted number of offers : {}".format(num_deleted_offers))
|
||||
return self.squeak_store.delete_squeak(squeak_hash)
|
||||
|
||||
def create_peer(self, peer_name, host, port):
|
||||
def create_peer(self, peer_name: str, host: str, port: int):
|
||||
port = port or self.config.core.default_peer_rpc_port
|
||||
squeak_peer = SqueakPeer(
|
||||
peer_id=None,
|
||||
peer_name=peer_name,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
from collections import namedtuple
|
||||
from typing import NamedTuple
|
||||
from typing import Optional
|
||||
|
||||
SqueakPeer = namedtuple(
|
||||
"SqueakPeer",
|
||||
"peer_id, peer_name, host, port, uploading, downloading",
|
||||
)
|
||||
|
||||
class SqueakPeer(NamedTuple):
|
||||
peer_id: Optional[int]
|
||||
peer_name: str
|
||||
host: str
|
||||
port: int
|
||||
uploading: bool
|
||||
downloading: bool
|
||||
|
|
|
|||
|
|
@ -664,7 +664,7 @@ class SqueakDb:
|
|||
# with self.get_cursor() as curs:
|
||||
# curs.execute(sql, (squeak_hash_str,))
|
||||
|
||||
def insert_peer(self, squeak_peer):
|
||||
def insert_peer(self, squeak_peer: SqueakPeer):
|
||||
""" Insert a new squeak peer. """
|
||||
ins = self.peers.insert().values(
|
||||
peer_name=squeak_peer.peer_name,
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ from squeaknode.bitcoin.blockchain_client import BlockchainClient
|
|||
from squeaknode.config.config import SqueaknodeConfig
|
||||
from squeaknode.core.lightning_address import LightningAddressHostPort
|
||||
from squeaknode.core.squeak_controller import SqueakController
|
||||
from squeaknode.core.squeak_peer import SqueakPeer
|
||||
from squeaknode.db.squeak_db import SqueakDb
|
||||
from squeaknode.node.squeak_store import SqueakStore
|
||||
from squeaknode.node.squeak_whitelist import SqueakWhitelist
|
||||
|
|
@ -128,3 +129,41 @@ def test_get_network_regtest(regtest_squeak_controller):
|
|||
# print(config.squeaknode_network)
|
||||
|
||||
# assert squeak_controller.get_network() == "regtest"
|
||||
|
||||
|
||||
def test_create_peer(squeak_db, squeak_controller):
|
||||
squeak_controller.create_peer(
|
||||
"fake_peer_name",
|
||||
"fake_host",
|
||||
5678,
|
||||
)
|
||||
|
||||
squeak_db.insert_peer.assert_called_with(
|
||||
SqueakPeer(
|
||||
peer_id=None,
|
||||
peer_name="fake_peer_name",
|
||||
host="fake_host",
|
||||
port=5678,
|
||||
uploading=False,
|
||||
downloading=False,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def test_create_peer_default_port(config, squeak_db, squeak_controller):
|
||||
squeak_controller.create_peer(
|
||||
"fake_peer_name",
|
||||
"fake_host",
|
||||
0,
|
||||
)
|
||||
|
||||
squeak_db.insert_peer.assert_called_with(
|
||||
SqueakPeer(
|
||||
peer_id=None,
|
||||
peer_name="fake_peer_name",
|
||||
host="fake_host",
|
||||
port=config.core.default_peer_rpc_port,
|
||||
uploading=False,
|
||||
downloading=False,
|
||||
)
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue