decentralized-identity / JWS-Test-Suite

JsonWebSignature2020 Test Suite
https://identity.foundation/JWS-Test-Suite
Apache License 2.0
9 stars 11 forks source link

Improve documentation for how to submit a new implementation #45

Closed OR13 closed 2 years ago

OR13 commented 2 years ago

We need to update the top level readme.

It needs to tell people take a look at the mock implementation here:

https://github.com/decentralized-identity/JWS-Test-Suite/tree/main/implementations/mock

the mock implementation needs to be updated to explain a bit more of what the docker images is expected to do.

The behavior of https://github.com/decentralized-identity/JWS-Test-Suite/blob/main/generate.js#L32

Needs to be documented in the readme.

It needs to explain that your new docker cli should support issue and verify for credentials and presentations, and how to handle key formats that you support and don't support.

OR13 commented 2 years ago

@kimdhamilton while its fresh in your mind, any pain points you want to add here?

kimdhamilton commented 2 years ago

Thanks for kicking this off. there were several areas:

  1. the biggest confusion was I couldn't figure out the boundaries of the test input and the implementation. each implementation appeared to be manually inserting the same challenge (123) vs having it handed to it by the test framework, and it didn't necessarily seem intuitive that the inputs would be as defined for a did-jwt implementation (which, for example, caused me to do the same munging that the Microsoft implementation did
  2. Partially because of the above, I wasn't sure if I was "doing it right" or if I was cheating; i.e. the "contract" wasn't entirely clear. For example, should the munging I'm doing in this test implementation be expected behavior of did-jwt-vc? Does it suffice that did-jwt-vc can provide normative output on munged input? This is where I was really fuzzy
  3. Lastly, and I get that this would be a lot of work to attempt for every language, it felt weird that I was duplicating a lot of code from other implementations. I wasn't sure if this is just an artifact of js implementations needing to do the same thing, whether this was an opportunity for test framework utilities, or, again, whether I was cheating.

Basically I got to to a point that looked equivalent to what other people were doing, but I felt dirty in the process.

kimdhamilton commented 2 years ago

oh, lastly it wasn't clear that I should check in my test files. Assuming that's the case @OR13 ? (I mean seems obvious in retrospect)

OR13 commented 2 years ago

@kimdhamilton the test files will get overwritten by the ci system... they should probably be ignored locally.

decentralgabe commented 2 years ago

Also interested in this, working on an implementation for our TBD lib and have the same thoughts as @kimdhamilton

OR13 commented 2 years ago

@decentralgabe don't be afraid to leave a ranty comment on this issue for anything rough you hit... we need those reports to improve, also please document as you go if you can.

decentralgabe commented 2 years ago

merged update, if there's more work to do, please re-open.