UNPKG

@gleif-it/vlei-verifier-workflows

Version:

Workflows for vLEI users and vLEI credentials for the vLEI-verifier service

30 lines (29 loc) 1.59 kB
import { strict as assert } from 'assert'; import { VerifierClient } from 'vlei-verifier-client'; import { resolveEnvironment } from './utils/resolve-env.js'; import { CREDENTIAL_CRYPT_VALID, CREDENTIAL_VERIFIED, } from './utils/test-data.js'; export class CredentialVerification { env; verifierClient; constructor() { this.env = resolveEnvironment(); this.verifierClient = new VerifierClient(this.env.verifierBaseUrl); } async credentialPresentation(vleiUser, credId, expectedStatus = CREDENTIAL_CRYPT_VALID) { const credential = JSON.parse(JSON.stringify(vleiUser.creds[credId])); const presentationExpectedStatusCode = expectedStatus.status == CREDENTIAL_CRYPT_VALID.status ? 202 : 400; await this.presentCredential(credential.cred, credential.credCesr, presentationExpectedStatusCode); } async credentialAuthorization(vleiUser, expectedStatus = CREDENTIAL_VERIFIED) { const checkAidAuthExpectedStatus = expectedStatus.status == CREDENTIAL_VERIFIED.status ? 200 : 401; await this.checkAidAuthStatus(vleiUser.ecrAid.prefix, checkAidAuthExpectedStatus); } async presentCredential(cred, credCesr, expected_status_code) { const verifierResponse = await this.verifierClient.login(cred.sad.d, credCesr); assert.equal(verifierResponse.code, expected_status_code); } async checkAidAuthStatus(aidPrefix, expected_status_code) { const verifierResponse = await this.verifierClient.checkLogin(aidPrefix); assert.equal(verifierResponse.code, expected_status_code); } }