diff --git a/contrib/taler-nexus-prepare b/contrib/taler-nexus-prepare index 99bcffb4f..23dbf6d76 100755 --- a/contrib/taler-nexus-prepare +++ b/contrib/taler-nexus-prepare @@ -5,6 +5,21 @@ from requests import get, post from subprocess import call import base64 +# EBICS details +EBICS_URL = "http://localhost:5000/ebicsweb" +HOST_ID = "HOST01" +PARTNER_ID = "PARTNER1" +USER_ID = "USER1" +EBICS_VERSION = "H004" + +SUBSCRIBER_IBAN = "ES9121000418450200051332" +SUBSCRIBER_BIC = "BIC" +SUBSCRIBER_NAME = "Exchange" + +BANK_ACCOUNT_LABEL = "my-bank-account" +BANK_CONNECTION_LABEL = "my-bank-connection" +FACADE_LABEL="my-facade" + USERNAME="Exchange" USER_AUTHORIZATION_HEADER = "basic {}".format( base64.b64encode(b"Exchange:x").decode("utf-8") @@ -27,30 +42,28 @@ assertResponse( post( "http://localhost:5001/bank-connections", json=dict( - name="my-loopback", + name=BANK_CONNECTION_LABEL, source="new", - type="loopback", + type="ebics", data=dict( - account="my-bank-account", - iban="x", - bic="x", - holder="x", - ) + ebicsURL=EBICS_URL, hostID=HOST_ID, partnerID=PARTNER_ID, userID=USER_ID + ), ), headers=dict(Authorization=USER_AUTHORIZATION_HEADER), ) ) + # Create a facade assertResponse( post( "http://localhost:5001/facades", json=dict( - name="my-facade", + name=FACADE_LABEL, type="taler-wire-gateway", creator=USERNAME, config=dict( - bankAccount="my-bank-account", - bankConnection="my-local", + bankAccount=BANK_ACCOUNT_LABEL, + bankConnection=BANK_CONNECTION_LABEL, reserveTransferLevel="UNUSED", intervalIncremental="UNUSED" ) @@ -58,3 +71,52 @@ assertResponse( headers=dict(Authorization=USER_AUTHORIZATION_HEADER), ) ) + +# Create the EBICS host at the Sandbox. +assertResponse( + post( + "http://localhost:5000/admin/ebics/host", + json=dict(hostID=HOST_ID, ebicsVersion=EBICS_VERSION), + ) +) + +# Create Exchange EBICS subscriber at the Sandbox. +assertResponse( + post( + "http://localhost:5000/admin/ebics/subscribers", + json=dict(hostID=HOST_ID, partnerID=PARTNER_ID, userID=USER_ID), + ) +) + +# Create a bank account associated to the Exchange's EBICS subscriber, +# again at the Sandbox. +assertResponse( + post( + "http://localhost:5000/admin/ebics/bank-accounts", + json=dict( + subscriber=dict(hostID=HOST_ID, partnerID=PARTNER_ID, userID=USER_ID), + iban=SUBSCRIBER_IBAN, + bic=SUBSCRIBER_BIC, + name=SUBSCRIBER_NAME, + label=BANK_ACCOUNT_LABEL, + ), + ) +) + +# 'connect' to the bank: upload+download keys. +assertResponse( + post( + "http://localhost:5001/bank-connections/{}/connect".format(BANK_CONNECTION_LABEL), + json=dict(), + headers=dict(Authorization=USER_AUTHORIZATION_HEADER), + ) +) + +# Download bank accounts. +assertResponse( + post( + "http://localhost:5001/bank-connections/{}/ebics/import-accounts".format(BANK_CONNECTION_LABEL), + json=dict(), + headers=dict(Authorization=USER_AUTHORIZATION_HEADER), + ) +) diff --git a/src/testing/testing_api_helpers_bank.c b/src/testing/testing_api_helpers_bank.c index b887bfc04..da66493d3 100644 --- a/src/testing/testing_api_helpers_bank.c +++ b/src/testing/testing_api_helpers_bank.c @@ -158,6 +158,8 @@ TALER_TESTING_run_libeufin (const struct TALER_TESTING_BankConfiguration *bc) iter++; } while (0 != system (curl_check_cmd)); + + // start sandbox. GNUNET_free (curl_check_cmd); fprintf (stderr, "\n"); @@ -176,7 +178,7 @@ TALER_TESTING_run_libeufin (const struct TALER_TESTING_BankConfiguration *bc) /* give child time to start and bind against the socket */ fprintf (stderr, - "Waiting for `sandbox' to be ready..\n"); + "Waiting for `sandbox' to be ready.\n"); iter = 0; do { @@ -196,7 +198,7 @@ TALER_TESTING_run_libeufin (const struct TALER_TESTING_BankConfiguration *bc) sleep (1); iter++; } - while (0 != system ("curl http://localhost:5001/")); + while (0 != system ("curl -s http://localhost:5000/")); fprintf (stderr, "\n"); // Creates nexus user + bank loopback connection + Taler facade.