diff options
Diffstat (limited to 'packages/taler-harness/src/integrationtests/test-multiexchange.ts')
-rw-r--r-- | packages/taler-harness/src/integrationtests/test-multiexchange.ts | 69 |
1 files changed, 52 insertions, 17 deletions
diff --git a/packages/taler-harness/src/integrationtests/test-multiexchange.ts b/packages/taler-harness/src/integrationtests/test-multiexchange.ts index e27bccc46..26e843073 100644 --- a/packages/taler-harness/src/integrationtests/test-multiexchange.ts +++ b/packages/taler-harness/src/integrationtests/test-multiexchange.ts @@ -17,13 +17,14 @@ /** * Imports. */ -import { Duration } from "@gnu-taler/taler-util"; +import { Duration, TalerCorebankApiClient, TalerMerchantApi } from "@gnu-taler/taler-util"; import { WalletApiOperation } from "@gnu-taler/taler-wallet-core"; import { defaultCoinConfig } from "../harness/denomStructures.js"; import { - BankService, + BankService, ExchangeService, GlobalTestState, + HarnessExchangeBankAccount, MerchantService, generateRandomPayto, setupDb, @@ -32,6 +33,7 @@ import { createWalletDaemonWithClient, makeTestPaymentV2, withdrawViaBankV2, + withdrawViaBankV3, } from "../harness/helpers.js"; /** @@ -73,17 +75,25 @@ export async function runMultiExchangeTest(t: GlobalTestState) { database: dbDefault.connStr, }); - const exchangeOneBankAccount = await bank.createExchangeAccount( - "myexchange", - "x", - ); - await exchangeOne.addBankAccount("1", exchangeOneBankAccount); + let exchangeOneBankAccount: HarnessExchangeBankAccount = { + wireGatewayApiBaseUrl: new URL( + "accounts/myexchange/taler-wire-gateway/", + bank.corebankApiBaseUrl, + ).href, + accountName: "myexchange", + accountPassword: "x", + accountPaytoUri: generateRandomPayto("myexchange"), + }; - const exchangeTwoBankAccount = await bank.createExchangeAccount( - "myexchange2", - "x", - ); - await exchangeTwo.addBankAccount("1", exchangeTwoBankAccount); + let exchangeTwoBankAccount: HarnessExchangeBankAccount = { + wireGatewayApiBaseUrl: new URL( + "accounts/myexchange2/taler-wire-gateway/", + bank.corebankApiBaseUrl, + ).href, + accountName: "myexchange2", + accountPassword: "x", + accountPaytoUri: generateRandomPayto("myexchange2"), + }; bank.setSuggestedExchange( exchangeOne, @@ -94,6 +104,31 @@ export async function runMultiExchangeTest(t: GlobalTestState) { await bank.pingUntilAvailable(); + const bankClient = new TalerCorebankApiClient(bank.corebankApiBaseUrl, { + auth: { + username: "admin", + password: "adminpw", + }, + }); + + await bankClient.registerAccountExtended({ + name: exchangeOneBankAccount.accountName, + username: exchangeOneBankAccount.accountName, + password: exchangeOneBankAccount.accountPassword, + is_taler_exchange: true, + payto_uri: exchangeOneBankAccount.accountPaytoUri, + }); + await exchangeOne.addBankAccount("1", exchangeOneBankAccount); + + await bankClient.registerAccountExtended({ + name: exchangeTwoBankAccount.accountName, + username: exchangeTwoBankAccount.accountName, + password: exchangeTwoBankAccount.accountPassword, + is_taler_exchange: true, + payto_uri: exchangeTwoBankAccount.accountPaytoUri, + }); + await exchangeTwo.addBankAccount("1", exchangeTwoBankAccount); + // Set up the first exchange exchangeOne.addOfferedCoins(defaultCoinConfig); @@ -141,23 +176,23 @@ export async function runMultiExchangeTest(t: GlobalTestState) { // Withdraw digital cash into the wallet. - await withdrawViaBankV2(t, { + await withdrawViaBankV3(t, { walletClient, - bank, + bankClient, exchange: exchangeOne, amount: "TESTKUDOS:6", }); - await withdrawViaBankV2(t, { + await withdrawViaBankV3(t, { walletClient, - bank, + bankClient, exchange: exchangeTwo, amount: "TESTKUDOS:6", }); await walletClient.call(WalletApiOperation.TestingWaitTransactionsFinal, {}); - const order = { + const order: TalerMerchantApi.Order = { summary: "Buy me!", amount: "TESTKUDOS:10", fulfillment_url: "taler://fulfillment-success/thx", |