Skip to content

Commit

Permalink
Add test for deleted credential cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
BryanJacobs committed Aug 8, 2023
1 parent cefbf87 commit 2a77a16
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions python_tests/ctap/test_credprotect.py
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,35 @@ def test_low_sec_credprotect(self):
})


class CredProtectDeletionTestCase(CredManagementBaseTestCase):
@parameterized.expand([
("Level 3R", CredProtectExtension.POLICY.REQUIRED),
("Level 2R", CredProtectExtension.POLICY.OPTIONAL_WITH_LIST),
("Level 1R", CredProtectExtension.POLICY.OPTIONAL),
])
def test_deleted_creds_are_gone(self, _, policy):
client = self.get_high_level_client(extensions=[CredProtectExtension],
user_interaction=FixedPinUserInteraction(self.pin))
resident_key = ResidentKeyRequirement.REQUIRED

cred = client.make_credential(options=self.get_high_level_make_cred_options(
resident_key,
{
"credentialProtectionPolicy": policy
}
))

cm = self.get_credential_management()
cm.delete_cred(self.get_descriptor_from_cred(cred))

with self.assertRaises(ClientError) as e:
client.get_assertion(self.get_high_level_assertion_opts_from_cred(cred))
self.assertEqual(CtapError.ERR.NO_CREDENTIALS, e.exception.cause.code)

with self.assertRaises(ClientError) as e:
client.get_assertion(self.get_high_level_assertion_opts_from_cred(cred=None, rp_id=self.rp_id))
self.assertEqual(CtapError.ERR.NO_CREDENTIALS, e.exception.cause.code)


class CredProtectRKVisTestCase(CredManagementBaseTestCase):
@parameterized.expand([
Expand Down

0 comments on commit 2a77a16

Please sign in to comment.