Use default peer port config when port not specified (#2218)

This commit is contained in:
Jonathan Zernik 2022-05-24 21:41:56 -07:00 committed by GitHub
parent a8ebf8e9e9
commit afd3af091a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 37 additions and 7 deletions

View file

@ -40,7 +40,7 @@ DEFAULT_LOG_LEVEL = "INFO"
DEFAULT_MAX_SQUEAKS = 10000
DEFAULT_MAX_SQUEAKS_PER_PUBLIC_KEY_PER_BLOCK = 100
DEFAULT_SERVER_RPC_HOST = "0.0.0.0"
DEFAULT_SERVER_RPC_PORT = None
DEFAULT_SERVER_RPC_PORT = 8555
DEFAULT_EXTERNAL_PORT = 8555
DEFAULT_ADMIN_RPC_HOST = "0.0.0.0"
DEFAULT_ADMIN_RPC_PORT = 8994

View file

@ -26,8 +26,13 @@ from squeaknode.core.squeak_peer import SqueakPeer
def create_saved_peer(
peer_name: str,
peer_address: PeerAddress,
default_peer_port: int,
) -> SqueakPeer:
validate_saved_peer_name(peer_name)
if peer_address.port == 0:
peer_address = peer_address._replace(
port=default_peer_port,
)
return SqueakPeer(
peer_id=None,
peer_name=peer_name,

View file

@ -187,7 +187,11 @@ class SqueakController:
return self.squeak_store.get_squeak_profile_private_key(profile_id)
def create_peer(self, peer_name: str, peer_address: PeerAddress):
return self.squeak_store.create_peer(peer_name, peer_address)
return self.squeak_store.create_peer(
peer_name,
peer_address,
self.config.server.port or 0,
)
def get_peer(self, peer_id: int) -> Optional[SqueakPeer]:
return self.squeak_store.get_peer(peer_id)

View file

@ -389,10 +389,11 @@ class SqueakStore:
))
return get_profile_private_key(profile)
def create_peer(self, peer_name: str, peer_address: PeerAddress):
def create_peer(self, peer_name: str, peer_address: PeerAddress, default_peer_port):
squeak_peer = create_saved_peer(
peer_name,
peer_address,
default_peer_port,
)
return self.squeak_db.insert_peer(squeak_peer)

View file

@ -31,6 +31,11 @@ def peer_name():
yield "fake_peer_name"
@pytest.fixture
def default_peer_port():
yield 9999
@pytest.fixture
def peer_address():
yield PeerAddress(
@ -58,24 +63,37 @@ def peer_address_with_no_port():
)
def test_create_saved_peer(peer_name, peer_address):
def test_create_saved_peer(peer_name, peer_address, default_peer_port):
peer = create_saved_peer(
peer_name,
peer_address,
default_peer_port,
)
assert peer.peer_name == peer_name
assert peer.address == peer_address
def test_create_saved_peer_empty_name(peer_address):
create_saved_peer("", peer_address)
def test_create_saved_peer_empty_name(peer_address, default_peer_port):
create_saved_peer("", peer_address, default_peer_port)
def test_create_saved_peer_use_tor(peer_name, peer_address_with_tor):
def test_create_saved_peer_no_port(peer_name, peer_address_with_no_port, default_peer_port):
peer = create_saved_peer(
peer_name,
peer_address_with_no_port,
default_peer_port,
)
assert peer.peer_name == peer_name
assert peer.address.port == default_peer_port
def test_create_saved_peer_use_tor(peer_name, peer_address_with_tor, default_peer_port):
peer = create_saved_peer(
peer_name,
peer_address_with_tor,
default_peer_port,
)
assert peer.peer_name == peer_name

View file

@ -167,4 +167,5 @@ def test_create_peer(squeak_store, squeak_controller, peer_address):
squeak_store.create_peer.assert_called_with(
"fake_peer_name",
peer_address,
8555,
)

View file

@ -121,6 +121,7 @@ def gen_squeak_peer(peer_name):
return create_saved_peer(
peer_name,
peer_address,
0,
)