def test_init_errors_raised(): with pytest.raises(ValueError) as err: VerificationMethod(id_=123, suite=123, controller=123, material="12345") assert "expected DID" in err assert "expected DIDUrl" in err assert "expected VerificationSuite" in err
def test_option_allow_missing_controller(): vmethod = VerificationMethod.deserialize( { "id": "did:example:123#keys-1", "type": "Ed25519Signature2018", "publicKeyBase58": "12345", }, options={VerificationMethodOptions.allow_missing_controller}, ) assert vmethod.controller == "did:example:123" with pytest.raises(VerificationMethodValidationError): vmethod = VerificationMethod.deserialize( { "type": "Ed25519Signature2018", "publicKeyBase58": "12345", }, options={VerificationMethodOptions.allow_missing_controller}, )
def test_option_allow_controller_list(): vmethod = VerificationMethod.deserialize( { "id": "did:example:123#keys-1", "type": "Ed25519Signature2018", "controller": ["did:example:123"], "publicKeyBase58": "12345", }, options={VerificationMethodOptions.allow_controller_list}, ) assert vmethod.controller == "did:example:123"
def test_init_mapping(): vmethod = VerificationMethod( id_=DIDUrl("did:example:123", fragment="keys-1"), suite=VerificationSuite("TestType", "publicKeyBase58"), controller=DID("did:example:123"), material="12345", ) assert isinstance(vmethod.id, DIDUrl) assert str(vmethod.id) == "did:example:123#keys-1" assert isinstance(vmethod.controller, DID) assert str(vmethod.controller) == "did:example:123"
def test_deserialized_member_types(): vmethod = VerificationMethod.deserialize(VMETHOD0) assert isinstance(vmethod.id, DIDUrl) assert isinstance(vmethod.controller, DID)
def test_serialization_x(invalid_vmethod_raw): with pytest.raises(VerificationMethodValidationError): VerificationMethod.deserialize(invalid_vmethod_raw)
def test_serialization(vmethod_raw): vmethod = VerificationMethod.deserialize(vmethod_raw) assert vmethod.serialize() == vmethod_raw
def test_fails_validate_invalid(vmethod): with pytest.raises(VerificationMethodValidationError): VerificationMethod.validate(vmethod)
def test_validates_valid(vmethod): VerificationMethod.validate(vmethod)