def test_export_uids(): # This key contains two UIDs # We ought to have tests with revoked and invalid UIDs data = read_fixture_file("pubkey-2-uids.asc") # The original key c = TempContext() c.op_import(data) result = c.op_import_result() logging.info("Result: %r", result) fpr = result.imports[0].fpr uids = c.get_key(fpr).uids assert_equals(2, len(uids)) exported_uids = list(export_uids(data)) assert_equals(2, len(exported_uids)) exported_uid1 = exported_uids[0] uid1, uid1_data = exported_uid1 exported_uid2 = exported_uids[1] uid2, uid2_data = exported_uid2 assert_equals(uids[0].uid, uid1) assert_equals(uids[1].uid, uid2) # The first exported UID c = TempContext() c.op_import(uid1_data) result = c.op_import_result() imports = result.imports assert_equals(1, len(imports)) uids1_key = c.get_key(fpr).uids assert_equals(1, len(uids1_key)) uid1_key = uids1_key[0] # assert_equals(uid1, uids[0]) assert_equals(uid1_key.uid, uids[0].uid) # The second exported UID c = TempContext() c.op_import(uid2_data) result = c.op_import_result() imports = result.imports assert_equals(1, len(imports)) uids2_key = c.get_key(fpr).uids assert_equals(1, len(uids2_key)) uid2_key = uids2_key[0] # FIXME: The objects don't implement __eq__ it seems :-/ # assert_equals(uid2, uids[1]) assert_equals(uid2_key.uid, uids[1].uid)