Testing euFin 'bad gateway' handling.
This commit is contained in:
parent
bff5b3f59c
commit
2c3456608e
@ -1,50 +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, delayMs } from "./harness";
|
|
||||||
import {
|
|
||||||
SandboxUserBundle,
|
|
||||||
NexusUserBundle,
|
|
||||||
launchLibeufinServices,
|
|
||||||
LibeufinSandboxApi,
|
|
||||||
LibeufinNexusApi,
|
|
||||||
} from "./libeufin";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This test checks how the C52 and C53 coordinate. It'll test
|
|
||||||
* whether fresh transactions stop showing as C52 after they get
|
|
||||||
* included in a bank statement.
|
|
||||||
*/
|
|
||||||
export async function runLibeufinNexus404ResponseTest(t: GlobalTestState) {
|
|
||||||
/**
|
|
||||||
* User saltetd "01"
|
|
||||||
*/
|
|
||||||
const user01nexus = new NexusUserBundle(
|
|
||||||
"01",
|
|
||||||
"http://localhost:5010/not-found", // the EBICS endpoint at Sandbox
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Launch Sandbox and Nexus.
|
|
||||||
*/
|
|
||||||
const libeufinServices = await launchLibeufinServices(
|
|
||||||
t, [user01nexus],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
runLibeufinNexus404ResponseTest.suites = ["libeufin"];
|
|
@ -0,0 +1,74 @@
|
|||||||
|
/*
|
||||||
|
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, delayMs } from "./harness";
|
||||||
|
import {
|
||||||
|
NexusUserBundle,
|
||||||
|
LibeufinNexusApi,
|
||||||
|
LibeufinNexusService,
|
||||||
|
LibeufinSandboxService,
|
||||||
|
} from "./libeufin";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Testing how Nexus reacts when the Sandbox is unreachable.
|
||||||
|
* Typically, because the user specified a wrong EBICS endpoint.
|
||||||
|
*/
|
||||||
|
export async function runLibeufinBadGatewayTest(t: GlobalTestState) {
|
||||||
|
/**
|
||||||
|
* User saltetd "01"
|
||||||
|
*/
|
||||||
|
const user01nexus = new NexusUserBundle(
|
||||||
|
"01", "http://localhost:5010/not-found", // the EBICS endpoint at Sandbox
|
||||||
|
);
|
||||||
|
|
||||||
|
// Start Nexus
|
||||||
|
const libeufinNexus = await LibeufinNexusService.create(t, {
|
||||||
|
httpPort: 5011,
|
||||||
|
databaseJdbcUri: `jdbc:sqlite:${t.testDir}/libeufin-nexus.sqlite3`,
|
||||||
|
});
|
||||||
|
await libeufinNexus.start();
|
||||||
|
await libeufinNexus.pingUntilAvailable();
|
||||||
|
|
||||||
|
// Start Sandbox
|
||||||
|
const libeufinSandbox = await LibeufinSandboxService.create(t, {
|
||||||
|
httpPort: 5010,
|
||||||
|
databaseJdbcUri: `jdbc:sqlite:${t.testDir}/libeufin-sandbox.sqlite3`,
|
||||||
|
});
|
||||||
|
await libeufinSandbox.start();
|
||||||
|
await libeufinSandbox.pingUntilAvailable();
|
||||||
|
|
||||||
|
// Connecting to a non-existent Sandbox endpoint.
|
||||||
|
await LibeufinNexusApi.createEbicsBankConnection(
|
||||||
|
libeufinNexus,
|
||||||
|
user01nexus.connReq
|
||||||
|
);
|
||||||
|
|
||||||
|
// 502 Bad Gateway expected.
|
||||||
|
try {
|
||||||
|
await LibeufinNexusApi.connectBankConnection(
|
||||||
|
libeufinNexus,
|
||||||
|
user01nexus.connReq.name,
|
||||||
|
);
|
||||||
|
} catch(e) {
|
||||||
|
t.assertTrue(e.response.status == 502);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
t.assertTrue(false);
|
||||||
|
}
|
||||||
|
runLibeufinBadGatewayTest.suites = ["libeufin"];
|
@ -59,7 +59,7 @@ import { runMerchantExchangeConfusionTest } from "./test-merchant-exchange-confu
|
|||||||
import { runLibeufinBasicTest } from "./test-libeufin-basic";
|
import { runLibeufinBasicTest } from "./test-libeufin-basic";
|
||||||
import { runLibeufinC5xTest } from "./test-libeufin-c5x";
|
import { runLibeufinC5xTest } from "./test-libeufin-c5x";
|
||||||
import { runLibeufinNexusBalanceTest } from "./test-libeufin-nexus-balance";
|
import { runLibeufinNexusBalanceTest } from "./test-libeufin-nexus-balance";
|
||||||
import { runLibeufinNexus404ResponseTest } from "./test-libeufin-404-from-sandbox";
|
import { runLibeufinBadGatewayTest } from "./test-libeufin-bad-gateway";
|
||||||
import { runLibeufinKeyrotationTest } from "./test-libeufin-keyrotation";
|
import { runLibeufinKeyrotationTest } from "./test-libeufin-keyrotation";
|
||||||
import { runLibeufinRefundTest } from "./test-libeufin-refund";
|
import { runLibeufinRefundTest } from "./test-libeufin-refund";
|
||||||
import { runLibeufinRefundMultipleUsersTest } from "./test-libeufin-refund-multiple-users";
|
import { runLibeufinRefundMultipleUsersTest } from "./test-libeufin-refund-multiple-users";
|
||||||
@ -116,7 +116,7 @@ const allTests: TestMainFunction[] = [
|
|||||||
runLibeufinRefundTest,
|
runLibeufinRefundTest,
|
||||||
runLibeufinC5xTest,
|
runLibeufinC5xTest,
|
||||||
runLibeufinNexusBalanceTest,
|
runLibeufinNexusBalanceTest,
|
||||||
runLibeufinNexus404ResponseTest,
|
runLibeufinBadGatewayTest,
|
||||||
runLibeufinRefundMultipleUsersTest,
|
runLibeufinRefundMultipleUsersTest,
|
||||||
runLibeufinApiPermissionsTest,
|
runLibeufinApiPermissionsTest,
|
||||||
runLibeufinApiFacadeTest,
|
runLibeufinApiFacadeTest,
|
||||||
|
Loading…
Reference in New Issue
Block a user