Updates tests and utilities with blockchain-representable characters

pull/330/head
Kieran Prasch 2018-06-10 13:05:28 -07:00
parent c442d1cd95
commit 27ffc557ad
3 changed files with 20 additions and 8 deletions

View File

@ -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

View File

@ -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"

View File

@ -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: