Closed mistermoe closed 6 months ago
the following will fail:
func TestCreate_WithOptions(t *testing.T) { bearerDID, err := didweb.Create( "localhost:8080", didweb.Service("pfi", "PFI", "http://localhost:8080/tbdex"), didweb.Service("idv", "IDV", "http://localhost:8080/idv"), didweb.AlsoKnownAs("did:example:123"), didweb.Controllers("did:example:123"), ) assert.NoError(t, err) assert.NotEqual(t, did.BearerDID{}, bearerDID) document := bearerDID.Document assert.Equal(t, 2, len(document.Service)) b, e := json.MarshalIndent(document, "", " ") assert.NoError(t, e) fmt.Printf("%s", string(b)) pfisvc := document.Service[0] assert.NotEqual(t, didcore.Service{}, *pfisvc) assert.Equal(t, "#pfi", pfisvc.ID) assert.Equal(t, "PFI", pfisvc.Type) assert.Equal(t, "http://localhost:8080/tbdex", pfisvc.ServiceEndpoint) idvsvc := document.Service[1] assert.NotEqual(t, didcore.Service{}, *idvsvc) assert.Equal(t, "#idv", idvsvc.ID) assert.Equal(t, "IDV", idvsvc.Type) assert.Equal(t, "http://localhost:8080/idv", idvsvc.ServiceEndpoint) assert.Equal(t, "did:example:123", document.AlsoKnownAs[0]) assert.Equal(t, "did:example:123", document.Controller[0]) }
resulting did document is:
{ "id": "did:web:localhost%3A8080", "alsoKnownAs": [ "did:example:123" ], "controller": [ "did:example:123" ], "verificationMethod": [ { "id": "#0", "type": "JsonWebKey2020", "controller": "did:web:localhost%3A8080", "publicKeyJwk": { "kty": "OKP", "crv": "Ed25519", "x": "bsWQIiylGIWoS_36E136LsPOhJ1N_pZ1dwvIbkIHNJM" } } ], "service": [ { "id": "#idv", "type": "IDV", "serviceEndpoint": "http://localhost:8080/idv" }, { "id": "#idv", "type": "IDV", "serviceEndpoint": "http://localhost:8080/idv" } ] }
notice that the same service is repeated twice
the following will fail:
resulting did document is:
notice that the same service is repeated twice