Esempio n. 1
0
def test_can_get_valid_doc_from_token(simple_doc, valid_private_key,
                                      valid_issuer):
    token = ResolverSerializer.serialize_to_token(simple_doc,
                                                  valid_private_key,
                                                  valid_issuer,
                                                  audience='http://audience/')
    doc = ResolverSerializer.get_valid_doc_from_token(
        token, get_controller_doc=raise_if_called)
    assert doc.to_dict() == simple_doc.to_dict()
Esempio n. 2
0
def test_get_valid_doc_from_token_raises_invalid_issuer_if_can_not_find_issuer(
        simple_doc, valid_private_key):
    not_in_doc_issuer = Issuer.build(simple_doc.did, '#NotInDoc')
    token = get_inconsistent_token(str(not_in_doc_issuer),
                                   simple_doc.to_dict(), valid_private_key)
    with pytest.raises(IdentityResolverError) as err_wrapper:
        ResolverSerializer.get_valid_doc_from_token(
            token, get_controller_doc=raise_if_called)
    assert isinstance(err_wrapper.value.__cause__,
                      IdentityInvalidRegisterIssuerError)
Esempio n. 3
0
def test_get_valid_doc_from_token_raises_resolver_error_if_invalid_issuer(
        simple_doc, valid_private_key):
    token_with_invalid_doc_did = get_inconsistent_token(
        'invalid_issuer',
        doc_data=simple_doc.to_dict(),
        private_key=valid_private_key)
    with pytest.raises(IdentityResolverError) as err_wrapper:
        ResolverSerializer.get_valid_doc_from_token(
            token_with_invalid_doc_did, get_controller_doc=raise_if_called)
    assert isinstance(err_wrapper.value.__cause__, IdentityValidationError)
Esempio n. 4
0
def test_get_valid_doc_from_token_raises_resolver_error_if_invalid_doc_format(
        valid_private_key, valid_issuer):
    token_with_invalid_doc_format = get_inconsistent_token(
        str(valid_issuer),
        doc_data={'plop': 'not a doc'},
        private_key=valid_private_key)
    with pytest.raises(IdentityResolverError) as err_wrapper:
        ResolverSerializer.get_valid_doc_from_token(
            token_with_invalid_doc_format, get_controller_doc=raise_if_called)
    assert isinstance(err_wrapper.value.__cause__, IdentityValidationError)
Esempio n. 5
0
def test_can_get_valid_doc_from_token_using_delegation(doc_with_doc_deleg,
                                                       valid_private_key,
                                                       valid_issuer):
    doc, deleg_doc = doc_with_doc_deleg
    token = ResolverSerializer.serialize_to_token(doc,
                                                  valid_private_key,
                                                  valid_issuer,
                                                  audience='http://audience/')
    doc = ResolverSerializer.get_valid_doc_from_token(
        token, get_controller_doc=lambda x: deleg_doc)
    assert doc.to_dict() == doc.to_dict()
Esempio n. 6
0
def test_get_valid_doc_from_token_raises_resolver_error_if_corrupted_token(
        simple_doc, valid_issuer, other_private_key):
    private_key_not_associated_to_doc = other_private_key
    token = ResolverSerializer.serialize_to_token(
        simple_doc,
        private_key_not_associated_to_doc,
        valid_issuer,
        audience='http://audience/')
    with pytest.raises(IdentityResolverError) as err_wrapper:
        ResolverSerializer.get_valid_doc_from_token(
            token, get_controller_doc=raise_if_called)
    assert isinstance(err_wrapper.value.__cause__, IdentityValidationError)
Esempio n. 7
0
def test_can_serialize_doc_to_token(simple_doc, valid_private_key,
                                    valid_issuer):
    token = ResolverSerializer.serialize_to_token(simple_doc,
                                                  valid_private_key,
                                                  valid_issuer,
                                                  audience='http://audience/')
    assert token
Esempio n. 8
0
def test_get_valid_doc_from_token_raises_resolver_error_if_not_a_token():
    with pytest.raises(IdentityResolverError) as err_wrapper:
        ResolverSerializer.get_valid_doc_from_token(
            'not a token', get_controller_doc=raise_if_called)
    assert isinstance(err_wrapper.value.__cause__, IdentityValidationError)