From e92b5e2328bda2295b3837ce82ccaec766d0d121 Mon Sep 17 00:00:00 2001 From: Timo Glastra Date: Thu, 23 Jan 2025 00:30:32 +0800 Subject: [PATCH 1/2] fix: message @type in problem report Signed-off-by: Timo Glastra --- packages/core/src/agent/MessageReceiver.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/src/agent/MessageReceiver.ts b/packages/core/src/agent/MessageReceiver.ts index 81cb2961b8..cd23d55889 100644 --- a/packages/core/src/agent/MessageReceiver.ts +++ b/packages/core/src/agent/MessageReceiver.ts @@ -258,11 +258,11 @@ export class MessageReceiver { try { messageTransformed = JsonTransformer.fromJSON(message, MessageClass) } catch (error) { - this.logger.error(`Error validating message ${message.type}`, { + this.logger.error(`Error validating message ${message['@type']}`, { errors: error, message: JSON.stringify(message), }) - throw new ProblemReportError(`Error validating message ${message.type}`, { + throw new ProblemReportError(`Error validating message ${message['@type']}`, { problemCode: ProblemReportReason.MessageParseFailure, }) } From 5e136a6c861ebcdf2b57360a4cb7de31559685aa Mon Sep 17 00:00:00 2001 From: Timo Glastra Date: Thu, 23 Jan 2025 12:02:53 +0800 Subject: [PATCH 2/2] test: mock verification of mattr launchpad jwt vc due to expiration Signed-off-by: Timo Glastra --- .../openid4vc-holder/__tests__/openid4vci-holder.test.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/openid4vc/src/openid4vc-holder/__tests__/openid4vci-holder.test.ts b/packages/openid4vc/src/openid4vc-holder/__tests__/openid4vci-holder.test.ts index 6e81e72167..88b701c5f4 100644 --- a/packages/openid4vc/src/openid4vc-holder/__tests__/openid4vci-holder.test.ts +++ b/packages/openid4vc/src/openid4vc-holder/__tests__/openid4vci-holder.test.ts @@ -8,6 +8,7 @@ import { KeyType, TypedArrayEncoder, W3cJwtVerifiableCredential, + W3cCredentialService, } from '@credo-ts/core' import nock, { cleanAll, enableNetConnect } from 'nock' @@ -100,6 +101,13 @@ describe('OpenId4VcHolder', () => { const accessTokenResponse = await holder.modules.openId4VcHolder.requestToken({ resolvedCredentialOffer: resolved, }) + + // The credential issued by mattr launchpad is expired, so we mock the verification... + const w3cCredentialService = holder.dependencyManager.resolve(W3cCredentialService) + jest + .spyOn(w3cCredentialService, 'verifyCredential') + .mockImplementationOnce(async () => ({ isValid: true, validations: {} })) + const credentialsResult = await holder.modules.openId4VcHolder.requestCredentials({ resolvedCredentialOffer: resolved, ...accessTokenResponse,