aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMS <ms@taler.net>2021-02-03 14:34:31 +0100
committerMS <ms@taler.net>2021-02-03 14:34:31 +0100
commita3b84dca53dc78ee8db1353d828898c6aa07be9a (patch)
treeb1428d367706b012845c1e24ef8c62720b26fe3b
parentd8c4b2734e1b5a8fd125631a909513be84a68c8d (diff)
libeufin tutorial test: check sandbox step
-rw-r--r--packages/taler-wallet-cli/src/integrationtests/harness.ts2
-rw-r--r--packages/taler-wallet-cli/src/integrationtests/libeufin.ts27
-rw-r--r--packages/taler-wallet-cli/src/integrationtests/test-libeufin-tutorial.ts14
3 files changed, 39 insertions, 4 deletions
diff --git a/packages/taler-wallet-cli/src/integrationtests/harness.ts b/packages/taler-wallet-cli/src/integrationtests/harness.ts
index 5c29d1642..bd950da0b 100644
--- a/packages/taler-wallet-cli/src/integrationtests/harness.ts
+++ b/packages/taler-wallet-cli/src/integrationtests/harness.ts
@@ -136,6 +136,7 @@ export async function sh(
t: GlobalTestState,
logName: string,
command: string,
+ env: { [index: string]: string | undefined } = process.env,
): Promise<string> {
console.log("runing command", command);
return new Promise((resolve, reject) => {
@@ -143,6 +144,7 @@ export async function sh(
const proc = spawn(command, {
stdio: ["inherit", "pipe", "pipe"],
shell: true,
+ env: env,
});
proc.stdout.on("data", (x) => {
if (x instanceof Buffer) {
diff --git a/packages/taler-wallet-cli/src/integrationtests/libeufin.ts b/packages/taler-wallet-cli/src/integrationtests/libeufin.ts
index 971505cbb..486837e9b 100644
--- a/packages/taler-wallet-cli/src/integrationtests/libeufin.ts
+++ b/packages/taler-wallet-cli/src/integrationtests/libeufin.ts
@@ -25,6 +25,7 @@ import {
ProcessWrapper,
runCommand,
extendEnv,
+ sh,
} from "./harness";
export interface LibeufinSandboxServiceInterface {
@@ -45,6 +46,13 @@ export interface LibeufinNexusConfig {
databaseJdbcUri: string;
}
+export interface LibeufinCliDetails {
+ nexusUrl: string;
+ sandboxUrl: string;
+ nexusDatabaseUri: string;
+ sandboxDatabaseUri: string;
+}
+
export class LibeufinSandboxService implements LibeufinSandboxServiceInterface {
static async create(
gc: GlobalTestState,
@@ -171,6 +179,25 @@ export interface SimulateIncomingTransactionRequest {
currency: string;
}
+export class LibeufinCli {
+ cliDetails: LibeufinCliDetails;
+ globalTestState: GlobalTestState;
+
+ constructor(gc: GlobalTestState, cd: LibeufinCliDetails) {
+ this.globalTestState = gc;
+ this.cliDetails = cd;
+ }
+
+ async checkSandbox(): Promise<void> {
+ await sh(
+ this.globalTestState,
+ "libeufin-cli-checksandbox",
+ "libeufin-cli sandbox check",
+ extendEnv({ LIBEUFIN_SANDBOX_URL: this.cliDetails.sandboxUrl }),
+ );
+ }
+}
+
export namespace LibeufinSandboxApi {
export async function createEbicsHost(
libeufinSandboxService: LibeufinSandboxServiceInterface,
diff --git a/packages/taler-wallet-cli/src/integrationtests/test-libeufin-tutorial.ts b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-tutorial.ts
index 817bfad8e..dce5e8869 100644
--- a/packages/taler-wallet-cli/src/integrationtests/test-libeufin-tutorial.ts
+++ b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-tutorial.ts
@@ -19,17 +19,15 @@
*/
import { CoreApiResponse } from "@gnu-taler/taler-wallet-core";
import { CoinConfig, defaultCoinConfig } from "./denomStructures";
-import {
- GlobalTestState,
-} from "./harness";
+import { GlobalTestState } from "./harness";
import {
LibeufinNexusApi,
LibeufinNexusService,
LibeufinSandboxApi,
LibeufinSandboxService,
+ LibeufinCli,
} from "./libeufin";
-
/**
* Run basic test with LibEuFin.
*/
@@ -52,4 +50,12 @@ export async function runLibeufinTutorialTest(t: GlobalTestState) {
await libeufinNexus.start();
await libeufinNexus.pingUntilAvailable();
+ const libeufinCli = new LibeufinCli(t, {
+ sandboxUrl: libeufinSandbox.baseUrl,
+ nexusUrl: libeufinNexus.baseUrl,
+ sandboxDatabaseUri: `jdbc:sqlite:${t.testDir}/libeufin-sandbox.sqlite3`,
+ nexusDatabaseUri: `jdbc:sqlite:${t.testDir}/libeufin-nexus.sqlite3`,
+ });
+
+ await libeufinCli.checkSandbox();
}