mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2025-09-08 07:18:47 +00:00
Fix NostrClient relay initialization
This commit is contained in:
@@ -73,7 +73,11 @@ class NostrClient:
|
||||
|
||||
def initialize_client_pool(self) -> None:
|
||||
"""Add relays to the client and connect."""
|
||||
self.client.add_relays(self.relays)
|
||||
if hasattr(self.client, "add_relays"):
|
||||
self.client.add_relays(self.relays)
|
||||
else:
|
||||
for relay in self.relays:
|
||||
self.client.add_relay(relay)
|
||||
self.client.connect()
|
||||
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)
|
||||
|
||||
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