Skip to content

Conversation

@nitro-neal
Copy link
Contributor

This updates the way create works:

The input are the fields for the actual input fields of a vc with the VerifiableCredential.create() method.
The output is the comparison of the VcDataModel object to what is expected.

Note classes implementing this have can't JUST do an object to object comparison because certain things like id and issuance date will be different than the output (by design)

Example VerifiableCredential.create() vector:

      "description":"valid simple credential",
      "input":{
        "credential":{
          "type":"SimpleCred",
          "issuer":"did:example:issuer",
          "subject":"did:example:subject",
          "credentialSubject":{
            "legit":true
          }
        }
      },
      "output":{
        "@context":[
          "https://www.w3.org/2018/credentials/v1"
        ],
        "type":[
          "VerifiableCredential",
          "SimpleCred"
        ],
        "id":"urn:uuid:ea74b564-fbe0-4b80-bd60-cd465d433e12",
        "issuer":"did:example:issuer",
        "credentialSubject":{
          "id":"did:example:subject",
          "legit":true
        }
      }
    },
    ```

@decentralgabe
Copy link
Member

@nitro-neal is the intention to have this vector test an intermediate representation of a VC before it gets serialized as a JWT?

Copy link
Member

@decentralgabe decentralgabe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is an improvement so I will approve.

I think we should add additional vectors to verify that going from input -> VC -> VC JWT -> VC is a consistent process

@nitro-neal
Copy link
Contributor Author

As discussed:

Every other test vector like corresponds to a function call:

eg:
VerifiableCredential.verify()
DidDht.resolve()

every other one works in that you put the input and its like ‘known expected output’
so basically this is an attempt to do the same for VerifiableCredential.create()

Will create a new test vector VerifiableCredential.parseJwt() for round trip testing

@jiyoonie9 jiyoonie9 changed the title Update create vector [do not merge] Update create vector Apr 5, 2024
@decentralgabe
Copy link
Member

@nitro-neal can this be closed?

@decentralgabe decentralgabe linked an issue Aug 16, 2024 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Change credentials create test vectors

4 participants