aries-agent-test-harness icon indicating copy to clipboard operation
aries-agent-test-harness copied to clipboard

Add tests for RFC 0794 DID Rotate

Open swcurran opened this issue 1 year ago • 2 comments

Various Aries Frameworks are adding support for [RFC 0794 DID Rotate]. Please add some tests for DID Rotate.

The tests should at minimum:

  • Establish a connection between test agents (say, Acme and Bob).
  • Have one of the agent (say, Acme) initiate a DID Rotate.
  • Execute another protocol, such as a trust ping, to ensure that the agents can still communicate.

swcurran avatar Dec 12 '23 00:12 swcurran

This work is still early, as (AFAIK) none of the Aries Frameworks yet support this RFC, however, it is coming Real Soon Now. Once we have it supported in one, we'd like to be able to run AATH tests of the feature.

@TelegramSam @dbluhm -- anything to add to this?

swcurran avatar Dec 12 '23 00:12 swcurran

Reading through the unqualified DID transition document it appears that as of Step 2, frameworks will no longer send an unqualified DID. If I understand correctly, Establish a connection between test agents (say, Acme and Bob) should be done with an unqualified DID. However at the point of Step 2, that won't be possible. The test agents when stood up don't come with any historical data, so if this is to be done, the scenario might have to look like this.

  • Start agent(s) at a version that supports sending unqualified DIDs.
  • Establish a connection between test agents (say, Acme and Bob).
  • Shutdown, upgrade to the version that no longer sends unqualified DIDs, then restart the agent(s)
  • Have one of the agent (say, Acme) initiate a DID Rotate.
  • Execute another protocol, such as a trust ping, to ensure that the agents can still communicate.

This agent upgrade process may be difficult to achieve in the test scenario. I'm wondering if the Transition RFC can loosen the requirement of not sending an unqualified DID in step 2 and higher? Maybe maintain a backdoor or a flag to tell the agent to send unqualified DIDs just for testing?

This suite of tests seems to have a limited lifespan. Once the frameworks fully move to qualified DIDs and all existing DIDs are rotated, then this suite can be retired. Maybe at that time, the frameworks can remove the ability to send unqualified DIDs through the testing backdoor.

nodlesh avatar Dec 15 '23 17:12 nodlesh