Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🧪 Review and enhance revocation tests #481

Open
wdbasson opened this issue Oct 4, 2023 · 2 comments
Open

🧪 Review and enhance revocation tests #481

wdbasson opened this issue Oct 4, 2023 · 2 comments
Assignees
Labels

Comments

@wdbasson
Copy link
Collaborator

wdbasson commented Oct 4, 2023

Replicate demo test case: https://aca-py.org/main/demo/#revocation

@ff137
Copy link
Collaborator

ff137 commented Nov 30, 2023

Currently we can create credential definitions that support revocation, and the issuer can call /revoke-credential after a credential has been issued. This is asserted in the tests.

One enhancement would be to assert the behavior during a proof request, after a cred has been revoked.
And other things, like asserting that a non-revocable credential should error when attempted to revoke ...

@ff137
Copy link
Collaborator

ff137 commented Nov 30, 2023

Apart from credentials, there's some revocation registry behavior that is only mocked, but not e2e tested.

Here's a summary of RevocationAPI functions, and whether it's covered or not:
✅ used and covered by tests:

  • create_registry
  • get_active_registry_for_cred_def
  • publish_rev_reg_def and publish_rev_reg_entry
  • revoke_credential
  • set_registry_state (we only ever set to 'active', upon creation)

❌ Unused methods:

  • clear_pending_revocations
  • download_tails_file
  • get_created_registries
  • get_registry (by rev reg id)
  • get_registry_issued_credentials_count (by rev reg id)
  • get_revocation_status (by cred_ex_id, or cred_rev_id, or rev_reg_id)
  • publish_revocations (bulk revocations)
  • revocation_active_registry_cred_def_id_rotate_post (rotate revocation registry, by cred_def_id)
  • revocation_registry_delete_tails_file_delete (delete tails files)
  • revocation_registry_rev_reg_id_fix_revocation_entry_state_put (Fix revocation state in wallet)
  • revocation_registry_rev_reg_id_issued_details_get (Get details of credentials issued against revocation registry)
  • revocation_registry_rev_reg_id_issued_indy_recs_get (Get details of revoked credentials from ledger)
  • update_registry (Update revocation registry with new public URI to its tails file)
  • upload_tails_file (Upload local tails file to server)

So, there you have it! Revocation is fairly complex and we should work towards implementing more of those unused methods in order to support it properly.

edit: added checkboxes for the methods that have since been implemented

@ff137 ff137 added the tests label Jan 16, 2024
@ff137 ff137 changed the title Review and enhance revocation tests 🧪 Review and enhance revocation tests Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants