mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2025-09-08 15:28:44 +00:00
Fix NostrClient relay initialization
This commit is contained in:
@@ -73,7 +73,11 @@ class NostrClient:
|
|||||||
|
|
||||||
def initialize_client_pool(self) -> None:
|
def initialize_client_pool(self) -> None:
|
||||||
"""Add relays to the client and connect."""
|
"""Add relays to the client and connect."""
|
||||||
|
if hasattr(self.client, "add_relays"):
|
||||||
self.client.add_relays(self.relays)
|
self.client.add_relays(self.relays)
|
||||||
|
else:
|
||||||
|
for relay in self.relays:
|
||||||
|
self.client.add_relay(relay)
|
||||||
self.client.connect()
|
self.client.connect()
|
||||||
logger.info(f"NostrClient connected to relays: {self.relays}")
|
logger.info(f"NostrClient connected to relays: {self.relays}")
|
||||||
|
|
||||||
|
@@ -24,3 +24,54 @@ def test_nostr_client_uses_custom_relays():
|
|||||||
client = NostrClient(enc_mgr, "fp", relays=custom_relays)
|
client = NostrClient(enc_mgr, "fp", relays=custom_relays)
|
||||||
|
|
||||||
assert client.relays == custom_relays
|
assert client.relays == custom_relays
|
||||||
|
|
||||||
|
|
||||||
|
class FakeAddRelaysClient:
|
||||||
|
def __init__(self, _signer):
|
||||||
|
self.added = []
|
||||||
|
self.connected = False
|
||||||
|
|
||||||
|
def add_relays(self, relays):
|
||||||
|
self.added.append(relays)
|
||||||
|
|
||||||
|
def connect(self):
|
||||||
|
self.connected = True
|
||||||
|
|
||||||
|
|
||||||
|
class FakeAddRelayClient:
|
||||||
|
def __init__(self, _signer):
|
||||||
|
self.added = []
|
||||||
|
self.connected = False
|
||||||
|
|
||||||
|
def add_relay(self, relay):
|
||||||
|
self.added.append(relay)
|
||||||
|
|
||||||
|
def connect(self):
|
||||||
|
self.connected = True
|
||||||
|
|
||||||
|
|
||||||
|
def _setup_client(tmpdir, fake_cls):
|
||||||
|
key = Fernet.generate_key()
|
||||||
|
enc_mgr = EncryptionManager(key, Path(tmpdir))
|
||||||
|
|
||||||
|
with patch("nostr.client.Client", fake_cls), patch(
|
||||||
|
"nostr.client.KeyManager"
|
||||||
|
) as MockKM, patch.object(enc_mgr, "decrypt_parent_seed", return_value="seed"):
|
||||||
|
km_inst = MockKM.return_value
|
||||||
|
km_inst.keys.private_key_hex.return_value = "1" * 64
|
||||||
|
client = NostrClient(enc_mgr, "fp")
|
||||||
|
return client
|
||||||
|
|
||||||
|
|
||||||
|
def test_initialize_client_pool_add_relays_used(tmp_path):
|
||||||
|
client = _setup_client(tmp_path, FakeAddRelaysClient)
|
||||||
|
fc = client.client
|
||||||
|
assert fc.added == [client.relays]
|
||||||
|
assert fc.connected is True
|
||||||
|
|
||||||
|
|
||||||
|
def test_initialize_client_pool_add_relay_fallback(tmp_path):
|
||||||
|
client = _setup_client(tmp_path, FakeAddRelayClient)
|
||||||
|
fc = client.client
|
||||||
|
assert fc.added == client.relays
|
||||||
|
assert fc.connected is True
|
||||||
|
Reference in New Issue
Block a user