From 8881a469428af4e0b58c870c232d16081741bb9c Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 2 Jan 2024 21:31:25 +0000 Subject: [PATCH] Account for issuer or verifier rejecting invalid validUntils. --- tests/10-vcdm2.js | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/tests/10-vcdm2.js b/tests/10-vcdm2.js index 8fb4d2f..616815d 100644 --- a/tests/10-vcdm2.js +++ b/tests/10-vcdm2.js @@ -392,7 +392,20 @@ describe('Verifiable Credentials Data Model v2.0', function() { './input/credential-validUntil-validFrom-fail.json'); negativeTest.validFrom = createTimeStamp({skew: 2}); negativeTest.validUntil = createTimeStamp({skew: -2}); - assert.rejects(issue(negativeTest)); + let error; + let result; + try { + result = await issue(negativeTest); + } catch(e) { + error = e; + } + // spec is not entirely clear here so if an issuer checks for valid + // dates that's ok + if(error) { + return; + } + // all verifiers should reject a VC with invalid validUntil & validFrom + assert.rejects(verify(result)); }); it2('If a validFrom value also exists, the validUntil value MUST ' + 'express a datetime that is temporally the same or later than the ' + @@ -406,7 +419,20 @@ describe('Verifiable Credentials Data Model v2.0', function() { './input/credential-validUntil-validFrom-fail.json'); negativeTest.validFrom = createTimeStamp({skew: 2}); negativeTest.validUntil = createTimeStamp({skew: -2}); - assert.rejects(issue(negativeTest)); + let error; + let result; + try { + result = await issue(negativeTest); + } catch(e) { + error = e; + } + // spec is not entirely clear here so if an issuer checks for valid + // dates that's ok + if(error) { + return; + } + // all verifiers should reject a VC with invalid validUntil & validFrom + assert.rejects(verify(result)); }); // FIXME remove as this doesn't seem to be in the spec it.skip('At least one proof mechanism, and the details necessary ' +