diff --git a/nucypher/utilities/porter/control/interfaces.py b/nucypher/utilities/porter/control/interfaces.py index be803a8e0..daeee0fcf 100644 --- a/nucypher/utilities/porter/control/interfaces.py +++ b/nucypher/utilities/porter/control/interfaces.py @@ -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, diff --git a/nucypher/utilities/porter/control/specifications/porter_schema.py b/nucypher/utilities/porter/control/specifications/porter_schema.py index 5c65406b7..65fcfb400 100644 --- a/nucypher/utilities/porter/control/specifications/porter_schema.py +++ b/nucypher/utilities/porter/control/specifications/porter_schema.py @@ -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( diff --git a/tests/acceptance/porter/control/test_porter_rpc_control_blockchain.py b/tests/acceptance/porter/control/test_porter_rpc_control_blockchain.py index 936278244..cd9501fc7 100644 --- a/tests/acceptance/porter/control/test_porter_rpc_control_blockchain.py +++ b/tests/acceptance/porter/control/test_porter_rpc_control_blockchain.py @@ -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 } diff --git a/tests/acceptance/porter/control/test_porter_web_control_blockchain.py b/tests/acceptance/porter/control/test_porter_web_control_blockchain.py index 81c0abfa8..045330366 100644 --- a/tests/acceptance/porter/control/test_porter_web_control_blockchain.py +++ b/tests/acceptance/porter/control/test_porter_web_control_blockchain.py @@ -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)) diff --git a/tests/acceptance/porter/test_decentralized_porter.py b/tests/acceptance/porter/test_decentralized_porter.py index 345c9a274..674ddd506 100644 --- a/tests/acceptance/porter/test_decentralized_porter.py +++ b/tests/acceptance/porter/test_decentralized_porter.py @@ -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 diff --git a/tests/fixtures.py b/tests/fixtures.py index b37708841..875f113b8 100644 --- a/tests/fixtures.py +++ b/tests/fixtures.py @@ -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: diff --git a/tests/integration/porter/control/test_porter_rpc_control_federated.py b/tests/integration/porter/control/test_porter_rpc_control_federated.py index 8213eb220..adefca911 100644 --- a/tests/integration/porter/control/test_porter_rpc_control_federated.py +++ b/tests/integration/porter/control/test_porter_rpc_control_federated.py @@ -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 } diff --git a/tests/integration/porter/control/test_porter_web_control_federated.py b/tests/integration/porter/control/test_porter_web_control_federated.py index 32c22e51a..6339a754f 100644 --- a/tests/integration/porter/control/test_porter_web_control_federated.py +++ b/tests/integration/porter/control/test_porter_web_control_federated.py @@ -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 diff --git a/tests/integration/porter/test_porter_specifications.py b/tests/integration/porter/test_porter_specifications.py index 0fb649619..a39075426 100644 --- a/tests/integration/porter/test_porter_specifications.py +++ b/tests/integration/porter/test_porter_specifications.py @@ -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