Metoda GET api/bank/##{{bankId}}/diagnose
Istnieje możliwość przetestowania calli do poszczególnych endpointów ASPSP poprzez wywołanie metody /diagnose dla istniejącego użytkownika w bazie (z aktywną zgodą oraz aktywnym access_tokenem).
Wywołanie metody odpyta poszczególne metody (rachunki, szczegóły rachunków, transakcje, szczegóły transakcji, refresh token) i wypisze błędy, jeżeli takie są. Dane biznesowe zwrócone przez API nie zostaną zapisane do bazy (oprócz strzału o refresh_token, który w przypadku wygaśnięcia access_tokena umożliwi wywołanie metod o resource).
Przykładowy strzał (CURL):
curl --location --request GET 'https://dev-gateway.psd2hub.banqware.com/api/v2/bank/89/diagnose' \
-header 'api-clientId: sandbox' \
-header 'Accept-Language: en-gb' \
-header 'IP: 121.1.0.1' \
-header 'api-userId: regression_AISP_ALBPPLPW_2020-01-10T09:07:26.132Z'
Metoda GET /api/v2/callback/{flow}/{authType}/url (z parametrem mock)
Metoda do testowania scenariuszy pozytywnych i negatywnych.
Dla endpointu
GET api/callback/aisp/oAuth
dla scenariusza testowego, gdzie state=XS2A_TEST_FAILURE
zwracana jest odpowiedź success=false, (response)sessionId=(request)state i (response)sessionExternalId=sessionId(request)
Dla endpointu
GET api/callback/aisp/oAuth
dla scenariusza testowego, gdzie state=XS2A_TEST_SUCCESS
zwracana jest odpowiedź success=true, (response)sessionId=(request)state i (response)sessionExternalId=sessionId(request)
W celu włączenia możliwości mockowania konkretnych eventów w aplikacji, należy:
W wybranych konektorach w docker-compose dodać wpis:
- Mockconfig__MocksEnabled=true- MockMongoConfig__ConnectionString=${MOCK_CONNECTION_STRING}
W env:
MOCK_CONNECTION_STRING=MONGODB_MOCK_CONNECTION_STRING=analogiczna_ścieżka_mongo/Mock?replicaSet=xxx
W docker-compose w sekscji resta dodać wpis:
- MockMongoConfig__ConnectionString=${MOCK_CONNECTION_STRING}
Następnie należy zrestartować wybrane konektory i Rest’a.
Metoda api/mock/session/callback
Zwraca na wyjściu to co zostało podane w BODY na wejściu.
W Body przekazujemy treść callbacka jaki ma się wygenerować.
W rezultacie otrzymano taki sam callback na zarejestrowanym URL-u.
BAZA MOCK, użycie metod: ##{{api_url}}/mock/user/##{{userId}} i ##{{api_url}}/mock/session/##{{sessionId}}
Eventy które można zmockować:
IGetConsentAuthorizationUrls - odpowiada za autoryzacje w banku
authorizeIAuthorizePsu - odpowiada za wymianę kodu na token
token"grant_type": "authorization_code",IRefreshPsuAuthorization - odpowiada za refresh tokenu
token"grant_type": "refresh_token",IFetchSingleAccountDetails - odpowiada za pobranie kont
/getAccountIFetchAccountTransactions - odpowiada za pobranie transakcji
/getTransactionsIFetchSingleTransactionDetails - odpowiada za pobranie szczegółów transakcji
/getTransactionDetailIPaymentConfirm - odpowiada za inicjację płatności
/domesticIGetPaymentStatus - odpowiada za pobranie statusu płatności
/getPayment
Wykorzystanie:
Przykład dla /getTransactions
endpoint: ##{{api_url}}/mock/user/##{{userId}}
1{ 2"Event":"IFetchSingleAccountDetails", 3"HttpStatus":500, 4"Body": 5{ 6 7 json jako zwrócona odpowiedź 8 9 10}
Response code : 200
Takie wykorzystanie spowoduje przy odpytaniu o transakcje dla wskazanego usera, odpowiedź taką jaką zapiszemy w body ze statusem HttpStatus: 500
Przykład dla /getPayment
1{ 2"Event":"IGetPaymentStatus", 3"HttpStatus":200, 4"Body": 5{ 6"paymentId":"test","generalStatus":"pending","detailedStatus":"Detailed status","executionMode":"Immediate"} 7} 8 9
Response code : 200
Takie wykorzystanie spowoduje przy odpytaniu o płatność dla wskazanego usera, odpowiedź taka jest w bodu HttpStatus: 200
Usuwanie mocka:
należy usunąć odpowiedni wpis w mongo w bazie <nazwa_bazy>_mock




