From a56baee69c53b630648bac76436f9ed37baea1dc Mon Sep 17 00:00:00 2001 From: tuxxy Date: Sun, 10 Feb 2019 11:32:21 -0700 Subject: [PATCH] Add problematic test_alice_character_control_grant --- tests/fixtures.py | 3 ++- tests/network/test_character_control.py | 27 +++++++++++++++++++++---- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/tests/fixtures.py b/tests/fixtures.py index f1c30b1bb..a1ca75a61 100644 --- a/tests/fixtures.py +++ b/tests/fixtures.py @@ -328,10 +328,11 @@ def blockchain_ursulas(three_agents, ursula_decentralized_test_config): @pytest.fixture(scope='module') def alice_control(federated_alice): + federated_alice.start_learning_loop(now=True) alice_control = make_alice_control(federated_alice) alice_control.config['DEBUG'] = True alice_control.config['TESTING'] = True - return alice_control.test_client() + yield alice_control.test_client() # diff --git a/tests/network/test_character_control.py b/tests/network/test_character_control.py index d79597a28..b118ccddf 100644 --- a/tests/network/test_character_control.py +++ b/tests/network/test_character_control.py @@ -1,17 +1,36 @@ +import datetime +import maya + from nucypher.crypto.powers import DecryptingPower -from nucypher.network.character_control.alice_control import make_alice_control +from nucypher.policy.models import TreasureMap def test_alice_character_control_create_policy(alice_control, federated_bob): bob_pubkey_enc = federated_bob.public_keys(DecryptingPower) - content = { + request_data = { 'bob_encrypting_key': bytes(bob_pubkey_enc).hex(), 'label': bytes(b'test').hex(), 'm': 2, 'n': 3, - 'payment': {'tx': 'blah'}, + 'payment': b'', } - response = alice_control.put('/create_policy', query_string=content) + response = alice_control.put('/create_policy', query_string=request_data) + assert response.status_code == 200 assert response.data == b'Policy created!' + + +def test_alice_character_control_grant(alice_control, federated_bob): + bob_pubkey_enc = federated_bob.public_keys(DecryptingPower) + + request_data = { + 'bob_encrypting_key': bytes(bob_pubkey_enc).hex(), + 'label': bytes(b'test').hex(), + 'm': 2, + 'n': 3, + 'expiration_time': (maya.now() + datetime.timedelta(days=3)).iso8601(), + 'payment': {'tx': 'blah'}, + } + response = alice_control.put('/grant', query_string=request_data) + treasure_map = TreasureMap.from_bytes(response.data)