[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-wallet-core] branch master updated: harness: update oauth2 kyc te
From: |
gnunet |
Subject: |
[taler-wallet-core] branch master updated: harness: update oauth2 kyc test |
Date: |
Wed, 21 Aug 2024 11:25:57 +0200 |
This is an automated email from the git hooks/post-receive script.
dold pushed a commit to branch master
in repository wallet-core.
The following commit(s) were added to refs/heads/master by this push:
new 7f90bd426 harness: update oauth2 kyc test
7f90bd426 is described below
commit 7f90bd4267223e02a0ef280f0e3a27a80ee9f465
Author: Florian Dold <florian@dold.me>
AuthorDate: Wed Aug 21 11:25:59 2024 +0200
harness: update oauth2 kyc test
---
.../taler-harness/src/integrationtests/test-kyc.ts | 80 ++++++++++++++--------
1 file changed, 50 insertions(+), 30 deletions(-)
diff --git a/packages/taler-harness/src/integrationtests/test-kyc.ts
b/packages/taler-harness/src/integrationtests/test-kyc.ts
index 74ca2457c..21843de0b 100644
--- a/packages/taler-harness/src/integrationtests/test-kyc.ts
+++ b/packages/taler-harness/src/integrationtests/test-kyc.ts
@@ -27,7 +27,6 @@ import {
TransactionType,
j2s,
} from "@gnu-taler/taler-util";
-import { createPlatformHttpLib } from "@gnu-taler/taler-util/http";
import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
import * as http from "node:http";
import { CoinConfig, defaultCoinConfig } from "../harness/denomStructures.js";
@@ -39,6 +38,7 @@ import {
WalletClient,
WalletService,
generateRandomPayto,
+ harnessHttpLib,
setupDb,
} from "../harness/harness.js";
import { EnvOptions, SimpleTestEnvironmentNg3 } from "../harness/helpers.js";
@@ -132,11 +132,48 @@ async function createKycTestkudosEnvironment(
}
await exchange.modifyConfig(async (config) => {
- const myprov = "kyc-provider-myprov";
- config.setString(myprov, "cost", "0");
+ config.setString("exchange", "enable_kyc", "yes");
+
+ config.setString("KYC-RULE-R1", "operation_type", "withdraw");
+ config.setString("KYC-RULE-R1", "enabled", "yes");
+ config.setString("KYC-RULE-R1", "exposed", "yes");
+ config.setString("KYC-RULE-R1", "is_and_combinator", "yes");
+ config.setString("KYC-RULE-R1", "threshold", "TESTKUDOS:5");
+ config.setString("KYC-RULE-R1", "timeframe", "1d");
+ config.setString("KYC-RULE-R1", "next_measures", "M1");
+
+ config.setString("KYC-MEASURE-M1", "check_name", "C1");
+ config.setString("KYC-MEASURE-M1", "context", "{}");
+ config.setString("KYC-MEASURE-M1", "program", "P1");
+
+ config.setString("KYC-CHECK-C1", "type", "LINK");
+ config.setString("KYC-CHECK-C1", "provider_id", "MYPROV");
+ config.setString("KYC-CHECK-C1", "description", "my check!");
+ config.setString("KYC-CHECK-C1", "description_i18n", "{}");
+ config.setString("KYC-CHECK-C1", "outputs", "full_name birthdate");
+ config.setString("KYC-CHECK-C1", "fallback", "M1");
+
+ config.setString(
+ "AML-PROGRAM-P1",
+ "command",
+ "taler-exchange-helper-measure-test-form",
+ );
+ config.setString("AML-PROGRAM-P1", "enabled", "true");
+ config.setString(
+ "AML-PROGRAM-P1",
+ "description",
+ "test for full_name and birthdate",
+ );
+ config.setString("AML-PROGRAM-P1", "description_i18n", "{}");
+ config.setString("AML-PROGRAM-P1", "fallback", "M1");
+
+ const myprov = "KYC-PROVIDER-MYPROV";
config.setString(myprov, "logic", "oauth2");
- config.setString(myprov, "provided_checks", "dummy1");
- config.setString(myprov, "user_type", "individual");
+ config.setString(
+ myprov,
+ "converter",
+ "taler-exchange-kyc-oauth2-test-converter.sh",
+ );
config.setString(myprov, "kyc_oauth2_validity", "forever");
config.setString(
myprov,
@@ -167,17 +204,6 @@ async function createKycTestkudosEnvironment(
"operation_type",
"withdraw",
);
- config.setString(
- "kyc-legitimization-withdraw1",
- "required_checks",
- "dummy1",
- );
- config.setString("kyc-legitimization-withdraw1", "timeframe", "1d");
- config.setString(
- "kyc-legitimization-withdraw1",
- "threshold",
- "TESTKUDOS:5",
- );
});
await exchange.start();
@@ -317,7 +343,7 @@ async function runTestfakeKycService():
Promise<TestfakeKycService> {
JSON.stringify({
status: "success",
data: {
- id: "foobar",
+ name: "Alice Abc",
},
}),
);
@@ -413,26 +439,20 @@ export async function runKycTest(t: GlobalTestState) {
);
t.assertDeepEqual(txState.type, TransactionType.Withdrawal);
+ const paytoHash = txState.kycPaytoHash;
- const kycUrl = txState.kycUrl;
-
- t.assertTrue(!!kycUrl);
-
- logger.info(`kyc URL is ${kycUrl}`);
+ t.assertTrue(!!txState.kycUrl);
+ t.assertTrue(!!paytoHash);
// We now simulate the user interacting with the KYC service,
// which would usually done in the browser.
- const httpLib = createPlatformHttpLib({
- enableThrottling: false,
- });
- const kycServerResp = await httpLib.fetch(kycUrl);
- const kycLoginResp = await kycServerResp.json();
- logger.info(`kyc server resp: ${j2s(kycLoginResp)}`);
- const kycProofUrl = kycLoginResp.redirect_uri;
+ const proofUrl = new URL(`kyc-proof/MYPROV`, exchange.baseUrl);
+ proofUrl.searchParams.set("state", paytoHash);
+
// We need to "visit" the KYC proof URL at least once to trigger the exchange
// asking for the KYC status.
- const proofHttpResp = await httpLib.fetch(kycProofUrl);
+ const proofHttpResp = await harnessHttpLib.fetch(proofUrl.href);
logger.info(`proof resp status ${proofHttpResp.status}`);
logger.info(`resp headers ${j2s(proofHttpResp.headers.toJSON())}`);
if (
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-wallet-core] branch master updated: harness: update oauth2 kyc test,
gnunet <=