libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

commit bffb1419c23708dd9fd474ef8b444befa9c6af89
parent fac2d689f0596ed428b5f3d3c5de6f77aa45be04
Author: Marcello Stanisci <stanisci.m@gmail.com>
Date:   Wed,  2 Oct 2019 15:39:21 +0200

Implement ebics-info

Diffstat:
Msrc/main/python/libeufin-cli | 38+++++++++++++++++++++++++++++---------
1 file changed, 29 insertions(+), 9 deletions(-)

diff --git a/src/main/python/libeufin-cli b/src/main/python/libeufin-cli @@ -65,16 +65,34 @@ def customers(obj): print("Customer and private keys ({}) correctly generated.".format(customer_path)) @admin.command(help="Ask details about a customer") -@click.option("--customer-id", help="bank non-EBICS identifier of the customer") +@click.option( + "--customer-id", + help="bank non-EBICS identifier of the customer", + required=True) @click.pass_obj -def customer_info(obj): - pass +def customer_info(obj, customer_id): + + url = urljoin( + obj["base_url"], "/admin/customers/{}".format(customer_id) + ) + + try: + resp = get(url) + except Exception: + print("Could not reach the bank, aborting") + return + + if resp.status_code != 200: + print("Failed request, status: {}".format(resp.status_code)) + return + + print(resp.json()) @admin.command( help="Confirm INI and HIA messages via JSON API" ) @click.option( - "--customer-id", required=True, + "--customer-id", help="id of the customer at the bank (used to pick keyset on disk)" ) @click.option( @@ -84,11 +102,10 @@ def customer_info(obj): @click.pass_obj def keyletter(obj, customer_id, mock_info): - # Get userId. - url = urljoin( - obj["base_url"], "/admin/customers/{}".format(customer_id) - ) - + if not mock_info and not customer_id: + print("Need --customer-id when not mocking ebics-info, aborting") + return + resp = MagicMock() resp.status_code = 200 resp.json.return_value = dict( @@ -100,6 +117,9 @@ def keyletter(obj, customer_id, mock_info): print("Mocking ebics-info") else: try: + url = urljoin( + obj["base_url"], "/admin/customers/{}".format(customer_id) + ) resp = get(url) except Exception: print("Could not connect to the bank, aborting")