diff options
Diffstat (limited to 'packages/taler-harness/src/integrationtests/test-kyc.ts')
-rw-r--r-- | packages/taler-harness/src/integrationtests/test-kyc.ts | 57 |
1 files changed, 43 insertions, 14 deletions
diff --git a/packages/taler-harness/src/integrationtests/test-kyc.ts b/packages/taler-harness/src/integrationtests/test-kyc.ts index a9ef654fd..213dd9df4 100644 --- a/packages/taler-harness/src/integrationtests/test-kyc.ts +++ b/packages/taler-harness/src/integrationtests/test-kyc.ts @@ -32,7 +32,7 @@ import { WalletApiOperation } from "@gnu-taler/taler-wallet-core"; import * as http from "node:http"; import { CoinConfig, defaultCoinConfig } from "../harness/denomStructures.js"; import { - BankService, + BankService, ExchangeService, GlobalTestState, MerchantService, @@ -41,7 +41,7 @@ import { generateRandomPayto, setupDb, } from "../harness/harness.js"; -import { EnvOptions, SimpleTestEnvironmentNg } from "../harness/helpers.js"; +import { EnvOptions, SimpleTestEnvironmentNg3 } from "../harness/helpers.js"; const logger = new Logger("test-kyc.ts"); @@ -49,7 +49,7 @@ export async function createKycTestkudosEnvironment( t: GlobalTestState, coinConfig: CoinConfig[] = defaultCoinConfig.map((x) => x("TESTKUDOS")), opts: EnvOptions = {}, -): Promise<SimpleTestEnvironmentNg> { +): Promise<SimpleTestEnvironmentNg3> { const db = await setupDb(t); const bank = await BankService.create(t, { @@ -73,18 +73,39 @@ export async function createKycTestkudosEnvironment( database: db.connStr, }); - const exchangeBankAccount = await bank.createExchangeAccount( - "myexchange", - "x", - ); - exchange.addBankAccount("1", exchangeBankAccount); + let receiverName = "Exchange"; + let exchangeBankUsername = "exchange"; + let exchangeBankPassword = "mypw"; + let exchangePaytoUri = generateRandomPayto(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, exchangeBankAccount.accountPaytoUri); + bank.setSuggestedExchange(exchange, exchangePaytoUri); await bank.start(); await bank.pingUntilAvailable(); + const bankClient = new TalerCorebankApiClient(bank.corebankApiBaseUrl, { + auth: { + username: "admin", + password: "adminpw", + }, + }); + + await bankClient.registerAccountExtended({ + name: receiverName, + password: exchangeBankPassword, + username: exchangeBankUsername, + is_taler_exchange: true, + payto_uri: exchangePaytoUri, + }); + const ageMaskSpec = opts.ageMaskSpec; if (ageMaskSpec) { @@ -213,8 +234,13 @@ export async function createKycTestkudosEnvironment( merchant, walletClient, walletService, - bank, - exchangeBankAccount, + bankClient, + exchangeBankAccount: { + accountName: '', + accountPassword: '', + accountPaytoUri: '', + wireGatewayApiBaseUrl: '', + }, }; } @@ -310,17 +336,20 @@ async function runTestfakeKycService(): Promise<TestfakeKycService> { export async function runKycTest(t: GlobalTestState) { // Set up test environment - const { walletClient, bank, exchange, merchant } = + const { walletClient, bankClient, exchange, merchant } = await createKycTestkudosEnvironment(t); const kycServer = await runTestfakeKycService(); // Withdraw digital cash into the wallet. - const bankClient = new TalerCorebankApiClient(bank.corebankApiBaseUrl); - const amount = "TESTKUDOS:20"; const user = await bankClient.createRandomBankUser(); + bankClient.setAuth({ + username: user.username, + password: user.password, + }); + const wop = await bankClient.createWithdrawalOperation(user.username, amount); // Hand it to the wallet |