You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
3.9 KiB
121 lines
3.9 KiB
"""Identity unit tests."""
|
|
import os
|
|
|
|
from . import constants
|
|
|
|
|
|
def test_create_one_identity_succeed(tmpdir):
|
|
# Change $HOME before initializing the db
|
|
os.environ["HOME"] = str(tmpdir)
|
|
# It has to be imported here to get the management db initialized,
|
|
import pEp
|
|
alice = pEp.Identity()
|
|
alice.address = constants.ALICE_ADDRESS
|
|
alice.username = constants.ALICE_NAME
|
|
alice.fpr = constants.ALICE_FP
|
|
|
|
expected_alice = pEp.Identity(
|
|
constants.ALICE_ADDRESS, constants.ALICE_NAME, '',
|
|
constants.ALICE_FP, 0, ''
|
|
)
|
|
|
|
# XXX: Can't compare objects
|
|
# assert alice == expected_alice
|
|
assert str(alice) == constants.ALICE_NAME_ADDR
|
|
assert alice.address == expected_alice.address
|
|
assert alice.username == expected_alice.username
|
|
# Cause the key is created by pEp
|
|
assert alice.fpr == expected_alice.fpr
|
|
assert alice.user_id == expected_alice.user_id
|
|
assert alice.comm_type == expected_alice.comm_type
|
|
assert alice.flags == expected_alice.flags
|
|
|
|
# Test that data after updating.
|
|
# If the db has not been initialized this would return PEP_GET_KEY_FAILED
|
|
alice.update()
|
|
assert str(alice) == constants.ALICE_NAME_ADDR
|
|
assert alice.address == expected_alice.address
|
|
assert alice.username == expected_alice.username
|
|
# XXX: shouldn't this be he fpr of the key generated by pEp?
|
|
assert alice.fpr == ''
|
|
# After updating this changed
|
|
assert alice.user_id == "TOFU_alice@openpgp.example"
|
|
# After updating this changed
|
|
assert alice.comm_type == 3
|
|
assert alice.flags == expected_alice.flags
|
|
|
|
|
|
def test_two_identities_succeed(tmpdir, bob_pub_key_data):
|
|
os.environ["HOME"] = str(tmpdir)
|
|
import pEp
|
|
|
|
alice = pEp.Identity(
|
|
constants.ALICE_ADDRESS, constants.ALICE_NAME, '',
|
|
constants.ALICE_FP, 0, ''
|
|
)
|
|
assert alice.address == constants.ALICE_ADDRESS
|
|
assert alice.username == constants.ALICE_NAME
|
|
assert alice.fpr == constants.ALICE_FP
|
|
assert alice.user_id == ""
|
|
assert alice.comm_type == 0
|
|
assert alice.flags == 0
|
|
|
|
pEp.import_key(bob_pub_key_data)
|
|
|
|
bob = pEp.Identity()
|
|
bob.address = constants.BOB_ADDRESS
|
|
bob.username = constants.BOB_NAME
|
|
bob.fpr = constants.BOB_FP
|
|
expected_bob = pEp.Identity(
|
|
constants.BOB_ADDRESS, constants.BOB_NAME, '',
|
|
constants.BOB_FP, 56, ''
|
|
)
|
|
|
|
assert str(bob) == constants.BOB_NAME_ADDR
|
|
assert bob.address == expected_bob.address
|
|
assert bob.username == expected_bob.username
|
|
assert bob.fpr == expected_bob.fpr
|
|
assert bob.user_id == ""
|
|
assert bob.comm_type == 0
|
|
assert bob.flags == 0
|
|
|
|
# Test that data after updating.
|
|
bob.update()
|
|
assert str(bob) == constants.BOB_NAME_ADDR
|
|
assert bob.address == expected_bob.address
|
|
assert bob.username == expected_bob.username
|
|
assert bob.fpr == expected_bob.fpr
|
|
assert bob.user_id == "TOFU_bob@openpgp.example"
|
|
assert bob.comm_type == 56
|
|
assert bob.flags == 0
|
|
|
|
|
|
def test_set_own_key(tmpdir, alice_sec_key_data):
|
|
os.environ["HOME"] = str(tmpdir)
|
|
import pEp
|
|
|
|
pEp.import_key(alice_sec_key_data)
|
|
alice = pEp.Identity()
|
|
alice.address = constants.ALICE_ADDRESS
|
|
alice.username = constants.ALICE_NAME
|
|
alice.fpr = constants.ALICE_FP
|
|
alice.user_id = constants.ALICE_NAME_ADDR
|
|
|
|
expected_alice = pEp.Identity(
|
|
constants.ALICE_ADDRESS, constants.ALICE_NAME, '',
|
|
constants.ALICE_FP, 0, ''
|
|
)
|
|
|
|
pEp.set_own_key(alice, alice.fpr)
|
|
# assert str(alice) == constants.ALICE_NAME_ADDR
|
|
assert str(alice) == str(expected_alice)
|
|
assert alice.address == expected_alice.address
|
|
assert alice.username == expected_alice.username
|
|
# assert alice.user_id == constants.ALICE_NAME_ADDR
|
|
assert alice.user_id == str(expected_alice)
|
|
assert alice.fpr == expected_alice.fpr
|
|
assert alice.comm_type == 255
|
|
assert alice.flags == 0
|
|
|
|
# After setting own key this would give ValueError: illegal value
|
|
# alice.update()
|
|
|