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: adjust to merchant A


From: gnunet
Subject: [taler-wallet-core] branch master updated: harness: adjust to merchant API breaking changes, remove test that doesn't belong
Date: Sun, 23 Apr 2023 23:08:40 +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 b81ea1b4b harness: adjust to merchant API breaking changes, remove 
test that doesn't belong
b81ea1b4b is described below

commit b81ea1b4b75c6f326d331c5c23d94e807b895563
Author: Florian Dold <florian@dold.me>
AuthorDate: Sun Apr 23 23:08:37 2023 +0200

    harness: adjust to merchant API breaking changes, remove test that doesn't 
belong
---
 packages/taler-harness/src/harness/harness.ts      |  38 ++++++-
 .../test-merchant-instances-urls.ts                |  12 ++-
 .../src/integrationtests/test-payment-on-demo.ts   | 114 ---------------------
 .../src/integrationtests/testrunner.ts             |   2 -
 4 files changed, 46 insertions(+), 120 deletions(-)

diff --git a/packages/taler-harness/src/harness/harness.ts 
b/packages/taler-harness/src/harness/harness.ts
index 8b74c9e9f..b6e80cfb7 100644
--- a/packages/taler-harness/src/harness/harness.ts
+++ b/packages/taler-harness/src/harness/harness.ts
@@ -1884,7 +1884,9 @@ export class MerchantService implements 
MerchantServiceInterface {
 
     const body: MerchantInstanceConfig = {
       auth,
-      payto_uris: instanceConfig.paytoUris,
+      accounts: instanceConfig.paytoUris.map((x) => ({
+        payto_uri: x,
+      })),
       id: instanceConfig.id,
       name: instanceConfig.name,
       address: instanceConfig.address ?? {},
@@ -1930,6 +1932,7 @@ export interface MerchantAuthConfiguration {
   token?: string;
 }
 
+// FIXME: Why do we need this? Describe / fix!
 export interface PartialMerchantInstanceConfig {
   auth?: MerchantAuthConfiguration;
   id: string;
@@ -1944,11 +1947,42 @@ export interface PartialMerchantInstanceConfig {
   defaultPayDelay?: TalerProtocolDuration;
 }
 
+// FIXME: Move all these types into merchant-api-types.ts!
+
+type FacadeCredentials = NoFacadeCredentials | BasicAuthFacadeCredentials;
+interface NoFacadeCredentials {
+  type: "none";
+}
+interface BasicAuthFacadeCredentials {
+  type: "basic";
+
+  // Username to use to authenticate
+  username: string;
+
+  // Password to use to authenticate
+  password: string;
+}
+
+interface MerchantBankAccount {
+  // The payto:// URI where the wallet will send coins.
+  payto_uri: string;
+
+  // Optional base URL for a facade where the
+  // merchant backend can see incoming wire
+  // transfers to reconcile its accounting
+  // with that of the exchange. Used by
+  // taler-merchant-wirewatch.
+  credit_facade_url?: string;
+
+  // Credentials for accessing the credit facade.
+  credit_facade_credentials?: FacadeCredentials;
+}
+
 export interface MerchantInstanceConfig {
+  accounts: MerchantBankAccount[];
   auth: MerchantAuthConfiguration;
   id: string;
   name: string;
-  payto_uris: string[];
   address: unknown;
   jurisdiction: unknown;
   default_max_wire_fee: string;
diff --git 
a/packages/taler-harness/src/integrationtests/test-merchant-instances-urls.ts 
b/packages/taler-harness/src/integrationtests/test-merchant-instances-urls.ts
index a4e44c7f3..1b5d50fd1 100644
--- 
a/packages/taler-harness/src/integrationtests/test-merchant-instances-urls.ts
+++ 
b/packages/taler-harness/src/integrationtests/test-merchant-instances-urls.ts
@@ -78,7 +78,11 @@ export async function runMerchantInstancesUrlsTest(t: 
GlobalTestState) {
     ),
     jurisdiction: {},
     name: "My Default Instance",
-    payto_uris: [getPayto("bar")],
+    accounts: [
+      {
+        payto_uri: getPayto("bar"),
+      },
+    ],
     auth: {
       method: "token",
       token: "secret-token:i-am-default",
@@ -99,7 +103,11 @@ export async function runMerchantInstancesUrlsTest(t: 
GlobalTestState) {
     ),
     jurisdiction: {},
     name: "My Second Instance",
-    payto_uris: [getPayto("bar")],
+    accounts: [
+      {
+        payto_uri: getPayto("bar"),
+      },
+    ],
     auth: {
       method: "token",
       token: "secret-token:i-am-myinst",
diff --git 
a/packages/taler-harness/src/integrationtests/test-payment-on-demo.ts 
b/packages/taler-harness/src/integrationtests/test-payment-on-demo.ts
deleted file mode 100644
index 22e88c8a0..000000000
--- a/packages/taler-harness/src/integrationtests/test-payment-on-demo.ts
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- This file is part of GNU Taler
- (C) 2020 Taler Systems S.A.
-
- GNU Taler is free software; you can redistribute it and/or modify it under the
- terms of the GNU General Public License as published by the Free Software
- Foundation; either version 3, or (at your option) any later version.
-
- GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along with
- GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
- */
-
-/**
- * Imports.
- */
-import { GlobalTestState, WalletCli } from "../harness/harness.js";
-import { makeTestPayment } from "../harness/helpers.js";
-import {
-  WalletApiOperation,
-  BankApi,
-  BankAccessApi,
-  BankServiceHandle,
-} from "@gnu-taler/taler-wallet-core";
-import { createPlatformHttpLib } from "@gnu-taler/taler-util/http";
-
-/**
- * Run test for basic, bank-integrated withdrawal and payment.
- */
-export async function runPaymentDemoTest(t: GlobalTestState) {
-  // Withdraw digital cash into the wallet.
-  let bankInterface: BankServiceHandle = {
-    baseUrl: "https://bank.demo.taler.net/";,
-    bankAccessApiBaseUrl: "https://bank.demo.taler.net/";,
-    http: createPlatformHttpLib(),
-  };
-  let user = await BankApi.createRandomBankUser(bankInterface);
-  let wop = await BankAccessApi.createWithdrawalOperation(
-    bankInterface,
-    user,
-    "KUDOS:20",
-  );
-
-  let wallet = new WalletCli(t);
-  await wallet.client.call(WalletApiOperation.GetWithdrawalDetailsForUri, {
-    talerWithdrawUri: wop.taler_withdraw_uri,
-  });
-
-  await wallet.runPending();
-
-  // Confirm it
-
-  await BankApi.confirmWithdrawalOperation(bankInterface, user, wop);
-
-  // Withdraw
-
-  await wallet.client.call(WalletApiOperation.AcceptBankIntegratedWithdrawal, {
-    exchangeBaseUrl: "https://exchange.demo.taler.net/";,
-    talerWithdrawUri: wop.taler_withdraw_uri,
-  });
-  await wallet.runUntilDone();
-
-  let balanceBefore = await wallet.client.call(
-    WalletApiOperation.GetBalances,
-    {},
-  );
-  t.assertTrue(balanceBefore["balances"].length == 1);
-
-  const order = {
-    summary: "Buy me!",
-    amount: "KUDOS:5",
-    fulfillment_url: "taler://fulfillment-success/thx",
-  };
-
-  let merchant = {
-    makeInstanceBaseUrl: function (instanceName?: string) {
-      return "https://backend.demo.taler.net/instances/donations/";;
-    },
-    port: 0,
-    name: "donations",
-  };
-
-  t.assertTrue("TALER_ENV_FRONTENDS_APITOKEN" in process.env);
-
-  await makeTestPayment(
-    t,
-    {
-      merchant,
-      wallet,
-      order,
-    },
-    {
-      Authorization: `Bearer ${process.env["TALER_ENV_FRONTENDS_APITOKEN"]}`,
-    },
-  );
-
-  await wallet.runUntilDone();
-
-  let balanceAfter = await wallet.client.call(
-    WalletApiOperation.GetBalances,
-    {},
-  );
-  t.assertTrue(balanceAfter["balances"].length == 1);
-  t.assertTrue(
-    balanceBefore["balances"][0]["available"] >
-      balanceAfter["balances"][0]["available"],
-  );
-}
-
-runPaymentDemoTest.excludeByDefault = true;
-runPaymentDemoTest.suites = ["buildbot"];
diff --git a/packages/taler-harness/src/integrationtests/testrunner.ts 
b/packages/taler-harness/src/integrationtests/testrunner.ts
index 38047a850..f845f4e99 100644
--- a/packages/taler-harness/src/integrationtests/testrunner.ts
+++ b/packages/taler-harness/src/integrationtests/testrunner.ts
@@ -69,7 +69,6 @@ import { runPaymentFaultTest } from "./test-payment-fault.js";
 import { runPaymentForgettableTest } from "./test-payment-forgettable.js";
 import { runPaymentIdempotencyTest } from "./test-payment-idempotency.js";
 import { runPaymentMultipleTest } from "./test-payment-multiple.js";
-import { runPaymentDemoTest } from "./test-payment-on-demo.js";
 import { runPaymentTransientTest } from "./test-payment-transient.js";
 import { runPaymentZeroTest } from "./test-payment-zero.js";
 import { runPaywallFlowTest } from "./test-paywall-flow.js";
@@ -160,7 +159,6 @@ const allTests: TestMainFunction[] = [
   runMerchantRefundApiTest,
   runMerchantSpecPublicOrdersTest,
   runPaymentClaimTest,
-  runPaymentDemoTest,
   runPaymentFaultTest,
   runPaymentForgettableTest,
   runPaymentIdempotencyTest,

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