mirror of https://github.com/nucypher/nucypher.git
Updates tests and utilities with blockchain-representable characters
parent
c442d1cd95
commit
27ffc557ad
|
@ -696,7 +696,7 @@ class Ursula(Character, ProxyRESTServer, Miner):
|
|||
{SigningPower: signing_key, EncryptingPower: encrypting_key},
|
||||
ip_address=ip_address,
|
||||
rest_port=port,
|
||||
federated_only=True # TODO: 289
|
||||
federated_only=True # TODO: 289
|
||||
)
|
||||
|
||||
return stranger_ursula_from_public_keys
|
||||
|
|
|
@ -13,15 +13,16 @@ from nucypher.crypto.api import keccak_digest
|
|||
from nucypher.crypto.powers import SigningPower, EncryptingPower
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('ursulas')
|
||||
@pytest.mark.usefixtures('token_airdrop')
|
||||
def test_grant(alice, bob, mock_miner_agent):
|
||||
def test_grant(alice, bob, ursulas, mock_miner_agent):
|
||||
|
||||
_origin, ursula, *everybody_else = mock_miner_agent.blockchain.interface.w3.eth.accounts
|
||||
_etherbase, ursula_address, *everybody_else = mock_miner_agent.blockchain.interface.w3.eth.accounts
|
||||
mock_miner_agent.spawn_random_miners(addresses=everybody_else)
|
||||
|
||||
mock_miner_agent.blockchain.time_travel(periods=1)
|
||||
|
||||
ursula, *other_ursulas = ursulas
|
||||
alice.learn_about_nodes(rest_address=ursula.ip_address, port=ursula.rest_port)
|
||||
|
||||
policy_end_datetime = maya.now() + datetime.timedelta(days=5)
|
||||
n = 5
|
||||
uri = b"this_is_the_path_to_which_access_is_being_granted"
|
||||
|
|
|
@ -31,10 +31,9 @@ def make_ursulas(ether_addresses: list, ursula_starting_port: int, miners=False)
|
|||
event_loop = asyncio.get_event_loop()
|
||||
|
||||
_ursulas = []
|
||||
for _counter, ether_address in enumerate(ether_addresses):
|
||||
port = ursula_starting_port + _counter
|
||||
for port, ether_address in enumerate(ether_addresses, start=ursula_starting_port):
|
||||
ursula = Ursula(is_me=True, ether_address=ether_address, dht_port=port, db_name="test-{}".format(port),
|
||||
ip_address="127.0.0.1", rest_port=port + 100)
|
||||
ip_address="127.0.0.1", rest_port=port+100)
|
||||
|
||||
class MockDatastoreThreadPool(object):
|
||||
def callInThread(self, f, *args, **kwargs):
|
||||
|
@ -43,6 +42,18 @@ def make_ursulas(ether_addresses: list, ursula_starting_port: int, miners=False)
|
|||
ursula.datastore_threadpool = MockDatastoreThreadPool()
|
||||
ursula.dht_listen()
|
||||
|
||||
if miners is True:
|
||||
# # stake a random amount
|
||||
# min_stake, balance = constants.MIN_ALLOWED_LOCKED, ursula.token_balance()
|
||||
# amount = random.randint(min_stake, balance)
|
||||
#
|
||||
# # for a random lock duration
|
||||
# min_locktime, max_locktime = constants.MIN_LOCKED_PERIODS, constants.MAX_MINTING_PERIODS
|
||||
# periods = random.randint(min_locktime, max_locktime)
|
||||
#
|
||||
# ursula.stake(amount=amount, lock_periods=periods)
|
||||
# ursula.miner_agent.blockchain.time_travel(periods=1)
|
||||
|
||||
_ursulas.append(ursula)
|
||||
|
||||
for ursula in _ursulas:
|
||||
|
|
Loading…
Reference in New Issue