gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] 01/02: harness: simplify test


From: gnunet
Subject: [taler-wallet-core] 01/02: harness: simplify test
Date: Tue, 10 Dec 2024 21:27:57 +0100

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository wallet-core.

commit fed85262983f3323445a5444c737880221560f5e
Author: Florian Dold <florian@dold.me>
AuthorDate: Tue Dec 10 21:25:36 2024 +0100

    harness: simplify test
---
 packages/taler-harness/src/harness/environments.ts |   2 +-
 .../integrationtests/test-kyc-deposit-aggregate.ts | 214 ++++-----------------
 packages/taler-wallet-core/src/deposits.ts         |   2 +
 3 files changed, 36 insertions(+), 182 deletions(-)

diff --git a/packages/taler-harness/src/harness/environments.ts 
b/packages/taler-harness/src/harness/environments.ts
index 480e91a89..1ac085988 100644
--- a/packages/taler-harness/src/harness/environments.ts
+++ b/packages/taler-harness/src/harness/environments.ts
@@ -988,7 +988,7 @@ export async function makeTestPaymentV2(
     transactionId: preparePayResult.transactionId,
   });
 
-  t.assertTrue(r2.type === ConfirmPayResultType.Done);
+  t.assertDeepEqual(r2.type, ConfirmPayResultType.Done);
 
   // Check if payment was successful.
 
diff --git 
a/packages/taler-harness/src/integrationtests/test-kyc-deposit-aggregate.ts 
b/packages/taler-harness/src/integrationtests/test-kyc-deposit-aggregate.ts
index 233fa8bd4..4f1b03e8b 100644
--- a/packages/taler-harness/src/integrationtests/test-kyc-deposit-aggregate.ts
+++ b/packages/taler-harness/src/integrationtests/test-kyc-deposit-aggregate.ts
@@ -18,200 +18,50 @@
  * Imports.
  */
 import {
-  TalerCorebankApiClient,
+  Configuration,
   TransactionMajorState,
   TransactionMinorState,
 } from "@gnu-taler/taler-util";
+import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
 import {
-  createSyncCryptoApi,
-  EddsaKeyPairStrings,
-  WalletApiOperation,
-} from "@gnu-taler/taler-wallet-core";
-import { CoinConfig, defaultCoinConfig } from "../harness/denomStructures.js";
-import {
-  BankService,
-  DbInfo,
-  ExchangeService,
-  getTestHarnessPaytoForLabel,
-  GlobalTestState,
-  HarnessExchangeBankAccount,
-  setupDb,
-  WalletClient,
-  WalletService,
-} from "../harness/harness.js";
-import {
-  EnvOptions,
+  createKycTestkudosEnvironment,
   postAmlDecisionNoRules,
   withdrawViaBankV3,
 } from "../harness/environments.js";
-
-interface KycTestEnv {
-  commonDb: DbInfo;
-  bankClient: TalerCorebankApiClient;
-  exchange: ExchangeService;
-  exchangeBankAccount: HarnessExchangeBankAccount;
-  walletClient: WalletClient;
-  walletService: WalletService;
-  amlKeypair: EddsaKeyPairStrings;
-}
-
-async function createKycTestkudosEnvironment(
-  t: GlobalTestState,
-  coinConfig: CoinConfig[] = defaultCoinConfig.map((x) => x("TESTKUDOS")),
-  opts: EnvOptions = {},
-): Promise<KycTestEnv> {
-  const db = await setupDb(t);
-
-  const bank = await BankService.create(t, {
-    allowRegistrations: true,
-    currency: "TESTKUDOS",
-    database: db.connStr,
-    httpPort: 8082,
-  });
-
-  const exchange = ExchangeService.create(t, {
-    name: "testexchange-1",
-    currency: "TESTKUDOS",
-    httpPort: 8081,
-    database: db.connStr,
-  });
-
-  let receiverName = "Exchange";
-  let exchangeBankUsername = "exchange";
-  let exchangeBankPassword = "mypw-password";
-  let exchangePaytoUri = getTestHarnessPaytoForLabel(exchangeBankUsername);
-
-  await exchange.addBankAccount("1", {
-    accountName: exchangeBankUsername,
-    accountPassword: exchangeBankPassword,
-    wireGatewayApiBaseUrl: new URL(
-      "accounts/exchange/taler-wire-gateway/",
-      bank.baseUrl,
-    ).href,
-    accountPaytoUri: exchangePaytoUri,
-  });
-
-  bank.setSuggestedExchange(exchange, exchangePaytoUri);
-
-  await bank.start();
-
-  await bank.pingUntilAvailable();
-
-  const bankClient = new TalerCorebankApiClient(bank.corebankApiBaseUrl, {
-    auth: {
-      username: "admin",
-      password: "admin-password",
-    },
-  });
-
-  await bankClient.registerAccountExtended({
-    name: receiverName,
-    password: exchangeBankPassword,
-    username: exchangeBankUsername,
-    is_taler_exchange: true,
-    payto_uri: exchangePaytoUri,
-  });
-
-  const ageMaskSpec = opts.ageMaskSpec;
-
-  if (ageMaskSpec) {
-    exchange.enableAgeRestrictions(ageMaskSpec);
-    // Enable age restriction for all coins.
-    exchange.addCoinConfigList(
-      coinConfig.map((x) => ({
-        ...x,
-        name: `${x.name}-age`,
-        ageRestricted: true,
-      })),
-    );
-    // For mixed age restrictions, we also offer coins without age restrictions
-    if (opts.mixedAgeRestriction) {
-      exchange.addCoinConfigList(
-        coinConfig.map((x) => ({ ...x, ageRestricted: false })),
-      );
-    }
-  } else {
-    exchange.addCoinConfigList(coinConfig);
-  }
-
-  await exchange.modifyConfig(async (config) => {
-    config.setString("exchange", "enable_kyc", "yes");
-
-    config.setString("KYC-RULE-R1", "operation_type", "aggregate");
-    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("AML-PROGRAM-P1", "command", "/bin/true");
-    config.setString("AML-PROGRAM-P1", "enabled", "true");
-    config.setString("AML-PROGRAM-P1", "description", "this does nothing");
-    config.setString("AML-PROGRAM-P1", "fallback", "M1");
-
-    config.setString("KYC-CHECK-C1", "type", "INFO");
-    config.setString("KYC-CHECK-C1", "description", "my check!");
-    config.setString("KYC-CHECK-C1", "fallback", "M1");
-  });
-
-  await exchange.start();
-
-  const cryptoApi = createSyncCryptoApi();
-  const amlKeypair = await cryptoApi.createEddsaKeypair({});
-
-  await exchange.enableAmlAccount(amlKeypair.pub, "Alice");
-
-  const walletService = new WalletService(t, {
-    name: "wallet",
-    useInMemoryDb: true,
-  });
-  await walletService.start();
-  await walletService.pingUntilAvailable();
-
-  const walletClient = new WalletClient({
-    name: "wallet",
-    unixPath: walletService.socketPath,
-    onNotification(n) {
-      console.log("got notification", n);
-    },
-  });
-  await walletClient.connect();
-  await walletClient.client.call(WalletApiOperation.InitWallet, {
-    config: {
-      testing: {
-        skipDefaults: true,
-      },
-    },
-  });
-
-  console.log("setup done!");
-
-  return {
-    commonDb: db,
-    exchange,
-    amlKeypair,
-    walletClient,
-    walletService,
-    bankClient,
-    exchangeBankAccount: {
-      accountName: "",
-      accountPassword: "",
-      accountPaytoUri: "",
-      wireGatewayApiBaseUrl: "",
-    },
-  };
+import { GlobalTestState } from "../harness/harness.js";
+
+function adjustExchangeConfig(config: Configuration): void {
+  config.setString("exchange", "enable_kyc", "yes");
+
+  config.setString("KYC-RULE-R1", "operation_type", "aggregate");
+  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("AML-PROGRAM-P1", "command", "/bin/true");
+  config.setString("AML-PROGRAM-P1", "enabled", "true");
+  config.setString("AML-PROGRAM-P1", "description", "this does nothing");
+  config.setString("AML-PROGRAM-P1", "fallback", "M1");
+
+  config.setString("KYC-CHECK-C1", "type", "INFO");
+  config.setString("KYC-CHECK-C1", "description", "my check!");
+  config.setString("KYC-CHECK-C1", "fallback", "M1");
 }
 
 export async function runKycDepositAggregateTest(t: GlobalTestState) {
   // Set up test environment
 
   const { walletClient, bankClient, exchange, amlKeypair } =
-    await createKycTestkudosEnvironment(t);
+    await createKycTestkudosEnvironment(t, {
+      adjustExchangeConfig,
+    });
 
   // Withdraw digital cash into the wallet.
 
@@ -254,6 +104,8 @@ export async function runKycDepositAggregateTest(t: 
GlobalTestState) {
     },
   });
 
+  console.log("waiting done");
+
   const txDetails = await walletClient.call(
     WalletApiOperation.GetTransactionById,
     {
diff --git a/packages/taler-wallet-core/src/deposits.ts 
b/packages/taler-wallet-core/src/deposits.ts
index b424c407a..cf74400a5 100644
--- a/packages/taler-wallet-core/src/deposits.ts
+++ b/packages/taler-wallet-core/src/deposits.ts
@@ -1617,6 +1617,8 @@ async function processDepositGroupPendingDeposit(
       cancellationToken: cancellationToken,
     });
 
+    logger.info(`deposit result status ${httpResp.status}`);
+
     switch (httpResp.status) {
       case HttpStatusCode.Accepted:
       case HttpStatusCode.Ok:

-- 
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]