mirror of https://github.com/nucypher/nucypher.git
Cleanup of Porter tests to account for duration_periods no longer needed for sampling.
parent
2e09e61846
commit
d442375e5f
|
@ -35,7 +35,6 @@ class PorterInterface(ControlInterface):
|
|||
@attach_schema(porter_schema.AliceGetUrsulas)
|
||||
def get_ursulas(self,
|
||||
quantity: int,
|
||||
duration_periods: int,
|
||||
exclude_ursulas: Optional[List[ChecksumAddress]] = None,
|
||||
include_ursulas: Optional[List[ChecksumAddress]] = None) -> dict:
|
||||
ursulas_info = self.implementer.get_ursulas(quantity=quantity,
|
||||
|
|
|
@ -58,14 +58,6 @@ class AliceGetUrsulas(BaseSchema):
|
|||
'-n',
|
||||
help="Total number of Ursulas needed",
|
||||
type=click.INT, required=True))
|
||||
duration_periods = base_fields.PositiveInteger(
|
||||
required=True,
|
||||
load_only=True,
|
||||
click=click.option(
|
||||
'--periods',
|
||||
'-p',
|
||||
help="Required duration of service for Ursulas",
|
||||
type=click.INT, required=True))
|
||||
|
||||
# optional
|
||||
exclude_ursulas = base_fields.StringList(
|
||||
|
|
|
@ -30,14 +30,12 @@ def test_get_ursulas(blockchain_porter_rpc_controller, blockchain_ursulas):
|
|||
expected_response_id = 0
|
||||
|
||||
quantity = 4
|
||||
duration = 2
|
||||
blockchain_ursulas_list = list(blockchain_ursulas)
|
||||
include_ursulas = [blockchain_ursulas_list[0].checksum_address, blockchain_ursulas_list[1].checksum_address]
|
||||
exclude_ursulas = [blockchain_ursulas_list[2].checksum_address, blockchain_ursulas_list[3].checksum_address]
|
||||
|
||||
get_ursulas_params = {
|
||||
'quantity': quantity,
|
||||
'duration_periods': duration,
|
||||
'include_ursulas': include_ursulas,
|
||||
'exclude_ursulas': exclude_ursulas
|
||||
}
|
||||
|
|
|
@ -36,14 +36,12 @@ def test_get_ursulas(blockchain_porter_web_controller, blockchain_ursulas):
|
|||
assert response.status_code == 400
|
||||
|
||||
quantity = 4
|
||||
duration = 2
|
||||
blockchain_ursulas_list = list(blockchain_ursulas)
|
||||
include_ursulas = [blockchain_ursulas_list[0].checksum_address, blockchain_ursulas_list[1].checksum_address]
|
||||
exclude_ursulas = [blockchain_ursulas_list[2].checksum_address, blockchain_ursulas_list[3].checksum_address]
|
||||
|
||||
get_ursulas_params = {
|
||||
'quantity': quantity,
|
||||
'duration_periods': duration,
|
||||
'include_ursulas': include_ursulas,
|
||||
'exclude_ursulas': exclude_ursulas
|
||||
}
|
||||
|
@ -67,7 +65,6 @@ def test_get_ursulas(blockchain_porter_web_controller, blockchain_ursulas):
|
|||
# Test Query parameters
|
||||
#
|
||||
response = blockchain_porter_web_controller.get(f'/get_ursulas?quantity={quantity}'
|
||||
f'&duration_periods={duration}'
|
||||
f'&include_ursulas={",".join(include_ursulas)}'
|
||||
f'&exclude_ursulas={",".join(exclude_ursulas)}')
|
||||
assert response.status_code == 200
|
||||
|
@ -197,10 +194,8 @@ def test_retrieve_cfrags(blockchain_porter,
|
|||
|
||||
def test_get_ursulas_basic_auth(blockchain_porter_basic_auth_web_controller):
|
||||
quantity = 4
|
||||
duration = 2
|
||||
get_ursulas_params = {
|
||||
'quantity': quantity,
|
||||
'duration_periods': duration,
|
||||
}
|
||||
|
||||
response = blockchain_porter_basic_auth_web_controller.get('/get_ursulas', data=json.dumps(get_ursulas_params))
|
||||
|
|
|
@ -22,7 +22,6 @@ from tests.utils.policy import retrieval_request_setup
|
|||
def test_get_ursulas(blockchain_porter, blockchain_ursulas):
|
||||
# simple
|
||||
quantity = 4
|
||||
duration = 2
|
||||
ursulas_info = blockchain_porter.get_ursulas(quantity=quantity)
|
||||
returned_ursula_addresses = {ursula_info.checksum_address for ursula_info in ursulas_info}
|
||||
assert len(returned_ursula_addresses) == quantity # ensure no repeats
|
||||
|
|
|
@ -295,17 +295,16 @@ def blockchain_treasure_map(enacted_blockchain_policy, blockchain_bob):
|
|||
@pytest.fixture(scope="function")
|
||||
def random_blockchain_policy(testerchain, blockchain_alice, blockchain_bob, application_economics):
|
||||
random_label = generate_random_label()
|
||||
periods = application_economics.min_operator_seconds // 2
|
||||
days = periods * (application_economics.hours_per_period // 24)
|
||||
seconds = 60 * 60 * 24 # TODO This needs to be better thought out...?
|
||||
now = testerchain.w3.eth.getBlock('latest').timestamp
|
||||
expiration = maya.MayaDT(now).add(days=days - 1)
|
||||
expiration = maya.MayaDT(now).add(seconds=seconds)
|
||||
shares = 3
|
||||
threshold = 2
|
||||
policy = blockchain_alice.create_policy(blockchain_bob,
|
||||
label=random_label,
|
||||
threshold=threshold,
|
||||
shares=shares,
|
||||
value=shares * periods * 100,
|
||||
value=shares * seconds * 100, # calculation probably needs to incorporate actual cost per second
|
||||
expiration=expiration)
|
||||
return policy
|
||||
|
||||
|
@ -667,7 +666,7 @@ def blockchain_ursulas(testerchain, stakers, ursula_decentralized_test_config):
|
|||
workers_addresses=testerchain.ursulas_accounts)
|
||||
for u in _ursulas:
|
||||
u.synchronous_query_timeout = .01 # We expect to never have to wait for content that is actually on-chain during tests.
|
||||
testerchain.time_travel(periods=1)
|
||||
#testerchain.time_travel(periods=1)
|
||||
|
||||
# Bootstrap the network
|
||||
for ursula_to_teach in _ursulas:
|
||||
|
|
|
@ -28,14 +28,12 @@ def test_get_ursulas(federated_porter_rpc_controller, federated_ursulas):
|
|||
method = 'get_ursulas'
|
||||
|
||||
quantity = 4
|
||||
duration = 2 # irrelevant for federated (but required)
|
||||
federated_ursulas_list = list(federated_ursulas)
|
||||
include_ursulas = [federated_ursulas_list[0].checksum_address, federated_ursulas_list[1].checksum_address]
|
||||
exclude_ursulas = [federated_ursulas_list[2].checksum_address, federated_ursulas_list[3].checksum_address]
|
||||
|
||||
get_ursulas_params = {
|
||||
'quantity': quantity,
|
||||
'duration_periods': duration, # irrelevant for federated (but required)
|
||||
'include_ursulas': include_ursulas,
|
||||
'exclude_ursulas': exclude_ursulas
|
||||
}
|
||||
|
|
|
@ -35,14 +35,12 @@ def test_get_ursulas(federated_porter_web_controller, federated_ursulas):
|
|||
assert response.status_code == 400
|
||||
|
||||
quantity = 4
|
||||
duration = 2 # irrelevant for federated (but required)
|
||||
federated_ursulas_list = list(federated_ursulas)
|
||||
include_ursulas = [federated_ursulas_list[0].checksum_address, federated_ursulas_list[1].checksum_address]
|
||||
exclude_ursulas = [federated_ursulas_list[2].checksum_address, federated_ursulas_list[3].checksum_address]
|
||||
|
||||
get_ursulas_params = {
|
||||
'quantity': quantity,
|
||||
'duration_periods': duration, # irrelevant for federated (but required)
|
||||
'include_ursulas': include_ursulas,
|
||||
'exclude_ursulas': exclude_ursulas
|
||||
}
|
||||
|
@ -66,7 +64,6 @@ def test_get_ursulas(federated_porter_web_controller, federated_ursulas):
|
|||
# Test Query parameters
|
||||
#
|
||||
response = federated_porter_web_controller.get(f'/get_ursulas?quantity={quantity}'
|
||||
f'&duration_periods={duration}'
|
||||
f'&include_ursulas={",".join(include_ursulas)}'
|
||||
f'&exclude_ursulas={",".join(exclude_ursulas)}')
|
||||
assert response.status_code == 200
|
||||
|
@ -204,10 +201,8 @@ def test_endpoints_basic_auth(federated_porter_basic_auth_web_controller,
|
|||
federated_alice):
|
||||
# /get_ursulas
|
||||
quantity = 4
|
||||
duration = 2 # irrelevant for federated (but required)
|
||||
get_ursulas_params = {
|
||||
'quantity': quantity,
|
||||
'duration_periods': duration, # irrelevant for federated (but required)
|
||||
}
|
||||
response = federated_porter_basic_auth_web_controller.get('/get_ursulas', data=json.dumps(get_ursulas_params))
|
||||
assert response.status_code == 401 # user unauthorized
|
||||
|
|
|
@ -43,7 +43,6 @@ def test_alice_get_ursulas_schema(get_random_checksum_address):
|
|||
quantity = 10
|
||||
required_data = {
|
||||
'quantity': quantity,
|
||||
'duration_periods': 4,
|
||||
}
|
||||
|
||||
# required args
|
||||
|
@ -54,10 +53,6 @@ def test_alice_get_ursulas_schema(get_random_checksum_address):
|
|||
with pytest.raises(InvalidInputData):
|
||||
AliceGetUrsulas().load(updated_data)
|
||||
|
||||
updated_data = {k: v for k, v in required_data.items() if k != 'duration_periods'}
|
||||
with pytest.raises(InvalidInputData):
|
||||
AliceGetUrsulas().load(updated_data)
|
||||
|
||||
# optional components
|
||||
|
||||
# only exclude
|
||||
|
|
Loading…
Reference in New Issue