decentralized-identity/presentation-exchange

Extract e2e test vector set and/or profile from verite and tbd implementations?

bumblefudge opened this issue · 10 comments

Initial Thoughts:

  • test harness? jest type harness versus docker-based? is what's in there now JUST for JSONSchema?
  • could pair with, e.g., a VC-JWT and did-method-set profile for people to run locally/internally and self-attest
  • start with e2e/reasonable coverage, do full conformance in a second pass?
  • what if there was a pathed, CCG DID:WEB... for this repo (and in spec-up)? with the private key checked into /tests/ ? and a holder private key as well for metamask or did:ion?

Current State:

  • incremeetal approach: build up vectors towards e2e coverage, then scripts, then suite/harness

(will check in at next week's meeting on normative statements and neg vectors)

jest is fine, since we'll just be plugging in json. I'm not a js/ts guy though so can't commit to doing the impl but I can commit to generating the vectors

Discuss next week?

Discussed on DIF:

  1. Focus on building the test vectors out first ( can do )
  2. Second, let's build out the test harness. ( challenged with resources. need to find a way to get this through with the limited bandwidth everyone has)

update on today's call - Kim will check in a few vectors later in the summer to get the ball rolling but others shouldn't wait for her if they have unit tests they can check in

I started on this. Key references:

The README.md in the pe-tests repo has a description of the intended structure, approach, and issues to discuss. I'd like to discuss these with you folks before proceeding further.

I've started roughly mapping the tests to @bumblefudge's spreadsheet (thanks again Juan!) and also have flagged some spec language issues, as we expected would happen.

We could consider moving another of my WIP repos to DIF, which was intended as a basic sample implementation of PE and CM, plus serve as a useful library for node/js. It would just take a little more work for me to push along and use this as a sample implementation of the pe-test suite. Just mentioning in case we are interested.

@csuwildcat @decentralgabe @brentzundel @andorsk @bumblefudge

Niels pointed out there is an OpenAPI def for v1 and for v2 already on their repo:
https://github.com/Sphereon-Opensource/pex-openapi
to generate APIs per language...

Also, as Niels pointed out on the call, https://github.com/kimdhamilton/presex-lib is currently private, @kimdhamilton ! Feel free to gather additional requirements from, link to, and then close the other test-suite issues while you're at it :D

Testing artefacts moved into a DIF repo and editors here are now CODEOWNERS over there, so feel free to PR against it if you find bugs or nits!

Also, as Niels pointed out on the call, https://github.com/kimdhamilton/presex-lib is currently private, @kimdhamilton ! Feel free to gather additional requirements from, link to, and then close the other test-suite issues while you're at it :D

Thanks for the reminder @bumblefudge -- I switched it to public