diff --git a/.github/workflows/dispatch.yml b/.github/workflows/dispatch.yml index c90ebb74..07f7a020 100644 --- a/.github/workflows/dispatch.yml +++ b/.github/workflows/dispatch.yml @@ -25,7 +25,7 @@ jobs: call-staging: name: "Staging" - needs: [ call-lint, call-build ] + needs: call-test uses: ./.github/workflows/staging.yml secrets: inherit diff --git a/README.md b/README.md index 49bdbd89..dcbbdd89 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ## ℹī¸ Overview -DID methods are expected to provide [standards-compliant methods of DID and DID Document ("DIDDoc") production](https://w3c.github.io/did-core/#production-and-consumption). The **cheqd DID Resolver** is designed to implement the [W3C DID *Resolution* specification](https://w3c.github.io/did-resolution/) for [`did:cheqd`](https://docs.cheqd.io/identity/architecture/adr-list/adr-001-cheqd-did-method) method. +DID methods are expected to provide [standards-compliant methods of DID and DID Document ("DIDDoc") production](https://w3c.github.io/did-core/#production-and-consumption). The **cheqd DID Resolver** is designed to implement the [W3C DID _Resolution_ specification](https://w3c.github.io/did-resolution/) for [`did:cheqd`](https://docs.cheqd.io/identity/architecture/adr-list/adr-001-cheqd-did-method) method. ### 📝 Architecture @@ -60,7 +60,7 @@ enable = true address = "0.0.0.0:9090" ``` -**Note**: If you're pointing a DID Resolver to your own node instance, by default `cheqd-node` instance gRPC endpoints are *not* served up with a TLS certificate. This means the `useTls` property would need to be set to `false`, unless you're otherwise using a load balancer that provides TLS connections to the gRPC port. +**Note**: If you're pointing a DID Resolver to your own node instance, by default `cheqd-node` instance gRPC endpoints are _not_ served up with a TLS certificate. This means the `useTls` property would need to be set to `false`, unless you're otherwise using a load balancer that provides TLS connections to the gRPC port. ## 🧑‍đŸ’ģ Building your own Docker image @@ -87,7 +87,7 @@ image: did-resolver:local Make sure you comment out the pre-existing `image` property that pulls in a container image from Github Container Registry, as shown above. -You can also do *just* a build with: +You can also do _just_ a build with: ```bash docker-compose -f docker/docker-compose.yml --env-file docker/docker-compose.env build --no-cache @@ -191,7 +191,7 @@ You can execute the tests as long as you have Ginkgo CLI installed, which target ginkgo -r --tags integration --race --randomize-suites --keep-going --trace ``` -**Note**: By default, the tests target `localhost:8080` as the port where it expects the running DID Resolver instance for testing. If your running instance is at a different address, you can override this by setting a value for the `TEST_HOST_ADDRESS` environment variable *before* executing the Ginkgo test suite. +**Note**: By default, the tests target `localhost:8080` as the port where it expects the running DID Resolver instance for testing. If your running instance is at a different address, you can override this by setting a value for the `TEST_HOST_ADDRESS` environment variable _before_ executing the Ginkgo test suite. ```bash export TEST_HOST_ADDRESS="where.is.did.resolver.running:port" diff --git a/go.mod b/go.mod index 85063242..e9daa03c 100644 --- a/go.mod +++ b/go.mod @@ -12,14 +12,14 @@ require ( github.com/lestrrat-go/jwx v1.2.29 github.com/mr-tron/base58 v1.2.0 github.com/multiformats/go-multibase v0.2.0 - github.com/onsi/ginkgo/v2 v2.17.1 - github.com/onsi/gomega v1.33.0 + github.com/onsi/ginkgo/v2 v2.19.1 + github.com/onsi/gomega v1.34.0 github.com/rs/zerolog v1.32.0 github.com/spf13/viper v1.16.0 github.com/swaggo/echo-swagger v1.4.1 github.com/swaggo/swag v1.16.3 - google.golang.org/grpc v1.64.0 - google.golang.org/protobuf v1.34.1 + google.golang.org/grpc v1.66.0 + google.golang.org/protobuf v1.34.2 ) require ( @@ -30,17 +30,17 @@ require ( github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect - github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/logr v1.4.2 // indirect github.com/go-openapi/jsonpointer v0.19.6 // indirect github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/spec v0.20.8 // indirect github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect + github.com/go-task/slim-sprig/v3 v3.0.0 // indirect github.com/goccy/go-json v0.10.2 // indirect github.com/gogo/protobuf v1.3.3 // indirect github.com/golang-jwt/jwt v3.2.2+incompatible // indirect github.com/google/go-cmp v0.6.0 // indirect - github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 // indirect + github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/labstack/gommon v0.4.2 // indirect diff --git a/go.sum b/go.sum index 3bfe9cb8..7794c2f3 100644 --- a/go.sum +++ b/go.sum @@ -79,8 +79,8 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= @@ -96,8 +96,8 @@ github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/ github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-resty/resty/v2 v2.13.1 h1:x+LHXBI2nMB1vqndymf26quycC4aggYJ7DECYbiz03g= github.com/go-resty/resty/v2 v2.13.1/go.mod h1:GznXlLxkq6Nh4sU59rPmUw3VtgpO3aS96ORAI6Q7d+0= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= +github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -154,8 +154,8 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg= +github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= @@ -225,10 +225,10 @@ github.com/multiformats/go-base36 v0.1.0/go.mod h1:kFGE83c6s80PklsHO9sRn2NCoffoR github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g= github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/onsi/ginkgo/v2 v2.17.1 h1:V++EzdbhI4ZV4ev0UTIj0PzhzOcReJFyJaLjtSF55M8= -github.com/onsi/ginkgo/v2 v2.17.1/go.mod h1:llBI3WDLL9Z6taip6f33H76YcWtJv+7R3HigUjbIBOs= -github.com/onsi/gomega v1.33.0 h1:snPCflnZrpMsy94p4lXVEkHo12lmPnc3vY5XBbreexE= -github.com/onsi/gomega v1.33.0/go.mod h1:+925n5YtiFsLzzafLUHzVMBpvvRAzrydIBiSIxjX3wY= +github.com/onsi/ginkgo/v2 v2.19.1 h1:QXgq3Z8Crl5EL1WBAC98A5sEBHARrAJNzAmMxzLcRF0= +github.com/onsi/ginkgo/v2 v2.19.1/go.mod h1:O3DtEWQkPa/F7fBMgmZQKKsluAy8pd3rEQdrjkPb9zA= +github.com/onsi/gomega v1.34.0 h1:eSSPsPNp6ZpsG8X1OVmOTxig+CblTc4AxpPBykhe2Os= +github.com/onsi/gomega v1.34.0/go.mod h1:MIKI8c+f+QLWk+hxbePD4i0LMJSExPaZOVfkoex4cAo= github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -623,8 +623,8 @@ google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= -google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= +google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= +google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -635,8 +635,8 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/services/diddoc_service.go b/services/diddoc_service.go index c7c61cc6..c28a4d1c 100644 --- a/services/diddoc_service.go +++ b/services/diddoc_service.go @@ -53,6 +53,14 @@ func (dds DIDDocService) Resolve(did string, version string, contentType types.C result := types.DidResolution{Did: &didDoc, Metadata: *resolvedMetadata, ResolutionMetadata: didResolutionMetadata} if didResolutionMetadata.ContentType == types.DIDJSONLD || didResolutionMetadata.ContentType == types.JSONLD { didDoc.AddContext(types.DIDSchemaJSONLD) + + for _, service := range didDoc.Service { + if service.Type == types.LinkedDomains { + didDoc.AddContext(types.LinkedDomainsJSONLD) + break + } + } + for _, method := range didDoc.VerificationMethod { switch method.Type { case "Ed25519VerificationKey2020": @@ -164,7 +172,7 @@ func (dds DIDDocService) DereferenceSecondary(did string, version string, fragme return &result, nil } -func (dds DIDDocService) resolveMetadata(did string, metadata *didTypes.Metadata, contentType types.ContentType) (*types.ResolutionDidDocMetadata, *types.IdentityError) { +func (dds DIDDocService) resolveMetadata(did string, metadata *didTypes.Metadata, _ types.ContentType) (*types.ResolutionDidDocMetadata, *types.IdentityError) { resources, err := dds.ledgerService.QueryCollectionResources(did) if err != nil { return nil, err diff --git a/tests/constants/common.go b/tests/constants/common.go index d8bca6a8..6715fcd4 100644 --- a/tests/constants/common.go +++ b/tests/constants/common.go @@ -7,6 +7,7 @@ import ( didTypes "github.com/cheqd/cheqd-node/api/v2/cheqd/did/v2" resourceTypes "github.com/cheqd/cheqd-node/api/v2/cheqd/resource/v2" + "github.com/cheqd/did-resolver/types" "google.golang.org/protobuf/types/known/timestamppb" ) @@ -22,7 +23,7 @@ func generateVerificationMethod() didTypes.VerificationMethod { func generateService() didTypes.Service { return didTypes.Service{ Id: ExistentDid + "#" + ValidServiceId, - ServiceType: "DIDCommMessaging", + ServiceType: types.LinkedDomains, ServiceEndpoint: []string{"http://example.com"}, } } diff --git a/tests/integration/rest/testdata/diddoc/diddoc_indy_mainnet_did.json b/tests/integration/rest/testdata/diddoc/diddoc_indy_mainnet_did.json index bd62ee39..7c44488a 100644 --- a/tests/integration/rest/testdata/diddoc/diddoc_indy_mainnet_did.json +++ b/tests/integration/rest/testdata/diddoc/diddoc_indy_mainnet_did.json @@ -12,6 +12,7 @@ "didDocument": { "@context": [ "https://www.w3.org/ns/did/v1", + "https://identity.foundation/.well-known/did-configuration/v1", "https://w3id.org/security/suites/ed25519-2020/v1" ], "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN", @@ -23,16 +24,12 @@ "publicKeyMultibase": "z6Mkta7joRuvDh7UnoESdgpr9dDUMh5LvdoECDi3WGrJoscA" } ], - "authentication": [ - "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#key1" - ], + "authentication": ["did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#key1"], "service": [ { "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#website", "type": "LinkedDomains", - "serviceEndpoint": [ - "https://www.cheqd.io" - ] + "serviceEndpoint": ["https://www.cheqd.io"] }, { "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#non-fungible-image", @@ -44,16 +41,12 @@ { "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#twitter", "type": "LinkedDomains", - "serviceEndpoint": [ - "https://twitter.com/cheqd_io" - ] + "serviceEndpoint": ["https://twitter.com/cheqd_io"] }, { "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#linkedin", "type": "LinkedDomains", - "serviceEndpoint": [ - "https://www.linkedin.com/company/cheqd-identity/" - ] + "serviceEndpoint": ["https://www.linkedin.com/company/cheqd-identity/"] } ] }, diff --git a/tests/integration/rest/testdata/diddoc/diddoc_uuid_testnet_several_versions.json b/tests/integration/rest/testdata/diddoc/diddoc_uuid_testnet_several_versions.json index 383104b3..66d4e8dc 100644 --- a/tests/integration/rest/testdata/diddoc/diddoc_uuid_testnet_several_versions.json +++ b/tests/integration/rest/testdata/diddoc/diddoc_uuid_testnet_several_versions.json @@ -1,61 +1,60 @@ { - "@context": "https://w3id.org/did-resolution/v1", - "didResolutionMetadata": { - "contentType": "application/did+ld+json", - "retrieved": "2023-04-12T14:51:09Z", - "did": { - "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "method": "cheqd" - } - }, - "didDocument": { - "@context": [ - "https://www.w3.org/ns/did/v1", - "https://w3id.org/security/suites/ed25519-2018/v1" - ], - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "verificationMethod": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", - "type": "Ed25519VerificationKey2018", - "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "publicKeyBase58": "BpVGbTeT26LipAdk26DBZrmJx2939i9gZS5VxGt1zZQ6" - } - ], - "authentication": [ - "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" - ], - "service": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://bar.example.com" - ] - } - ] - }, - "didDocumentMetadata": { - "created": "2023-03-06T09:36:55Z", - "updated": "2023-03-06T09:59:22Z", - "deactivated": true, - "versionId": "f790c9b9-4817-4b31-be43-b198e6e18071", - "previousVersionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", - "linkedResourceMetadata": [ - { - "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceName": "TestResource", - "resourceType": "TestType", - "mediaType": "text/plain; charset=utf-8", - "created": "2023-03-06T09:53:44Z", - "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", - "previousVersionId": null, - "nextVersionId": null, - "resourceVersion": "1.0" - } - ] + "@context": "https://w3id.org/did-resolution/v1", + "didResolutionMetadata": { + "contentType": "application/did+ld+json", + "retrieved": "2023-04-12T14:51:09Z", + "did": { + "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "method": "cheqd" } -} \ No newline at end of file + }, + "didDocument": { + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/.well-known/did-configuration/v1", + "https://w3id.org/security/suites/ed25519-2018/v1" + ], + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "verificationMethod": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", + "type": "Ed25519VerificationKey2018", + "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "publicKeyBase58": "BpVGbTeT26LipAdk26DBZrmJx2939i9gZS5VxGt1zZQ6" + } + ], + "authentication": [ + "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" + ], + "service": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", + "type": "LinkedDomains", + "serviceEndpoint": ["https://bar.example.com"] + } + ] + }, + "didDocumentMetadata": { + "created": "2023-03-06T09:36:55Z", + "updated": "2023-03-06T09:59:22Z", + "deactivated": true, + "versionId": "f790c9b9-4817-4b31-be43-b198e6e18071", + "previousVersionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", + "linkedResourceMetadata": [ + { + "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceName": "TestResource", + "resourceType": "TestType", + "mediaType": "text/plain; charset=utf-8", + "created": "2023-03-06T09:53:44Z", + "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", + "previousVersionId": null, + "nextVersionId": null, + "resourceVersion": "1.0" + } + ] + } +} diff --git a/tests/integration/rest/testdata/diddoc/diddoc_uuid_testnet_several_versions_between.json b/tests/integration/rest/testdata/diddoc/diddoc_uuid_testnet_several_versions_between.json index 7e81d0ec..c29f7433 100644 --- a/tests/integration/rest/testdata/diddoc/diddoc_uuid_testnet_several_versions_between.json +++ b/tests/integration/rest/testdata/diddoc/diddoc_uuid_testnet_several_versions_between.json @@ -1,62 +1,61 @@ { - "@context": "https://w3id.org/did-resolution/v1", - "didResolutionMetadata": { - "contentType": "application/did+ld+json", - "retrieved": "2023-04-12T15:00:53Z", - "did": { - "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "method": "cheqd" - } - }, - "didDocument": { - "@context": [ - "https://www.w3.org/ns/did/v1", - "https://w3id.org/security/suites/ed25519-2018/v1" - ], - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "verificationMethod": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", - "type": "Ed25519VerificationKey2018", - "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "publicKeyBase58": "BpVGbTeT26LipAdk26DBZrmJx2939i9gZS5VxGt1zZQ6" - } - ], - "authentication": [ - "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" - ], - "service": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://bar.example.com" - ] - } - ] - }, - "didDocumentMetadata": { - "created": "2023-03-06T09:36:55Z", - "updated": "2023-03-06T09:39:48Z", - "deactivated": true, - "versionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", - "nextVersionId": "f790c9b9-4817-4b31-be43-b198e6e18071", - "previousVersionId": "0ce23d04-5b67-4ea6-a315-788588e53f4e", - "linkedResourceMetadata": [ - { - "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceName": "TestResource", - "resourceType": "TestType", - "mediaType": "text/plain; charset=utf-8", - "created": "2023-03-06T09:53:44Z", - "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", - "previousVersionId": null, - "nextVersionId": null, - "resourceVersion": "1.0" - } - ] + "@context": "https://w3id.org/did-resolution/v1", + "didResolutionMetadata": { + "contentType": "application/did+ld+json", + "retrieved": "2023-04-12T15:00:53Z", + "did": { + "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "method": "cheqd" } -} \ No newline at end of file + }, + "didDocument": { + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/.well-known/did-configuration/v1", + "https://w3id.org/security/suites/ed25519-2018/v1" + ], + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "verificationMethod": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", + "type": "Ed25519VerificationKey2018", + "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "publicKeyBase58": "BpVGbTeT26LipAdk26DBZrmJx2939i9gZS5VxGt1zZQ6" + } + ], + "authentication": [ + "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" + ], + "service": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", + "type": "LinkedDomains", + "serviceEndpoint": ["https://bar.example.com"] + } + ] + }, + "didDocumentMetadata": { + "created": "2023-03-06T09:36:55Z", + "updated": "2023-03-06T09:39:48Z", + "deactivated": true, + "versionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", + "nextVersionId": "f790c9b9-4817-4b31-be43-b198e6e18071", + "previousVersionId": "0ce23d04-5b67-4ea6-a315-788588e53f4e", + "linkedResourceMetadata": [ + { + "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceName": "TestResource", + "resourceType": "TestType", + "mediaType": "text/plain; charset=utf-8", + "created": "2023-03-06T09:53:44Z", + "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", + "previousVersionId": null, + "nextVersionId": null, + "resourceVersion": "1.0" + } + ] + } +} diff --git a/tests/integration/rest/testdata/diddoc_version/diddoc_version_indy_mainnet_did.json b/tests/integration/rest/testdata/diddoc_version/diddoc_version_indy_mainnet_did.json index fe41c019..67e5e1a8 100644 --- a/tests/integration/rest/testdata/diddoc_version/diddoc_version_indy_mainnet_did.json +++ b/tests/integration/rest/testdata/diddoc_version/diddoc_version_indy_mainnet_did.json @@ -1,64 +1,57 @@ { - "@context": "https://w3id.org/did-resolution/v1", - "didResolutionMetadata": { - "contentType": "application/did+ld+json", - "retrieved": "2023-03-24T12:50:08Z", - "did": { - "didString": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN", - "methodSpecificId": "Ps1ysXP2Ae6GBfxNhNQNKN", - "method": "cheqd" - } - }, - "didDocument": { - "@context": [ - "https://www.w3.org/ns/did/v1", - "https://w3id.org/security/suites/ed25519-2020/v1" - ], - "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN", - "verificationMethod": [ - { - "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#key1", - "type": "Ed25519VerificationKey2020", - "controller": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN", - "publicKeyMultibase": "z6Mkta7joRuvDh7UnoESdgpr9dDUMh5LvdoECDi3WGrJoscA" - } - ], - "authentication": [ - "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#key1" - ], - "service": [ - { - "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#website", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://www.cheqd.io" - ] - }, - { - "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#non-fungible-image", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://gateway.ipfs.io/ipfs/bafybeihetj2ng3d74k7t754atv2s5dk76pcqtvxls6dntef3xa6rax25xe" - ] - }, - { - "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#twitter", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://twitter.com/cheqd_io" - ] - }, - { - "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#linkedin", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://www.linkedin.com/company/cheqd-identity/" - ] - } - ] - }, - "didDocumentMetadata": { - "created": "2022-04-05T11:49:19Z", - "versionId": "4fa8e367-c70e-533e-babf-3732d9761061" + "@context": "https://w3id.org/did-resolution/v1", + "didResolutionMetadata": { + "contentType": "application/did+ld+json", + "retrieved": "2023-03-24T12:50:08Z", + "did": { + "didString": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN", + "methodSpecificId": "Ps1ysXP2Ae6GBfxNhNQNKN", + "method": "cheqd" } + }, + "didDocument": { + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/.well-known/did-configuration/v1", + "https://w3id.org/security/suites/ed25519-2020/v1" + ], + "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN", + "verificationMethod": [ + { + "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#key1", + "type": "Ed25519VerificationKey2020", + "controller": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN", + "publicKeyMultibase": "z6Mkta7joRuvDh7UnoESdgpr9dDUMh5LvdoECDi3WGrJoscA" + } + ], + "authentication": ["did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#key1"], + "service": [ + { + "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#website", + "type": "LinkedDomains", + "serviceEndpoint": ["https://www.cheqd.io"] + }, + { + "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#non-fungible-image", + "type": "LinkedDomains", + "serviceEndpoint": [ + "https://gateway.ipfs.io/ipfs/bafybeihetj2ng3d74k7t754atv2s5dk76pcqtvxls6dntef3xa6rax25xe" + ] + }, + { + "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#twitter", + "type": "LinkedDomains", + "serviceEndpoint": ["https://twitter.com/cheqd_io"] + }, + { + "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#linkedin", + "type": "LinkedDomains", + "serviceEndpoint": ["https://www.linkedin.com/company/cheqd-identity/"] + } + ] + }, + "didDocumentMetadata": { + "created": "2022-04-05T11:49:19Z", + "versionId": "4fa8e367-c70e-533e-babf-3732d9761061" + } } diff --git a/tests/integration/rest/testdata/query/diddoc_common/version_id/transform_key.json b/tests/integration/rest/testdata/query/diddoc_common/version_id/transform_key.json index 9d9dea2e..434df5a2 100644 --- a/tests/integration/rest/testdata/query/diddoc_common/version_id/transform_key.json +++ b/tests/integration/rest/testdata/query/diddoc_common/version_id/transform_key.json @@ -1,66 +1,65 @@ { - "@context": "https://w3id.org/did-resolution/v1", - "didResolutionMetadata": { - "contentType": "application/did+ld+json", - "retrieved": "2023-04-25T09:30:18Z", - "did": { - "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "method": "cheqd" - } - }, - "didDocument": { - "@context": [ - "https://www.w3.org/ns/did/v1", - "https://w3id.org/security/suites/ed25519-2018/v1" - ], - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "verificationMethod": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", - "type": "JsonWebKey2020", - "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "publicKeyJwk": { - "crv": "Ed25519", - "kty": "OKP", - "x": "oL8hiQFXJqrR7ZBRrw7KcvBtGwk12U9TOPrqsJjaIsM" - } - } - ], - "authentication": [ - "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" - ], - "service": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://bar.example.com" - ] - } - ] - }, - "didDocumentMetadata": { - "created": "2023-03-06T09:36:55Z", - "updated": "2023-03-06T09:39:48Z", - "deactivated": true, - "versionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", - "nextVersionId": "f790c9b9-4817-4b31-be43-b198e6e18071", - "previousVersionId": "0ce23d04-5b67-4ea6-a315-788588e53f4e", - "linkedResourceMetadata": [ - { - "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceName": "TestResource", - "resourceType": "TestType", - "mediaType": "text/plain; charset=utf-8", - "resourceVersion": "1.0", - "created": "2023-03-06T09:53:44Z", - "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", - "previousVersionId": null, - "nextVersionId": null - } - ] + "@context": "https://w3id.org/did-resolution/v1", + "didResolutionMetadata": { + "contentType": "application/did+ld+json", + "retrieved": "2023-04-25T09:30:18Z", + "did": { + "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "method": "cheqd" } + }, + "didDocument": { + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/.well-known/did-configuration/v1", + "https://w3id.org/security/suites/ed25519-2018/v1" + ], + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "verificationMethod": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", + "type": "JsonWebKey2020", + "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "publicKeyJwk": { + "crv": "Ed25519", + "kty": "OKP", + "x": "oL8hiQFXJqrR7ZBRrw7KcvBtGwk12U9TOPrqsJjaIsM" + } + } + ], + "authentication": [ + "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" + ], + "service": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", + "type": "LinkedDomains", + "serviceEndpoint": ["https://bar.example.com"] + } + ] + }, + "didDocumentMetadata": { + "created": "2023-03-06T09:36:55Z", + "updated": "2023-03-06T09:39:48Z", + "deactivated": true, + "versionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", + "nextVersionId": "f790c9b9-4817-4b31-be43-b198e6e18071", + "previousVersionId": "0ce23d04-5b67-4ea6-a315-788588e53f4e", + "linkedResourceMetadata": [ + { + "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceName": "TestResource", + "resourceType": "TestType", + "mediaType": "text/plain; charset=utf-8", + "resourceVersion": "1.0", + "created": "2023-03-06T09:53:44Z", + "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", + "previousVersionId": null, + "nextVersionId": null + } + ] + } } diff --git a/tests/integration/rest/testdata/query/diddoc_common/version_id/version_time.json b/tests/integration/rest/testdata/query/diddoc_common/version_id/version_time.json index 09c62f3e..2701480e 100644 --- a/tests/integration/rest/testdata/query/diddoc_common/version_id/version_time.json +++ b/tests/integration/rest/testdata/query/diddoc_common/version_id/version_time.json @@ -1,62 +1,61 @@ { - "@context": "https://w3id.org/did-resolution/v1", - "didResolutionMetadata": { - "contentType": "application/did+ld+json", - "retrieved": "2023-04-25T09:29:12Z", - "did": { - "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "method": "cheqd" - } - }, - "didDocument": { - "@context": [ - "https://www.w3.org/ns/did/v1", - "https://w3id.org/security/suites/ed25519-2018/v1" - ], - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "verificationMethod": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", - "type": "Ed25519VerificationKey2018", - "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "publicKeyBase58": "BpVGbTeT26LipAdk26DBZrmJx2939i9gZS5VxGt1zZQ6" - } - ], - "authentication": [ - "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" - ], - "service": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://bar.example.com" - ] - } - ] - }, - "didDocumentMetadata": { - "created": "2023-03-06T09:36:55Z", - "updated": "2023-03-06T09:39:48Z", - "deactivated": true, - "versionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", - "nextVersionId": "f790c9b9-4817-4b31-be43-b198e6e18071", - "previousVersionId": "0ce23d04-5b67-4ea6-a315-788588e53f4e", - "linkedResourceMetadata": [ - { - "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceName": "TestResource", - "resourceType": "TestType", - "mediaType": "text/plain; charset=utf-8", - "resourceVersion": "1.0", - "created": "2023-03-06T09:53:44Z", - "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", - "previousVersionId": null, - "nextVersionId": null - } - ] + "@context": "https://w3id.org/did-resolution/v1", + "didResolutionMetadata": { + "contentType": "application/did+ld+json", + "retrieved": "2023-04-25T09:29:12Z", + "did": { + "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "method": "cheqd" } + }, + "didDocument": { + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/.well-known/did-configuration/v1", + "https://w3id.org/security/suites/ed25519-2018/v1" + ], + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "verificationMethod": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", + "type": "Ed25519VerificationKey2018", + "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "publicKeyBase58": "BpVGbTeT26LipAdk26DBZrmJx2939i9gZS5VxGt1zZQ6" + } + ], + "authentication": [ + "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" + ], + "service": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", + "type": "LinkedDomains", + "serviceEndpoint": ["https://bar.example.com"] + } + ] + }, + "didDocumentMetadata": { + "created": "2023-03-06T09:36:55Z", + "updated": "2023-03-06T09:39:48Z", + "deactivated": true, + "versionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", + "nextVersionId": "f790c9b9-4817-4b31-be43-b198e6e18071", + "previousVersionId": "0ce23d04-5b67-4ea6-a315-788588e53f4e", + "linkedResourceMetadata": [ + { + "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceName": "TestResource", + "resourceType": "TestType", + "mediaType": "text/plain; charset=utf-8", + "resourceVersion": "1.0", + "created": "2023-03-06T09:53:44Z", + "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", + "previousVersionId": null, + "nextVersionId": null + } + ] + } } diff --git a/tests/integration/rest/testdata/query/diddoc_common/version_id/version_time_&_transform_key.json b/tests/integration/rest/testdata/query/diddoc_common/version_id/version_time_&_transform_key.json index 14bbf9f2..9eed0794 100644 --- a/tests/integration/rest/testdata/query/diddoc_common/version_id/version_time_&_transform_key.json +++ b/tests/integration/rest/testdata/query/diddoc_common/version_id/version_time_&_transform_key.json @@ -1,62 +1,61 @@ { - "@context": "https://w3id.org/did-resolution/v1", - "didResolutionMetadata": { - "contentType": "application/did+ld+json", - "retrieved": "2023-04-25T09:35:05Z", - "did": { - "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "method": "cheqd" - } - }, - "didDocument": { - "@context": [ - "https://www.w3.org/ns/did/v1", - "https://w3id.org/security/suites/ed25519-2018/v1" - ], - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "verificationMethod": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", - "type": "Ed25519VerificationKey2020", - "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "publicKeyMultibase": "z6MkqGkKBhttMdqBvfUShfB2QxKJmbQtZbQ3FSzRnYr2unBU" - } - ], - "authentication": [ - "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" - ], - "service": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://bar.example.com" - ] - } - ] - }, - "didDocumentMetadata": { - "created": "2023-03-06T09:36:55Z", - "updated": "2023-03-06T09:39:48Z", - "deactivated": true, - "versionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", - "nextVersionId": "f790c9b9-4817-4b31-be43-b198e6e18071", - "previousVersionId": "0ce23d04-5b67-4ea6-a315-788588e53f4e", - "linkedResourceMetadata": [ - { - "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceName": "TestResource", - "resourceType": "TestType", - "mediaType": "text/plain; charset=utf-8", - "resourceVersion": "1.0", - "created": "2023-03-06T09:53:44Z", - "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", - "previousVersionId": null, - "nextVersionId": null - } - ] + "@context": "https://w3id.org/did-resolution/v1", + "didResolutionMetadata": { + "contentType": "application/did+ld+json", + "retrieved": "2023-04-25T09:35:05Z", + "did": { + "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "method": "cheqd" } + }, + "didDocument": { + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/.well-known/did-configuration/v1", + "https://w3id.org/security/suites/ed25519-2018/v1" + ], + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "verificationMethod": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", + "type": "Ed25519VerificationKey2020", + "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "publicKeyMultibase": "z6MkqGkKBhttMdqBvfUShfB2QxKJmbQtZbQ3FSzRnYr2unBU" + } + ], + "authentication": [ + "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" + ], + "service": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", + "type": "LinkedDomains", + "serviceEndpoint": ["https://bar.example.com"] + } + ] + }, + "didDocumentMetadata": { + "created": "2023-03-06T09:36:55Z", + "updated": "2023-03-06T09:39:48Z", + "deactivated": true, + "versionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", + "nextVersionId": "f790c9b9-4817-4b31-be43-b198e6e18071", + "previousVersionId": "0ce23d04-5b67-4ea6-a315-788588e53f4e", + "linkedResourceMetadata": [ + { + "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceName": "TestResource", + "resourceType": "TestType", + "mediaType": "text/plain; charset=utf-8", + "resourceVersion": "1.0", + "created": "2023-03-06T09:53:44Z", + "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", + "previousVersionId": null, + "nextVersionId": null + } + ] + } } diff --git a/tests/integration/rest/testdata/query/metadata/diddoc_did.json b/tests/integration/rest/testdata/query/metadata/diddoc_did.json index 42437e74..5aba64eb 100644 --- a/tests/integration/rest/testdata/query/metadata/diddoc_did.json +++ b/tests/integration/rest/testdata/query/metadata/diddoc_did.json @@ -1,64 +1,57 @@ { - "@context": "https://w3id.org/did-resolution/v1", - "didResolutionMetadata": { - "contentType": "application/did+ld+json", - "retrieved": "2023-06-15T08:10:37Z", - "did": { - "didString": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN", - "methodSpecificId": "Ps1ysXP2Ae6GBfxNhNQNKN", - "method": "cheqd" - } - }, - "didDocument": { - "@context": [ - "https://www.w3.org/ns/did/v1", - "https://w3id.org/security/suites/ed25519-2020/v1" - ], - "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN", - "verificationMethod": [ - { - "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#key1", - "type": "Ed25519VerificationKey2020", - "controller": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN", - "publicKeyMultibase": "z6Mkta7joRuvDh7UnoESdgpr9dDUMh5LvdoECDi3WGrJoscA" - } - ], - "authentication": [ - "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#key1" - ], - "service": [ - { - "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#website", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://www.cheqd.io" - ] - }, - { - "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#non-fungible-image", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://gateway.ipfs.io/ipfs/bafybeihetj2ng3d74k7t754atv2s5dk76pcqtvxls6dntef3xa6rax25xe" - ] - }, - { - "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#twitter", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://twitter.com/cheqd_io" - ] - }, - { - "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#linkedin", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://www.linkedin.com/company/cheqd-identity/" - ] - } - ] - }, - "didDocumentMetadata": { - "created": "2022-04-05T11:49:19Z", - "versionId": "4fa8e367-c70e-533e-babf-3732d9761061" + "@context": "https://w3id.org/did-resolution/v1", + "didResolutionMetadata": { + "contentType": "application/did+ld+json", + "retrieved": "2023-06-15T08:10:37Z", + "did": { + "didString": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN", + "methodSpecificId": "Ps1ysXP2Ae6GBfxNhNQNKN", + "method": "cheqd" } + }, + "didDocument": { + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/.well-known/did-configuration/v1", + "https://w3id.org/security/suites/ed25519-2020/v1" + ], + "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN", + "verificationMethod": [ + { + "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#key1", + "type": "Ed25519VerificationKey2020", + "controller": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN", + "publicKeyMultibase": "z6Mkta7joRuvDh7UnoESdgpr9dDUMh5LvdoECDi3WGrJoscA" + } + ], + "authentication": ["did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#key1"], + "service": [ + { + "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#website", + "type": "LinkedDomains", + "serviceEndpoint": ["https://www.cheqd.io"] + }, + { + "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#non-fungible-image", + "type": "LinkedDomains", + "serviceEndpoint": [ + "https://gateway.ipfs.io/ipfs/bafybeihetj2ng3d74k7t754atv2s5dk76pcqtvxls6dntef3xa6rax25xe" + ] + }, + { + "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#twitter", + "type": "LinkedDomains", + "serviceEndpoint": ["https://twitter.com/cheqd_io"] + }, + { + "id": "did:cheqd:mainnet:Ps1ysXP2Ae6GBfxNhNQNKN#linkedin", + "type": "LinkedDomains", + "serviceEndpoint": ["https://www.linkedin.com/company/cheqd-identity/"] + } + ] + }, + "didDocumentMetadata": { + "created": "2022-04-05T11:49:19Z", + "versionId": "4fa8e367-c70e-533e-babf-3732d9761061" + } } diff --git a/tests/integration/rest/testdata/query/version_time/diddoc_version_time_date_did.json b/tests/integration/rest/testdata/query/version_time/diddoc_version_time_date_did.json index 11d3ae6d..58c379b1 100644 --- a/tests/integration/rest/testdata/query/version_time/diddoc_version_time_date_did.json +++ b/tests/integration/rest/testdata/query/version_time/diddoc_version_time_date_did.json @@ -1,61 +1,60 @@ { - "@context": "https://w3id.org/did-resolution/v1", - "didResolutionMetadata": { - "contentType": "application/did+ld+json", - "retrieved": "2023-04-24T10:48:50Z", - "did": { - "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "method": "cheqd" - } - }, - "didDocument": { - "@context": [ - "https://www.w3.org/ns/did/v1", - "https://w3id.org/security/suites/ed25519-2018/v1" - ], - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "verificationMethod": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", - "type": "Ed25519VerificationKey2018", - "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "publicKeyBase58": "BpVGbTeT26LipAdk26DBZrmJx2939i9gZS5VxGt1zZQ6" - } - ], - "authentication": [ - "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" - ], - "service": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://bar.example.com" - ] - } - ] - }, - "didDocumentMetadata": { - "created": "2023-03-06T09:36:55Z", - "updated": "2023-03-06T09:59:22Z", - "deactivated": true, - "versionId": "f790c9b9-4817-4b31-be43-b198e6e18071", - "previousVersionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", - "linkedResourceMetadata": [ - { - "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceName": "TestResource", - "resourceType": "TestType", - "mediaType": "text/plain; charset=utf-8", - "resourceVersion": "1.0", - "created": "2023-03-06T09:53:44Z", - "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", - "previousVersionId": null, - "nextVersionId": null - } - ] + "@context": "https://w3id.org/did-resolution/v1", + "didResolutionMetadata": { + "contentType": "application/did+ld+json", + "retrieved": "2023-04-24T10:48:50Z", + "did": { + "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "method": "cheqd" } + }, + "didDocument": { + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/.well-known/did-configuration/v1", + "https://w3id.org/security/suites/ed25519-2018/v1" + ], + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "verificationMethod": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", + "type": "Ed25519VerificationKey2018", + "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "publicKeyBase58": "BpVGbTeT26LipAdk26DBZrmJx2939i9gZS5VxGt1zZQ6" + } + ], + "authentication": [ + "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" + ], + "service": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", + "type": "LinkedDomains", + "serviceEndpoint": ["https://bar.example.com"] + } + ] + }, + "didDocumentMetadata": { + "created": "2023-03-06T09:36:55Z", + "updated": "2023-03-06T09:59:22Z", + "deactivated": true, + "versionId": "f790c9b9-4817-4b31-be43-b198e6e18071", + "previousVersionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", + "linkedResourceMetadata": [ + { + "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceName": "TestResource", + "resourceType": "TestType", + "mediaType": "text/plain; charset=utf-8", + "resourceVersion": "1.0", + "created": "2023-03-06T09:53:44Z", + "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", + "previousVersionId": null, + "nextVersionId": null + } + ] + } } diff --git a/tests/integration/rest/testdata/query/version_time/diddoc_version_time_did.json b/tests/integration/rest/testdata/query/version_time/diddoc_version_time_did.json index 763a0f59..a53c6acf 100644 --- a/tests/integration/rest/testdata/query/version_time/diddoc_version_time_did.json +++ b/tests/integration/rest/testdata/query/version_time/diddoc_version_time_did.json @@ -1,62 +1,61 @@ { - "@context": "https://w3id.org/did-resolution/v1", - "didResolutionMetadata": { - "contentType": "application/did+ld+json", - "retrieved": "2023-04-24T10:48:50Z", - "did": { - "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "method": "cheqd" - } - }, - "didDocument": { - "@context": [ - "https://www.w3.org/ns/did/v1", - "https://w3id.org/security/suites/ed25519-2018/v1" - ], - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "verificationMethod": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", - "type": "Ed25519VerificationKey2018", - "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "publicKeyBase58": "BpVGbTeT26LipAdk26DBZrmJx2939i9gZS5VxGt1zZQ6" - } - ], - "authentication": [ - "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" - ], - "service": [ - { - "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", - "type": "LinkedDomains", - "serviceEndpoint": [ - "https://bar.example.com" - ] - } - ] - }, - "didDocumentMetadata": { - "created": "2023-03-06T09:36:55Z", - "updated": "2023-03-06T09:39:48Z", - "deactivated": true, - "versionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", - "nextVersionId": "f790c9b9-4817-4b31-be43-b198e6e18071", - "previousVersionId": "0ce23d04-5b67-4ea6-a315-788588e53f4e", - "linkedResourceMetadata": [ - { - "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", - "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", - "resourceName": "TestResource", - "resourceType": "TestType", - "mediaType": "text/plain; charset=utf-8", - "resourceVersion": "1.0", - "created": "2023-03-06T09:53:44Z", - "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", - "previousVersionId": null, - "nextVersionId": null - } - ] + "@context": "https://w3id.org/did-resolution/v1", + "didResolutionMetadata": { + "contentType": "application/did+ld+json", + "retrieved": "2023-04-24T10:48:50Z", + "did": { + "didString": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "methodSpecificId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "method": "cheqd" } + }, + "didDocument": { + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/.well-known/did-configuration/v1", + "https://w3id.org/security/suites/ed25519-2018/v1" + ], + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "verificationMethod": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1", + "type": "Ed25519VerificationKey2018", + "controller": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "publicKeyBase58": "BpVGbTeT26LipAdk26DBZrmJx2939i9gZS5VxGt1zZQ6" + } + ], + "authentication": [ + "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#key-1" + ], + "service": [ + { + "id": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c#bar", + "type": "LinkedDomains", + "serviceEndpoint": ["https://bar.example.com"] + } + ] + }, + "didDocumentMetadata": { + "created": "2023-03-06T09:36:55Z", + "updated": "2023-03-06T09:39:48Z", + "deactivated": true, + "versionId": "ce298b6f-594b-426e-b431-370d6bc5d3ad", + "nextVersionId": "f790c9b9-4817-4b31-be43-b198e6e18071", + "previousVersionId": "0ce23d04-5b67-4ea6-a315-788588e53f4e", + "linkedResourceMetadata": [ + { + "resourceURI": "did:cheqd:testnet:b5d70adf-31ca-4662-aa10-d3a54cd8f06c/resources/5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceCollectionId": "b5d70adf-31ca-4662-aa10-d3a54cd8f06c", + "resourceId": "5e16a3f9-7c6e-4b6b-8e28-20f56780ee25", + "resourceName": "TestResource", + "resourceType": "TestType", + "mediaType": "text/plain; charset=utf-8", + "resourceVersion": "1.0", + "created": "2023-03-06T09:53:44Z", + "checksum": "64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c", + "previousVersionId": null, + "nextVersionId": null + } + ] + } } diff --git a/tests/unit/diddoc/common/did_doc_resolve_service_test.go b/tests/unit/diddoc/common/did_doc_resolve_service_test.go index 60602b0e..1c71089e 100644 --- a/tests/unit/diddoc/common/did_doc_resolve_service_test.go +++ b/tests/unit/diddoc/common/did_doc_resolve_service_test.go @@ -27,6 +27,7 @@ var _ = DescribeTable("Test Resolve method", func(testCase resolveDidDocTestCase (testCase.expectedError == nil) { testCase.expectedDIDResolution.Did.Context = []string{ types.DIDSchemaJSONLD, + types.LinkedDomainsJSONLD, types.JsonWebKey2020JSONLD, } } else if testCase.expectedDIDResolution.Did != nil { diff --git a/tests/unit/diddoc/request/diddoc_positive_cases_test.go b/tests/unit/diddoc/request/diddoc_positive_cases_test.go index 3f996277..878915fa 100644 --- a/tests/unit/diddoc/request/diddoc_positive_cases_test.go +++ b/tests/unit/diddoc/request/diddoc_positive_cases_test.go @@ -25,7 +25,7 @@ var _ = DescribeTable("Test Query handlers with versionId and versionTime params expectedDIDResolution := testCase.expectedResolution.(*types.DidResolution) if (testCase.resolutionType == "" || testCase.resolutionType == types.DIDJSONLD) && testCase.expectedError == nil { - expectedDIDResolution.Did.Context = []string{types.DIDSchemaJSONLD, types.JsonWebKey2020JSONLD} + expectedDIDResolution.Did.Context = []string{types.DIDSchemaJSONLD, types.LinkedDomainsJSONLD, types.JsonWebKey2020JSONLD} } else if expectedDIDResolution.Did != nil { expectedDIDResolution.Did.Context = nil } diff --git a/tests/unit/diddoc/request/diddoc_transform_key_test.go b/tests/unit/diddoc/request/diddoc_transform_key_test.go index eddbb84e..d62da111 100644 --- a/tests/unit/diddoc/request/diddoc_transform_key_test.go +++ b/tests/unit/diddoc/request/diddoc_transform_key_test.go @@ -23,7 +23,7 @@ var _ = DescribeTable("Test Query handler with transformKeys params", func(testC expectedDIDResolution := testCase.expectedResolution.(*types.DidResolution) if (testCase.resolutionType == "" || testCase.resolutionType == types.DIDJSONLD) && testCase.expectedError == nil { - expectedDIDResolution.Did.Context = []string{types.DIDSchemaJSONLD, types.JsonWebKey2020JSONLD} + expectedDIDResolution.Did.Context = []string{types.DIDSchemaJSONLD, types.LinkedDomainsJSONLD, types.JsonWebKey2020JSONLD} } else if expectedDIDResolution.Did != nil { expectedDIDResolution.Did.Context = nil } diff --git a/tests/unit/diddoc/request/request_service_resolve_did_doc_test.go b/tests/unit/diddoc/request/request_service_resolve_did_doc_test.go index 4013ae92..72db51f7 100644 --- a/tests/unit/diddoc/request/request_service_resolve_did_doc_test.go +++ b/tests/unit/diddoc/request/request_service_resolve_did_doc_test.go @@ -31,7 +31,7 @@ var _ = DescribeTable("Test DIDDocEchoHandler function", func(testCase resolveDI context, rec := utils.SetupEmptyContext(request, testCase.resolutionType, utils.MockLedger) if (testCase.resolutionType == "" || testCase.resolutionType == types.DIDJSONLD) && testCase.expectedError == nil { - testCase.expectedDIDResolution.Did.Context = []string{types.DIDSchemaJSONLD, types.JsonWebKey2020JSONLD} + testCase.expectedDIDResolution.Did.Context = []string{types.DIDSchemaJSONLD, types.LinkedDomainsJSONLD, types.JsonWebKey2020JSONLD} } else if testCase.expectedDIDResolution.Did != nil { testCase.expectedDIDResolution.Did.Context = nil } diff --git a/types/constants.go b/types/constants.go index 6120d904..e871b82f 100644 --- a/types/constants.go +++ b/types/constants.go @@ -37,6 +37,7 @@ func (tKType TransformKeysType) IsSupported() bool { const ( DIDSchemaJSONLD = "https://www.w3.org/ns/did/v1" + LinkedDomainsJSONLD = "https://identity.foundation/.well-known/did-configuration/v1" ResolutionSchemaJSONLD = "https://w3id.org/did-resolution/v1" Ed25519VerificationKey2020JSONLD = "https://w3id.org/security/suites/ed25519-2020/v1" Ed25519VerificationKey2018JSONLD = "https://w3id.org/security/suites/ed25519-2018/v1" @@ -57,6 +58,7 @@ const ( VersionId string = "versionId" VersionTime string = "versionTime" TransformKeys string = "transformKeys" + LinkedDomains string = "LinkedDomains" Metadata string = "metadata" ServiceQ string = "service" RelativeRef string = "relativeRef" diff --git a/types/helper.go b/types/helper.go index 2a6744dd..5ed8a992 100644 --- a/types/helper.go +++ b/types/helper.go @@ -36,15 +36,15 @@ func SetupLogger(config Config) { func ParseGRPCEndpoint(configEndpoint string, networkName string) (*Network, error) { config := strings.Split(configEndpoint, ",") if len(config) != 3 { - return nil, fmt.Errorf(fmt.Sprintf("Endpoint config for %s is invalid: %s", networkName, configEndpoint)) + return nil, fmt.Errorf("endpoint config for %s is invalid: %s", networkName, configEndpoint) } useTls, err := strconv.ParseBool(config[1]) if err != nil { - return nil, fmt.Errorf(fmt.Sprintf("useTls value %s for %s endpoint is invalid", configEndpoint, networkName)) + return nil, fmt.Errorf("useTls value %s for %s endpoint is invalid", configEndpoint, networkName) } timeout, err := time.ParseDuration(config[2]) if err != nil { - return nil, fmt.Errorf(fmt.Sprintf("Timeout value %s for %s endpoint is invalid", configEndpoint, networkName)) + return nil, fmt.Errorf("timeout value %s for %s endpoint is invalid", configEndpoint, networkName) } return &Network{