Source code for pyeudiw.tests.federation.test_trust_chain_builder

from unittest.mock import patch

from pyeudiw.federation.statements import EntityStatement, get_entity_configurations
from pyeudiw.federation.trust_chain_builder import TrustChainBuilder
from pyeudiw.tests.settings import httpc_params

from .base import leaf_wallet, ta_ec
from .mocked_response import EntityResponseWithIntermediate


[docs] @patch("requests.get", return_value=EntityResponseWithIntermediate()) def test_trust_chain_valid_with_intermediaries(self, mocker): jwt = get_entity_configurations([ta_ec["sub"]], httpc_params=httpc_params)[0] trust_anchor_ec = EntityStatement(jwt, httpc_params=httpc_params) trust_anchor_ec.validate_by_itself() trust_chain = TrustChainBuilder( subject=leaf_wallet["sub"], trust_anchor=trust_anchor_ec.sub, trust_anchor_configuration=trust_anchor_ec, httpc_params=httpc_params, ) trust_chain.start() trust_chain.apply_metadata_policy() assert trust_chain.is_valid assert trust_chain.final_metadata assert len(trust_chain.trust_path) == 3