Fake addresses for fake Ursulas. Good enough for these highperf tests.

pull/3030/head
jMyles 2022-12-06 02:40:38 -05:00 committed by Kieran Prasch
parent 52dcd13a53
commit 97b19ea3e4
5 changed files with 19 additions and 17 deletions

View File

@ -18,7 +18,7 @@ def test_ursula_serves_statics(ursula_test_config, testerchain, agency):
node = make_ursulas(
ursula_config=ursula_test_config,
quantity=1,
max_quantity=1,
staking_provider_addresses=testerchain.stake_providers_accounts,
operator_addresses=testerchain.ursulas_accounts,
).pop()

View File

@ -428,7 +428,7 @@ def _mock_testerchain() -> MockBlockchain:
@pytest.fixture(scope='module')
def _mock_testerchain_with_5000_ursulas() -> MockBlockchain:
BlockchainInterfaceFactory._interfaces = dict()
testerchain = _make_testerchain(mock_backend=True, population=5000)
testerchain = _make_testerchain(mock_backend=True, population=30)
BlockchainInterfaceFactory.register_interface(interface=testerchain)
yield testerchain
@ -697,6 +697,10 @@ def fleet_of_highperf_mocked_ursulas(ursula_test_config, request, big_testerchai
quantity = request.param
except AttributeError:
quantity = 5000 # Bigass fleet by default; that's kinda the point.
staking_addresses = (to_checksum_address('0x' + os.urandom(20).hex()) for _ in range(5000))
operator_addresses = (to_checksum_address('0x' + os.urandom(20).hex()) for _ in range(5000))
with GlobalLoggerSettings.pause_all_logging_while():
with contextlib.ExitStack() as stack:
@ -705,10 +709,10 @@ def fleet_of_highperf_mocked_ursulas(ursula_test_config, request, big_testerchai
_ursulas = make_ursulas(
ursula_config=ursula_test_config,
quantity=quantity,
max_quantity=quantity,
know_each_other=False,
staking_provider_addresses=testerchain.stake_providers_accounts,
operator_addresses=testerchain.ursulas_accounts
staking_provider_addresses=staking_addresses,
operator_addresses=operator_addresses,
)
all_ursulas = {u.checksum_address: u for u in _ursulas}
@ -726,7 +730,7 @@ def fleet_of_highperf_mocked_ursulas(ursula_test_config, request, big_testerchai
@pytest.fixture(scope="module")
def highperf_mocked_alice(fleet_of_highperf_mocked_ursulas, test_registry_source_manager, monkeymodule, big_testerchain):
def highperf_mocked_alice(fleet_of_highperf_mocked_ursulas, test_registry_source_manager, monkeymodule, testerchain):
monkeymodule.setattr(CharacterConfiguration, 'DEFAULT_PAYMENT_NETWORK', TEMPORARY_DOMAIN)
config = AliceConfiguration(dev_mode=True,

View File

@ -2,10 +2,11 @@
import contextlib
import pytest
import time
import maya
import pytest
from nucypher_core.umbral import SecretKey, Signer
from nucypher.characters.lawful import Ursula
@ -17,7 +18,7 @@ from tests.mock.performance_mocks import (
mock_message_verification,
mock_metadata_validation,
mock_secret_source,
mock_verify_node,
mock_verify_node
)
from tests.utils.ursula import MOCK_KNOWN_URSULAS_CACHE
@ -40,10 +41,7 @@ performance bottlenecks.
"""
@pytest.mark.skip("TODO: This test is not yet unfederated.")
def test_alice_can_learn_about_a_whole_bunch_of_ursulas(
highperf_mocked_alice, test_registry_source_manager
):
def test_alice_can_learn_about_a_whole_bunch_of_ursulas(highperf_mocked_alice, test_registry_source_manager):
# During the fixture execution, Alice verified one node.
# TODO: Consider changing this - #1449
assert VerificationTracker.node_verifications == 1

View File

@ -88,7 +88,7 @@ def test_learner_ignores_stored_nodes_from_other_domains(
learner, other_staker = make_ursulas(
ursula_test_config,
domain="call-it-mainnet",
quantity=2,
max_quantity=2,
know_each_other=True,
staking_provider_addresses=testerchain.stake_providers_accounts[:2],
operator_addresses=testerchain.ursulas_accounts[:2],
@ -97,7 +97,7 @@ def test_learner_ignores_stored_nodes_from_other_domains(
pest, *other_ursulas_from_the_wrong_side_of_the_tracks = make_ursulas(
ursula_test_config,
domain="i-dunno-testt-maybe",
quantity=5,
max_quantity=5,
know_each_other=True,
staking_provider_addresses=testerchain.stake_providers_accounts[2:],
operator_addresses=testerchain.ursulas_accounts[2:],
@ -157,7 +157,7 @@ def test_learner_uses_both_nodes_from_storage_and_fallback_nodes(
domain=domain,
node_storage=node_storage,
know_each_other=True,
quantity=3,
max_quantity=3,
save_metadata=True,
staking_provider_addresses=testerchain.stake_providers_accounts[:3],
operator_addresses=testerchain.ursulas_accounts[:3],

View File

@ -64,12 +64,12 @@ def make_ursulas(
ursula_config: UrsulaConfiguration,
staking_provider_addresses: Iterable[str],
operator_addresses: Iterable[str],
quantity: int = NUMBER_OF_URSULAS_IN_DEVELOPMENT_NETWORK,
max_quantity: int = NUMBER_OF_URSULAS_IN_DEVELOPMENT_NETWORK,
know_each_other: bool = True,
**ursula_overrides
) -> List[Ursula]:
providers_and_operators = list(zip(staking_provider_addresses, operator_addresses))[:quantity]
providers_and_operators = list(zip(staking_provider_addresses, operator_addresses))[:max_quantity]
ursulas = list()
for staking_provider_address, operator_address in providers_and_operators: