gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]