mirror of https://github.com/nucypher/nucypher.git
Agent tests for start/end policy time
parent
24d56a03cc
commit
513c5a491d
|
@ -581,12 +581,11 @@ class PolicyManagerAgent(EthereumContractAgent):
|
|||
policy_id: str,
|
||||
author_address: str,
|
||||
value: int,
|
||||
periods: int,
|
||||
first_period_reward: int,
|
||||
end_timestamp: int,
|
||||
node_addresses: List[str]):
|
||||
|
||||
payload = {'value': value}
|
||||
contract_function = self.contract.functions.createPolicy(policy_id, periods, first_period_reward, node_addresses)
|
||||
contract_function = self.contract.functions.createPolicy(policy_id, end_timestamp, node_addresses)
|
||||
receipt = self.blockchain.send_transaction(contract_function=contract_function,
|
||||
payload=payload,
|
||||
sender_address=author_address)
|
||||
|
|
|
@ -17,8 +17,9 @@ along with nucypher. If not, see <https://www.gnu.org/licenses/>.
|
|||
import os
|
||||
|
||||
import collections
|
||||
|
||||
import pytest
|
||||
from eth_utils import is_checksum_address
|
||||
from eth_utils import is_checksum_address, to_wei
|
||||
|
||||
from nucypher.crypto.powers import TransactingPower
|
||||
from nucypher.utilities.sandbox.constants import INSECURE_DEVELOPMENT_PASSWORD
|
||||
|
@ -33,11 +34,12 @@ def policy_meta(testerchain, agency, token_economics, blockchain_ursulas):
|
|||
|
||||
_policy_id = os.urandom(16)
|
||||
staker_addresses = list(staking_agent.sample(quantity=3, duration=1))
|
||||
number_of_periods = 10
|
||||
now = testerchain.w3.eth.getBlock(block_identifier='latest').timestamp
|
||||
_txhash = agent.create_policy(policy_id=_policy_id,
|
||||
author_address=testerchain.alice_account,
|
||||
value=token_economics.minimum_allowed_locked,
|
||||
periods=10,
|
||||
first_period_reward=20,
|
||||
value=to_wei(1, 'gwei') * len(staker_addresses) * number_of_periods,
|
||||
end_timestamp=now + (number_of_periods - 1) * token_economics.hours_per_period * 60 * 60,
|
||||
node_addresses=staker_addresses)
|
||||
|
||||
return MockPolicyMetadata(_policy_id, testerchain.alice_account, staker_addresses)
|
||||
|
@ -53,11 +55,11 @@ def test_create_policy(testerchain, agency, token_economics, mock_transacting_po
|
|||
|
||||
policy_id = os.urandom(16)
|
||||
node_addresses = list(staking_agent.sample(quantity=3, duration=1))
|
||||
now = testerchain.w3.eth.getBlock(block_identifier='latest').timestamp
|
||||
receipt = agent.create_policy(policy_id=policy_id,
|
||||
author_address=testerchain.alice_account,
|
||||
value=token_economics.minimum_allowed_locked,
|
||||
periods=10,
|
||||
first_period_reward=20,
|
||||
end_timestamp=now + 10 * token_economics.hours_per_period * 60,
|
||||
node_addresses=node_addresses)
|
||||
|
||||
assert receipt['status'] == 1, "Transaction Rejected"
|
||||
|
|
|
@ -185,11 +185,12 @@ def test_collect_policy_reward(testerchain, agent, agency, token_economics, mock
|
|||
testerchain.time_travel(periods=1)
|
||||
|
||||
mock_transacting_power_activation(account=author, password=INSECURE_DEVELOPMENT_PASSWORD)
|
||||
_receipt = policy_agent.create_policy(policy_id=os.urandom(16),
|
||||
now = testerchain.w3.eth.getBlock(block_identifier='latest').timestamp
|
||||
policy_id = os.urandom(16)
|
||||
_receipt = policy_agent.create_policy(policy_id=policy_id,
|
||||
author_address=author,
|
||||
value=to_wei(1, 'ether'),
|
||||
periods=2,
|
||||
first_period_reward=0,
|
||||
end_timestamp=now + token_economics.hours_per_period * 60 * 60,
|
||||
node_addresses=[agent.contract_address])
|
||||
|
||||
mock_transacting_power_activation(account=worker, password=INSECURE_DEVELOPMENT_PASSWORD)
|
||||
|
|
Loading…
Reference in New Issue