Exemple #1
0
def test_deserialize_x_multiple_material_properties():
    with pytest.raises(ValueError):
        VerificationMethod.deserialize(
            {
                "id": "did:example:123#vm-3",
                "controller": "did:example:123",
                "type": "EcdsaSecp256k1RecoveryMethod2020",
                "blockchainAccountId": (
                    "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb@eip155:1"
                ),
                "publicKeyBase58": "abc123",
            }
        )
Exemple #2
0
def test_validator_allow_missing_controller():
    vmethod = VerificationMethod.deserialize(
        {
            "id": "did:example:123#keys-1",
            "type": "Ed25519Signature2018",
            "publicKeyBase58": "12345",
        },
    )
    assert vmethod.controller == "did:example:123"
    with pytest.raises(ValueError):
        vmethod = VerificationMethod.deserialize(
            {
                "type": "Ed25519Signature2018",
                "publicKeyBase58": "12345",
            },
        )
Exemple #3
0
def test_infer_material():
    vmethod_raw = {
        "id": "did:example:123#vm-3",
        "controller": "did:example:123",
        "type": "EcdsaSecp256k1RecoveryMethod2020",
        "blockchainAccountId": "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb@eip155:1",
    }
    vmethod = VerificationMethod.deserialize(vmethod_raw)
    assert vmethod.material == vmethod_raw["blockchainAccountId"]
Exemple #4
0
def test_validator_allow_controller_list():
    vmethod = VerificationMethod.deserialize(
        {
            "id": "did:example:123#keys-1",
            "type": "Ed25519Signature2018",
            "controller": ["did:example:123"],
            "publicKeyBase58": "12345",
        },
    )
    assert vmethod.controller == "did:example:123"
Exemple #5
0
def test_unknown_material():
    vmethod = VerificationMethod.deserialize(
        {
            "id": "did:example:123#vm-3",
            "controller": "did:example:123",
            "type": "EcdsaSecp256k1RecoveryMethod2020",
            "unknownMaterial": "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb@eip155:1",
        }
    )
    with pytest.raises(VerificationMaterialUnknown):
        vmethod.material
Exemple #6
0
def test_deserialized_member_types():
    vmethod = VerificationMethod.deserialize(VMETHOD0)
    assert isinstance(vmethod.id, DIDUrl)
    assert isinstance(vmethod.controller, DID)
Exemple #7
0
def test_serialization_x(invalid_vmethod_raw):
    with pytest.raises(ValueError):
        VerificationMethod.deserialize(invalid_vmethod_raw)
Exemple #8
0
def test_serialization(vmethod_raw):
    vmethod = VerificationMethod.deserialize(vmethod_raw)
    assert vmethod.id == DIDUrl.parse(vmethod_raw["id"])
    assert vmethod.type == vmethod_raw["type"]
    assert vmethod.controller == DID(vmethod_raw["controller"])
    assert vmethod.serialize() == vmethod_raw