aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2022-08-23 22:30:05 +0200
committerFlorian Dold <florian@dold.me>2022-08-23 22:30:05 +0200
commitbc434ebb83a5985a3aa33b94310eb23d694214da (patch)
tree9922aaf05e5f3615c995b2203aa4da27c01a6b35 /packages/taler-wallet-core
parentf3ff5a72257dda27cab555f8b8d921d45bfc3e4b (diff)
downloadwallet-core-bc434ebb83a5985a3aa33b94310eb23d694214da.tar.xz
use fakebank for integration tests
Diffstat (limited to 'packages/taler-wallet-core')
-rw-r--r--packages/taler-wallet-core/src/bank-api-client.ts25
-rw-r--r--packages/taler-wallet-core/src/dbless.ts1
2 files changed, 21 insertions, 5 deletions
diff --git a/packages/taler-wallet-core/src/bank-api-client.ts b/packages/taler-wallet-core/src/bank-api-client.ts
index a38896983..fa93409c5 100644
--- a/packages/taler-wallet-core/src/bank-api-client.ts
+++ b/packages/taler-wallet-core/src/bank-api-client.ts
@@ -56,6 +56,7 @@ export interface BankAccountBalanceResponse {
export interface BankServiceHandle {
readonly baseUrl: string;
+ readonly bankAccessApiBaseUrl: string;
readonly http: HttpRequestLibrary;
}
@@ -96,12 +97,13 @@ const codecForWithdrawalOperationInfo = (): Codec<WithdrawalOperationInfo> =>
.build("WithdrawalOperationInfo");
export namespace BankApi {
+ // FIXME: Move to BankAccessApi?!
export async function registerAccount(
bank: BankServiceHandle,
username: string,
password: string,
): Promise<BankUser> {
- const url = new URL("testing/register", bank.baseUrl);
+ const url = new URL("testing/register", bank.bankAccessApiBaseUrl);
const resp = await bank.http.postJson(url.href, { username, password });
let paytoUri = `payto://x-taler-bank/localhost/${username}`;
if (resp.status !== 200 && resp.status !== 202) {
@@ -130,6 +132,7 @@ export namespace BankApi {
};
}
+ // FIXME: Move to BankAccessApi?!
export async function createRandomBankUser(
bank: BankServiceHandle,
): Promise<BankUser> {
@@ -177,9 +180,10 @@ export namespace BankApi {
): Promise<void> {
const url = new URL(
`accounts/${bankUser.username}/withdrawals/${wopi.withdrawal_id}/confirm`,
- bank.baseUrl,
+ bank.bankAccessApiBaseUrl,
);
- await bank.http.postJson(
+ logger.info(`confirming withdrawal operation via ${url.href}`);
+ const resp = await bank.http.postJson(
url.href,
{},
{
@@ -191,6 +195,14 @@ export namespace BankApi {
},
},
);
+
+ logger.info(`response status ${resp.status}`);
+ const respJson = await readSuccessResponseJsonOrThrow(
+ resp,
+ codecForAny(),
+ );
+
+ // FIXME: We don't check the status here!
}
export async function abortWithdrawalOperation(
@@ -222,7 +234,10 @@ export namespace BankAccessApi {
bank: BankServiceHandle,
bankUser: BankUser,
): Promise<BankAccountBalanceResponse> {
- const url = new URL(`accounts/${bankUser.username}`, bank.baseUrl);
+ const url = new URL(
+ `accounts/${bankUser.username}`,
+ bank.bankAccessApiBaseUrl,
+ );
const resp = await bank.http.get(url.href, {
headers: {
Authorization: makeBasicAuthHeader(
@@ -241,7 +256,7 @@ export namespace BankAccessApi {
): Promise<WithdrawalOperationInfo> {
const url = new URL(
`accounts/${bankUser.username}/withdrawals`,
- bank.baseUrl,
+ bank.bankAccessApiBaseUrl,
);
const resp = await bank.http.postJson(
url.href,
diff --git a/packages/taler-wallet-core/src/dbless.ts b/packages/taler-wallet-core/src/dbless.ts
index e0fe3d1ce..9bc9c36bf 100644
--- a/packages/taler-wallet-core/src/dbless.ts
+++ b/packages/taler-wallet-core/src/dbless.ts
@@ -109,6 +109,7 @@ export async function topupReserveWithDemobank(
) {
const bankHandle: BankServiceHandle = {
baseUrl: bankBaseUrl,
+ bankAccessApiBaseUrl: "??", // FIXME!
http,
};
const bankUser = await BankApi.createRandomBankUser(bankHandle);