Move common test function to utility module.

pull/3025/head
derekpierre 2022-11-21 12:53:25 -05:00
parent 58e1416013
commit d5e18dc56e
3 changed files with 23 additions and 19 deletions

View File

@ -26,7 +26,7 @@ from nucypher.policy.conditions.exceptions import (
)
from nucypher.policy.conditions.lingo import ConditionLingo, ReturnValueTest
from tests.constants import TESTERCHAIN_CHAIN_ID
from tests.integration.characters.test_bob_handles_frags import _make_message_kits
from tests.utils.policy import make_message_kits
def _dont_validate_user_address(context_variable: str, **context):
@ -547,7 +547,9 @@ def test_single_retrieve_with_onchain_conditions(enacted_blockchain_policy, bloc
}
}
]
messages, message_kits = _make_message_kits(enacted_blockchain_policy.public_key, conditions)
messages, message_kits = make_message_kits(
enacted_blockchain_policy.public_key, conditions
)
policy_info_kwargs = dict(
encrypted_treasure_map=enacted_blockchain_policy.treasure_map,
alice_verifying_key=enacted_blockchain_policy.publisher_verifying_key,

View File

@ -3,8 +3,8 @@ import json
from nucypher_core import Address, Conditions, RetrievalKit
from nucypher_core._nucypher_core import MessageKit
from nucypher.characters.lawful import Enrico
from tests.utils.middleware import NodeIsDownMiddleware
from tests.utils.policy import make_message_kits
def _policy_info_kwargs(enacted_policy):
@ -14,21 +14,8 @@ def _policy_info_kwargs(enacted_policy):
)
def _make_message_kits(policy_pubkey, conditions=None):
messages = [b"plaintext1", b"plaintext2", b"plaintext3"]
message_kits = []
for message in messages:
# Using different Enricos, because why not.
enrico = Enrico(policy_encrypting_key=policy_pubkey)
message_kit = enrico.encrypt_message(message, conditions=conditions)
message_kits.append(message_kit)
return messages, message_kits
def test_retrieval_kit(enacted_federated_policy, federated_ursulas):
messages, message_kits = _make_message_kits(enacted_federated_policy.public_key)
messages, message_kits = make_message_kits(enacted_federated_policy.public_key)
capsule = message_kits[0].capsule
addresses = {Address(ursula.canonical_address) for ursula in list(federated_ursulas)[:2]}
@ -43,7 +30,7 @@ def test_retrieval_kit(enacted_federated_policy, federated_ursulas):
def test_single_retrieve(enacted_federated_policy, federated_bob, federated_ursulas):
federated_bob.start_learning_loop()
messages, message_kits = _make_message_kits(enacted_federated_policy.public_key)
messages, message_kits = make_message_kits(enacted_federated_policy.public_key)
cleartexts = federated_bob.retrieve_and_decrypt(
message_kits=message_kits,
@ -94,7 +81,7 @@ def test_single_retrieve_conditions_empty_list(
def test_use_external_cache(enacted_federated_policy, federated_bob, federated_ursulas):
federated_bob.start_learning_loop()
messages, message_kits = _make_message_kits(enacted_federated_policy.public_key)
messages, message_kits = make_message_kits(enacted_federated_policy.public_key)
ursulas = list(federated_ursulas)

View File

@ -3,6 +3,8 @@
import os
import random
from nucypher.characters.lawful import Enrico
def generate_random_label() -> bytes:
"""
@ -15,3 +17,16 @@ def generate_random_label() -> bytes:
selection = random.choice(combinations)
random_label = f'label://{selection}-{os.urandom(4).hex()}'
return bytes(random_label, encoding='utf-8')
def make_message_kits(policy_pubkey, conditions=None):
messages = [b"plaintext1", b"plaintext2", b"plaintext3"]
message_kits = []
for message in messages:
# Using different Enricos, because why not.
enrico = Enrico(policy_encrypting_key=policy_pubkey)
message_kit = enrico.encrypt_message(message, conditions=conditions)
message_kits.append(message_kit)
return messages, message_kits