aries-protocol-test-suite
aries-protocol-test-suite copied to clipboard
need tests for DID Exchange / Connection Protocol
All of the following tests are needed.
- An overly long invitation is rejected since it can't be turned into a QR code?
- Agent can be either inviter or invitee.
- A public DID can be used as an implicit invitation.
- A connection resp that is not signed by the key used in the invitation generates a graceful error.
- A connection resp sent before a connection req generates a graceful error.
- A connection resp or connection req that uses a different thread from the previous message generates a graceful error.
- A connection resp or req that uses the same thread as previous, but an inconsistent state (e.g., different DID Doc or endpoint) is rejected.
- DID Docs with extra fields are handled.
- DID Docs lacking required fields are rejected.
- DID Docs lacking public keys of type {Ed25519|Secp256k1|RSA} are either handled fully, or generate a graceful error.
- A plaintext version of a connection request or connection response is gracefully rejected.
Progress:
- [ ] An overly long invitation is rejected since it can't be turned into a QR code?
- [x] Agent can be either inviter or invitee.
- [ ] A public DID can be used as an implicit invitation.
- [ ] A connection resp that is not signed by the key used in the invitation generates a graceful error.
- [ ] A connection resp sent before a connection req generates a graceful error.
- [ ] A connection resp or connection req that uses a different thread from the previous message generates a graceful error.
- [ ] A connection resp or req that uses the same thread as previous, but an inconsistent state (e.g., different DID Doc or endpoint) is rejected.
- [ ] DID Docs with extra fields are handled.
- [ ] DID Docs lacking required fields are rejected.
- [ ] DID Docs lacking public keys of type {Ed25519|Secp256k1|RSA} are either handled fully, or generate a graceful error.
- [ ] A plaintext version of a connection request or connection response is gracefully rejected.
A plaintext version of a connection request or connection response is gracefully rejected.
What would we consider a graceful rejection in this context? A 400?
The condition that's triggering a graceful rejection is that the message trust context doesn't confer enough trust to proceed. I would expect a graceful rejection to be a problem report explaining that.
Given that there are no keys to figure out which connection sent the message, would we expect this message to be returned in plaintext to the active http connection?
Actually, now that you point out that detail, I would be content with a 400