From ede1d35d82f7da07c636636c3970e6e9ed2229af Mon Sep 17 00:00:00 2001 From: Sam <10507686+elnyry-sam-k@users.noreply.github.com> Date: Tue, 10 Aug 2021 20:07:28 +0530 Subject: [PATCH 1/2] Uploading v13.0.1 test case definition report This is an initial version ( enhancements in the pipeline to the format of the report) --- .../TTK-Testcase-Definition-GP-v13.0.1.html | 6413 +++++++++++++++++ 1 file changed, 6413 insertions(+) create mode 100644 collections/hub/golden_path/TTK-Testcase-Definition-GP-v13.0.1.html diff --git a/collections/hub/golden_path/TTK-Testcase-Definition-GP-v13.0.1.html b/collections/hub/golden_path/TTK-Testcase-Definition-GP-v13.0.1.html new file mode 100644 index 00000000..8c4670a7 --- /dev/null +++ b/collections/hub/golden_path/TTK-Testcase-Definition-GP-v13.0.1.html @@ -0,0 +1,6413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TestcaseRequest DescriptionTest ScenarioExpected Result
Folder Name > File Name
p2p_money_transfer - p2p_happy_path RECEIVE_QUOTE
This is a happy path to test an end to end transfers. It includes party lookup, quote and transfer phases. This request allows us to add a new participant to Account Lookup Service.Add Participant to ALS
(post /participants/{Type}/{ID})
+
This request allows us to add a new party to Simulator.Add Party to Simulator
(post /repository/parties)
+
This request allows us to get the personal information associated with a MSISDN and the FSP associated to it.Get party information
(get /parties/{Type}/{ID})
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback body should contain party
  • +
  • Request FSPIOP-Source same as inputs fromFspId
  • +
  • Callback FSPIOP-Destination same as request FSPIOP-Source
  • +
  • Callback content-type to be parties
  • +
  • Callback partyIdInfo (partyIdType, partyIdentifier)
  • +
  • Payee FSPIOP-Source
  • +
  • Payee Content-Type
  • +
+
This request allows us to send a request for Quote (payerfsp to payeefsp), for the calculation of possible fees and FSP commission involved in performing an interoperable financial transaction.Send quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
  • Payee FSPIOP-Source
  • +
  • Payee Content-Type
  • +
  • Payee Body QuoteId
  • +
  • Payee Body TransactionId
  • +
+
This request allows us to send a Transfer (payerfsp to payeefsp), resulting in an ILP transfer exchanged between two account holders on either side of a common ledger.Send transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
  • Payee FSPIOP-Source
  • +
  • Payee Content-Type
  • +
  • Payee Body TransferId
  • +
  • Payee Body Amount
  • +
+
p2p_money_transfer - p2p_happy_path with subID
p2p_money_transfer - p2p_happy_path with subID Add Participant to ALSAdd Participant to ALS
(post /participants/{Type}/{ID}/{SubId})
+
Add Party to SimulatorAdd Party to Simulator
(post /repository/parties)
+
Get party informationGet party information
(get /parties/{Type}/{ID}/{SubId})
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback body should contain party
  • +
  • Request FSPIOP-Source same as inputs fromFspId
  • +
  • Callback FSPIOP-Destination same as request FSPIOP-Source
  • +
  • Callback content-type to be parties
  • +
  • Callback partyIdInfo (partyIdType, partyIdentifier)
  • +
  • Payee FSPIOP-Source
  • +
  • Payee Content-Type
  • +
  • Callback FSPIOP-URI should contain ID and SubID
  • +
+
Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
  • Payee FSPIOP-Source
  • +
  • Payee Content-Type
  • +
  • Payee Body QuoteId
  • +
  • Payee Body TransactionId
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
  • Payee FSPIOP-Source
  • +
  • Payee Content-Type
  • +
  • Payee Body TransferId
  • +
  • Payee Body Amount
  • +
+
Fulfil Reserved 1.0
Fulfil Reserved 1.0 Send Quote - RECEIVESend Quote - RECEIVE
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payee Side Request Header - fspiop-source is same
  • +
  • Payee Side Request Header - fspiop-destination is same
  • +
  • Payee Side Request Header - fspiop-signature is same
  • +
  • Payee Side Request Header - accept is same
  • +
  • Payee Side Request Header - content-type is same
  • +
  • Payee Side Request Header - fspiop-uri is same
  • +
  • Payee Side Request Header - fspiop-http-method is same
  • +
  • Callback Header - fspiop-source is fspiop-destination in request
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - quoteId is null
  • +
  • Callback Body - ilpPacket is not null
  • +
  • Callback Body - condition is not nul
  • +
+
Send Transfer-PrepareSend Transfer-Prepare
(post /transfers)
+
    +
  • Response status to be 202
  • +
+
Send Fulfill-ReservedSend Fulfill-Reserved
(put /transfers/{ID})
+
    +
  • Response status to be 200
  • +
+
Check Transfer status immediatelyCheck Transfer status immediately
(get /transfers/{ID})
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Header - fspiop-source is switch
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.transfers+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - Date is not empty
  • +
  • Callback Header - fspiop-uri is /transfers/transferId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - transferState is RESERVED
  • +
+
Check Transfer status after expiry timeCheck Transfer status after expiry time
(get /transfers/{ID})
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Header - fspiop-source is switch
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.transfers+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - Date is not empty
  • +
  • Callback Header - fspiop-uri is /transfers/transferId/error
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - errorCode is 3303
  • +
  • Callback Body - errorDescription is Transfer expired
  • +
+
payee_invalid_fulfillment
payee_invalid_fulfillment Store SIMPAYER positionStore SIMPAYER position
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
+
Store SIMPAYEE positionStore SIMPAYEE position
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
+
Send Quote - RECEIVESend Quote - RECEIVE
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payee Side Request Header - fspiop-source is same
  • +
  • Payee Side Request Header - fspiop-destination is same
  • +
  • Payee Side Request Header - fspiop-signature is same
  • +
  • Payee Side Request Header - accept is same
  • +
  • Payee Side Request Header - content-type is same
  • +
  • Payee Side Request Header - fspiop-uri is same
  • +
  • Payee Side Request Header - fspiop-http-method is same
  • +
  • Callback Header - fspiop-source is fspiop-destination in request
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - quoteId is null
  • +
  • Callback Body - ilpPacket is not null
  • +
  • Callback Body - condition is not nul
  • +
+
Send PrepareSend Prepare
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
+
Send Payee Invalid FulfillmentSend Payee Invalid Fulfillment
(put /transfers/{ID})
+
    +
  • Response status to be 200
  • +
  • Response statusText be OK
  • +
  • eventListener Body - errorCode is 3100
  • +
+
Check Transfer status on SIMPAYER - ABORTEDCheck Transfer status on SIMPAYER - ABORTED
(get /transfers/{ID})
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Header - fspiop-source is switch
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.transfers+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - Date is not empty
  • +
  • Callback Header - fspiop-uri is /transfers/transferId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - transferState is ABORTED
  • +
  • Callback Body - Extension List value is 3100: Generic validation error - invalid fulfilment
  • +
+
Check Payeefsp positionCheck Payeefsp position
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
  • Payeefsp position after Payee Invalid Fulfillment should be same as position before transfer.
  • +
+
Check Payerfsp positioCheck Payerfsp positio
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
  • Payeefsp position after Payee Invalid Fulfillment should be same as position before transfer.
  • +
+
payee_invalid_timestamp
payee_invalid_timestamp Store SIMPAYER positionStore SIMPAYER position
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
+
Store SIMPAYEE positionStore SIMPAYEE position
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
+
Send Quote - RECEIVESend Quote - RECEIVE
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payee Side Request Header - fspiop-source is same
  • +
  • Payee Side Request Header - fspiop-destination is same
  • +
  • Payee Side Request Header - fspiop-signature is same
  • +
  • Payee Side Request Header - accept is same
  • +
  • Payee Side Request Header - content-type is same
  • +
  • Payee Side Request Header - fspiop-uri is same
  • +
  • Payee Side Request Header - fspiop-http-method is same
  • +
  • Callback Header - fspiop-source is fspiop-destination in request
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - quoteId is null
  • +
  • Callback Body - ilpPacket is not null
  • +
  • Callback Body - condition is not nul
  • +
+
Send PrepareSend Prepare
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Body - errorCode is 3303
  • +
  • Callback Body - errorDescription is Transfer expired
  • +
+
Send Payee Invalid TimestampSend Payee Invalid Timestamp
(put /transfers/{ID})
+
    +
  • Response status to be 400
  • +
+
Check Transfer status on SIMPAYER - ABORTEDCheck Transfer status on SIMPAYER - ABORTED
(get /transfers/{ID})
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Header - fspiop-source is switch
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.transfers+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - Date is not empty
  • +
  • Callback Header - fspiop-uri is /transfers/transferId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - errorCode is 3303
  • +
  • Callback Body - errorDesciption is Transfer expired
  • +
+
Check Payeefsp positionCheck Payeefsp position
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
  • Payeefsp position after Payee Invalid Fulfillment should be same as position before transfer.
  • +
+
Check Payerfsp positioCheck Payerfsp positio
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
  • Payeefsp position after Payee Invalid Fulfillment should be same as position before transfer.
  • +
+
payee_abort_v1.1
payee_abort_v1.1 Store SIMPAYER position before prepareStore SIMPAYER position before prepare
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
+
Store NORESPONSE_SIMPAYEE position before prepareStore NORESPONSE_SIMPAYEE position before prepare
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
+
Send PrepareSend Prepare
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
+
Store SIMPAYER position after PrepareStore SIMPAYER position after Prepare
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
+
Send SIMPAYEE Abort - should do nothing but log in fulfil handlerSend SIMPAYEE Abort - should do nothing but log in fulfil handler
(put /transfers/{ID})
+
    +
  • Response status to be 200
  • +
+
Check SIMPAYER position after Abort to wrong URLCheck SIMPAYER position after Abort to wrong URL
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
  • Payeefsp position after Payee Invalid Fulfillment should be same as position before transfer.
  • +
+
Send Fulfill-RejectSend Fulfill-Reject
(put /transfers/{ID}/error)
+
    +
  • Status code is 200
  • +
+
Check Transfer status - ABORTEDCheck Transfer status - ABORTED
(get /transfers/{ID})
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Header - fspiop-source is switch
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.transfers+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - Date is not empty
  • +
  • Callback Header - fspiop-uri is /transfers/transferId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - transferState is ABORTED
  • +
+
Check SIMPAYER position after AbortCheck SIMPAYER position after Abort
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
  • Payeefsp position after after Payee ABORT should be same as position before prepare
  • +
+
Check NORESPONSE_SIMPAYEE position after AbortCheck NORESPONSE_SIMPAYEE position after Abort
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
  • Payeefsp position after Payee ABORT should be same as position before prepare
  • +
+
p2p_money_transfer - p2p_happy_path RECEIVE_QUOTE
p2p_money_transfer - p2p_happy_path RECEIVE_QUOTE Add Participant to ALSAdd Participant to ALS
(post /participants/{Type}/{ID})
+
Add Party to SimulatorAdd Party to Simulator
(post /repository/parties)
+
Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payee Side Request Header - fspiop-source is same
  • +
  • Payee Side Request Header - fspiop-destination is same
  • +
  • Payee Side Request Header - fspiop-signature is same
  • +
  • Payee Side Request Header - accept is same
  • +
  • Payee Side Request Header - content-type is same
  • +
  • Payee Side Request Header - fspiop-uri is same
  • +
  • Payee Side Request Header - fspiop-http-method is same
  • +
  • Payee Side Request Body - QuoteId
  • +
  • Payee Side Body - TransactionId
  • +
  • Callback Header - fspiop-source is fspiop-destination in request
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - quoteId is null
  • +
  • Callback Body - ilpPacket is not null
  • +
  • Callback Body - condition is not nul
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payee Side Request Header - fspiop-source is same
  • +
  • Payee Side Request Header - fspiop-signature is same
  • +
  • Payee Side Request Header - accept is same
  • +
  • Payee Side Request Header - content-type is same
  • +
  • Payee Side Request Header - fspiop-uri is same
  • +
  • Payee Side Request Header - fspiop-http-method is same
  • +
  • Payee Side Request Body - TransferId
  • +
  • Payee Side Request Body - payerFsp is same
  • +
  • Payee Side Request Body - payeeFsp is same
  • +
  • Payee Side Request Body - amount is same
  • +
  • Payee Side Request Body - currency is same
  • +
  • Payee Side Request Body - expiration is same
  • +
  • Payee Side Request Body - ilpPacket is same
  • +
  • Payee Side Request Body - condition is same
  • +
  • Callback Header - fspiop-source is fspiop-destination in request
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - transferId is null
  • +
  • Callback Body - transferState is COMMITTED
  • +
  • Callback Body - fulfilment is not nul
  • +
+
Duplicate transferDuplicate transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Header - fspiop-source is switch
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-signature is not null
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - transferId is null
  • +
  • Callback Body - transferState is COMMITTED
  • +
  • Callback Body - fulfilment is same as in the last callback
  • +
+
positive
positive Send Quote - RECEIVESend Quote - RECEIVE
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payee Side Request Header - fspiop-source is same
  • +
  • Payee Side Request Header - fspiop-destination is same
  • +
  • Payee Side Request Header - fspiop-signature is same
  • +
  • Payee Side Request Header - accept is same
  • +
  • Payee Side Request Header - content-type is same
  • +
  • Payee Side Request Header - fspiop-uri is same
  • +
  • Payee Side Request Header - fspiop-http-method is same
  • +
  • Callback Header - fspiop-source is fspiop-destination in request
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - quoteId is null
  • +
  • Callback Body - ilpPacket is not null
  • +
  • Callback Body - condition is not nul
  • +
+
Send Transfer-PrepareSend Transfer-Prepare
(post /transfers)
+
    +
  • Response status to be 202
  • +
+
Send FulfillSend Fulfill
(put /transfers/{ID})
+
    +
  • Response status to be 200
  • +
+
Duplicate FulfillDuplicate Fulfill
(put /transfers/{ID})
+
    +
  • Response status to be 200
  • +
+
Check Transfer statusCheck Transfer status
(get /transfers/{ID})
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Header - fspiop-source is switch
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.transfers+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - Date is not empty
  • +
  • Callback Header - fspiop-uri is /transfers/transferId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - transferState is RESERVED
  • +
  • Callback Body - fulfillment is same as request
  • +
+
negative
negative Send Quote - RECEIVESend Quote - RECEIVE
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payee Side Request Header - fspiop-source is same
  • +
  • Payee Side Request Header - fspiop-destination is same
  • +
  • Payee Side Request Header - fspiop-signature is same
  • +
  • Payee Side Request Header - accept is same
  • +
  • Payee Side Request Header - content-type is same
  • +
  • Payee Side Request Header - fspiop-uri is same
  • +
  • Payee Side Request Header - fspiop-http-method is same
  • +
  • Callback Header - fspiop-source is fspiop-destination in request
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - quoteId is null
  • +
  • Callback Body - ilpPacket is not null
  • +
  • Callback Body - condition is not nul
  • +
+
Send Transfer-PrepareSend Transfer-Prepare
(post /transfers)
+
    +
  • Response status to be 202
  • +
+
Send FulfillSend Fulfill
(put /transfers/{ID})
+
    +
  • Response status to be 200
  • +
+
Duplicate FulfillDuplicate Fulfill
(put /transfers/{ID})
+
    +
  • Response status to be 200
  • +
  • Response statusText be OK
  • +
  • Payee Side Callback Header - fspiop-source is switch
  • +
  • Payee Side Callback Header - fspiop-destination is NORESPONSE_SIMPAYEE_NAME
  • +
  • Payee Side Callback Header - fspiop-signature is not empty
  • +
  • Payee Side Callback Header - accept is empty
  • +
  • Payee Side Callback Header - content-type is same
  • +
  • Payee Side Callback Header - fspiop-uri is /transfers/tranderId/error
  • +
  • Payee Side Callback Header - fspiop-http-method is PUT
  • +
  • Payee Side Callback Body - Response Error Code is 3106
  • +
  • Payee Side Callback Body - Response Error Desription is Modified request
  • +
+
positive
positive Send Quote - RECEIVESend Quote - RECEIVE
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payee Side Request Header - fspiop-source is same
  • +
  • Payee Side Request Header - fspiop-destination is same
  • +
  • Payee Side Request Header - fspiop-signature is same
  • +
  • Payee Side Request Header - accept is same
  • +
  • Payee Side Request Header - content-type is same
  • +
  • Payee Side Request Header - fspiop-uri is same
  • +
  • Payee Side Request Header - fspiop-http-method is same
  • +
  • Callback Header - fspiop-source is fspiop-destination in request
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - quoteId is null
  • +
  • Callback Body - ilpPacket is not null
  • +
  • Callback Body - condition is not nul
  • +
+
Send Transfer-PrepareSend Transfer-Prepare
(post /transfers)
+
    +
  • Response status to be 202
  • +
+
Send Fulfill-RejectSend Fulfill-Reject
(put /transfers/{ID}/error)
+
    +
  • Response status to be 200
  • +
+
Send Duplicate Fulfill-RejectSend Duplicate Fulfill-Reject
(put /transfers/{ID}/error)
+
    +
  • Response status to be 200
  • +
+
Check Transfer statusCheck Transfer status
(get /transfers/{ID})
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Header - fspiop-source is switch
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.transfers+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - Date is not empty
  • +
  • Callback Header - fspiop-uri is /transfers/transferId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - transferState is ABORTED
  • +
+
negative
negative Send Quote - RECEIVESend Quote - RECEIVE
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payee Side Request Header - fspiop-source is same
  • +
  • Payee Side Request Header - fspiop-destination is same
  • +
  • Payee Side Request Header - fspiop-signature is same
  • +
  • Payee Side Request Header - accept is same
  • +
  • Payee Side Request Header - content-type is same
  • +
  • Payee Side Request Header - fspiop-uri is same
  • +
  • Payee Side Request Header - fspiop-http-method is same
  • +
  • Callback Header - fspiop-source is fspiop-destination in request
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - quoteId is null
  • +
  • Callback Body - ilpPacket is not null
  • +
  • Callback Body - condition is not nul
  • +
+
Send Transfer-PrepareSend Transfer-Prepare
(post /transfers)
+
    +
  • Response status to be 202
  • +
+
Send Fulfill-RejectSend Fulfill-Reject
(put /transfers/{ID}/error)
+
    +
  • Response status to be 200
  • +
+
Send Invalid Duplicate Fulfill-RejectSend Invalid Duplicate Fulfill-Reject
(put /transfers/{ID}/error)
+
    +
  • Response status to be 200
  • +
  • Response statusText be OK
  • +
+
Check Transfer statusCheck Transfer status
(get /transfers/{ID})
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Header - fspiop-source is switch
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.transfers+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - Date is not empty
  • +
  • Callback Header - fspiop-uri is /transfers/transferId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - transferState is ABORTED
  • +
+
Active and inactive participant
Active and inactive participant Update participant (SIM2 to inactive)Update participant (SIM2 to inactive)
(put /participants/{name})
+
    +
  • Response status code is 200
  • +
+
Send Quote fail (SIM1 to SIM2)Send Quote fail (SIM1 to SIM2)
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payer side Callback Header - fspiop-source is switch
  • +
  • Payer side Callback Header - fspiop-destination is SIM1
  • +
  • Payer side Callback Header - accept is empty
  • +
  • Payer side Callback Header - content-type is same
  • +
  • Payer side Callback Header - fspiop-uri is /quotes/quoteId/error
  • +
  • Payer side Callback Header - fspiop-http-method is PUT
  • +
  • Payer side Callback Body - errorCode is 3201
  • +
  • Payer side Callback Body - Error Description is Destination FSP Error
  • +
+
Send Transfer fail (SIM1 to SIM2)Send Transfer fail (SIM1 to SIM2)
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payer side Callback Header - fspiop-source is switch
  • +
  • Payer side Callback Header - fspiop-destination is SIM1
  • +
  • Payer side Callback Header - accept is empty
  • +
  • Payer side Callback Header - content-type is same
  • +
  • Payer side Callback Header - fspiop-uri is /transfers/transferId/error
  • +
  • Payer side Callback Header - fspiop-http-method is PUT
  • +
  • Payer side Callback Body - errorCode is 3100
  • +
  • Payer side Callback Body - Error Description is Generic validation error
  • +
+
Update participant (SIM2 to active)Update participant (SIM2 to active)
(put /participants/{name})
+
    +
  • Response status code is 200
  • +
+
Send Quote (SIM1 to SIM2)Send Quote (SIM1 to SIM2)
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payee side Request Header - fspiop-source is SIM1
  • +
  • Payee side Request Header - fspiop-destination is SIM2
  • +
  • Payee side Request Header - accept is same
  • +
  • Payee side Request Header - content-type is same
  • +
  • Payee side Request Header - fspiop-uri is /quotes
  • +
  • Payee side Request Header - fspiop-http-method is POST
  • +
  • Payer side Callback Header - fspiop-source is SIM2
  • +
  • Payer side Callback Header - fspiop-destination is SIM1
  • +
  • Payer side Callback Header - accept is empty
  • +
  • Payer side Callback Header - content-type is as expected
  • +
  • Payer side Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Payer side Callback Header - fspiop-http-method is PUT
  • +
  • Payer side Callback Body - quoteId is null
  • +
  • Payer side Callback Body - ilpPacket is not null
  • +
  • Payer side Callback Body - condition is not null
  • +
+
Send Transfer (SIM1 to SIM2)Send Transfer (SIM1 to SIM2)
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payee side Request Header - fspiop-source is SIM1
  • +
  • Payee side Request Header - fspiop-destination is SIM2
  • +
  • Payee side Request Header - accept is same
  • +
  • Payee side Request Header - content-type is same
  • +
  • Payee side Request Header - fspiop-uri is /transfers
  • +
  • Payee side Request Header - fspiop-http-method is POST
  • +
  • Payer side Callback Header - fspiop-source is SIM2
  • +
  • Payer side Callback Header - fspiop-destination is SIM1
  • +
  • Payer side Callback Header - accept is empty
  • +
  • Payer side Callback Header - content-type is as expected
  • +
  • Payer side Callback Header - fspiop-uri is /transfers/transferId
  • +
  • Payer side Callback Header - fspiop-http-method is PUT
  • +
  • Payer side Callback Body - transferId is null
  • +
  • Payer side Callback Body - transferState is COMMITTED
  • +
+
Active and inactive participant account
Active and inactive participant account Get SIM2 Participant AccountGet SIM2 Participant Account
(get /participants/{name}/accounts)
+
    +
  • Response status code is 200
  • +
+
Update SIM2 to inactive_XOF accountUpdate SIM2 to inactive_XOF account
(put /participants/{name}/accounts/{id})
+
Send Quote fail (SIM1 to SIM2)Send Quote fail (SIM1 to SIM2)
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payer side Callback Header - fspiop-source is switch
  • +
  • Payer side Callback Header - fspiop-destination is SIM1
  • +
  • Payer side Callback Header - accept is empty
  • +
  • Payer side Callback Header - content-type is same
  • +
  • Payer side Callback Header - fspiop-uri is /quotes/quoteId/error
  • +
  • Payer side Callback Header - fspiop-http-method is PUT
  • +
  • Payer side Callback Body - errorCode is 3201
  • +
  • Payer side Callback Body - Error Description is Destination FSP Error
  • +
+
Send Transfer fail (SIM1 to SIM2)Send Transfer fail (SIM1 to SIM2)
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payer side Callback Header - fspiop-source is switch
  • +
  • Payer side Callback Header - fspiop-destination is SIM1
  • +
  • Payer side Callback Header - accept is empty
  • +
  • Payer side Callback Header - content-type is same
  • +
  • Payer side Callback Header - fspiop-uri is /transfers/transferId/error
  • +
  • Payer side Callback Header - fspiop-http-method is PUT
  • +
  • Payer side Callback Body - errorCode is 3100
  • +
  • Payer side Callback Body - Error Description is Generic validation error
  • +
+
Update participant (SIM2 to active) accountUpdate participant (SIM2 to active) account
(put /participants/{name}/accounts/{id})
+
    +
  • Response status code is 200
  • +
+
Send Quote (SIM1 to SIM2)Send Quote (SIM1 to SIM2)
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payee side Request Header - fspiop-source is SIM1
  • +
  • Payee side Request Header - fspiop-destination is SIM2
  • +
  • Payee side Request Header - accept is same
  • +
  • Payee side Request Header - content-type is same
  • +
  • Payee side Request Header - fspiop-uri is /quotes
  • +
  • Payee side Request Header - fspiop-http-method is POST
  • +
  • Payer side Callback Header - fspiop-source is SIM2
  • +
  • Payer side Callback Header - fspiop-destination is SIM1
  • +
  • Payer side Callback Header - accept is empty
  • +
  • Payer side Callback Header - content-type is as expected
  • +
  • Payer side Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Payer side Callback Header - fspiop-http-method is PUT
  • +
  • Payer side Callback Body - quoteId is null
  • +
  • Payer side Callback Body - ilpPacket is not null
  • +
  • Payer side Callback Body - condition is not null
  • +
+
Send Transfer (SIM1 to SIM2)Send Transfer (SIM1 to SIM2)
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Validate Protected Headers
  • +
  • Callback Validate JWS
  • +
  • Payee side Request Header - fspiop-source is SIM1
  • +
  • Payee side Request Header - fspiop-destination is SIM2
  • +
  • Payee side Request Header - accept is same
  • +
  • Payee side Request Header - content-type is same
  • +
  • Payee side Request Header - fspiop-uri is /transfers
  • +
  • Payee side Request Header - fspiop-http-method is POST
  • +
  • Payer side Callback Header - fspiop-source is SIM2
  • +
  • Payer side Callback Header - fspiop-destination is SIM1
  • +
  • Payer side Callback Header - accept is empty
  • +
  • Payer side Callback Header - content-type is as expected
  • +
  • Payer side Callback Header - fspiop-uri is /transfers/transferId
  • +
  • Payer side Callback Header - fspiop-http-method is PUT
  • +
  • Payer side Callback Body - transferId is null
  • +
  • Payer side Callback Body - transferState is COMMITTED
  • +
+
Block Transfer
Block Transfer GET limits - SIMPAYERGET limits - SIMPAYER
(get /participants/{name}/limits)
+
    +
  • Status code is 200
  • +
  • NDC limit set correctly
  • +
+
GET limits - SIMPAYEEGET limits - SIMPAYEE
(get /participants/{name}/limits)
+
    +
  • Status code is 200
  • +
  • NDC limit set correctly
  • +
+
GET SIMPAYER position before the transferGET SIMPAYER position before the transfer
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
  • Payer FSP position correctly set
  • +
+
GET SIMPAYEE position before the transferGET SIMPAYEE position before the transfer
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
  • Payee FSP position correctly set
  • +
+
Send QuoteSend Quote
(post /quotes)
+
    +
  • Status code is 202
  • +
  • Payee FSP 'fspiop-source' is 'testingtoolkitdfsp'
  • +
  • Payee FSP 'fspiop-destination' is 'payeefsp'
  • +
  • Payee FSP: 'fspiop-signature' is same as sent in the request
  • +
  • Payee FSP 'accept' is same as sent in the request
  • +
  • Payee FSP 'content-type' is same as sent in the request
  • +
  • Payee FSP 'fspiop-uri' is /quotes
  • +
  • Payee FSP 'fspiop-http-method' is 'POST'
  • +
  • Payer FSP Callback: 'fspiop-source' is 'payeefsp'
  • +
  • Payer FSP Callback: 'fspiop-destination' is 'testingtoolkitdfsp'
  • +
  • Payer FSP Callback: JWS signature valid
  • +
  • Payer Callback: JWS protected headers are valid
  • +
  • Payer FSP Callback: 'accept' is empty
  • +
  • Payer FSP Callback: 'content-type' is as expected
  • +
  • Payer FSP Callback: 'fspiop-uri' is /quotes
  • +
  • Payer FSP Callback: 'fspiop-http-method' is 'PUT'
  • +
+
Send Block TransferSend Block Transfer
(post /transfers)
+
    +
  • Status code is 202
  • +
  • Error code should be returned
  • +
  • Error description should be returned
  • +
  • 'fspiop-source' should be 'switch'
  • +
  • 'fspiop-destination' should be 'testingtoolkitdfsp'
  • +
  • 'accept' should be empty
  • +
  • 'content-type' should be in proper format
  • +
  • 'fspiop-signature' should be present
  • +
  • 'fspiop-uri' is /transfers/{transferId}/error
  • +
  • 'fspiop-http-method' is PUT
  • +
+
GET SIMPAYER position after the transferGET SIMPAYER position after the transfer
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
  • Position before and after transfer should be the same
  • +
+
GET SIMPAYEE position after the transferGET SIMPAYEE position after the transfer
(get /participants/{name}/positions)
+
    +
  • Status code is 200
  • +
  • Position before and after transfer should be the same
  • +
+
Funds_in_ttk
Funds_in_ttk Get testingtoolkitdfsp settlement accountGet testingtoolkitdfsp settlement account
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get Hub Reconcilliation accountGet Hub Reconcilliation account
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Record funds in - prepare 2Record funds in - prepare 2
(post /participants/{name}/accounts/{id})
+
    +
  • Response code is 202
  • +
+
Get testingtoolkitdfsp settlement account after funds inGet testingtoolkitdfsp settlement account after funds in
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testingtoolkitdfsp Settlement Account Balance should be same as before FundsIn + fundsInPrepareAmount
  • +
+
Get Hub Reconcilliation account after funds inGet Hub Reconcilliation account after funds in
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Final Hub Reconciliation Account Balance should be same as before FundsIn + fundsInPrepareAmount
  • +
+
Record Funds in - prepare transfer statusRecord Funds in - prepare transfer status
(get /transfers/{ID})
+
    +
  • Response code is 202
  • +
  • fspiop-source is switch
  • +
  • fspiop-destination is testingtoolkitdfsp
  • +
  • content-type should be in the proper format
  • +
  • accept is empty
  • +
  • fspiop-signature is not empty
  • +
  • fspiop-uri includes "transfer/transferid"
  • +
  • fspiop-http-method is PUT
  • +
  • Transfer State should be COMMITTED
  • +
+
Funds_out/Reserve&Abort
Funds_out/Reserve&Abort Get testingtoolkitdfsp settlement accountGet testingtoolkitdfsp settlement account
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get Hub Reconcilliation accountGet Hub Reconcilliation account
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Record Funds Out Prepare&Reserve- SIMPAYERRecord Funds Out Prepare&Reserve- SIMPAYER
(post /participants/{name}/accounts/{id})
+
    +
  • Response code is 202
  • +
+
Get testingtoolkitdfsp settlement account after funds outGet testingtoolkitdfsp settlement account after funds out
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testingtoolkitdfsp Settlement Account Balance should decrease by the transfer amount
  • +
+
Get Hub Reconcilliation account after funds outGet Hub Reconcilliation account after funds out
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Final Hub Reconciliation Account Balance should stay the same in prepare phase
  • +
+
Record Funds Out Prepare&Reserve - transferStatusRecord Funds Out Prepare&Reserve - transferStatus
(get /transfers/{ID})
+
    +
  • Response code is 202
  • +
  • fspiop-source is switch
  • +
  • fspiop-destination is testingtoolkitdfsp
  • +
  • content-type should match with the proper format
  • +
  • accept is empty
  • +
  • fspiop-signature is not empty
  • +
  • fspiop-uri includes "transfer/transferid"
  • +
  • fspiop-http-method is PUT
  • +
  • Transfer State should be RESERVED
  • +
+
Get testingtoolkitdfsp settlement account before abortGet testingtoolkitdfsp settlement account before abort
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get Hub Reconcilliation account before abortGet Hub Reconcilliation account before abort
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Record Funds Out Abort - SIMPAYERRecord Funds Out Abort - SIMPAYER
(put /participants/{name}/accounts/{id}/transfers/{transferId})
+
    +
  • Response code is 202
  • +
+
Get testingtoolkitdfsp settlement account after abortGet testingtoolkitdfsp settlement account after abort
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testingtoolkitdfsp Settlement Account Balance should rollback to the value before Prepare
  • +
+
Get Hub Reconcilliation account after abortGet Hub Reconcilliation account after abort
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Final Hub Reconciliation Account Balance should not change
  • +
+
Record Funds Out Abort - transfer statusRecord Funds Out Abort - transfer status
(get /transfers/{ID})
+
    +
  • Response code is 202
  • +
  • fspiop-source is switch
  • +
  • fspiop-destination is testingtoolkitdfsp
  • +
  • content-type should match with the proper format
  • +
  • accept is empty
  • +
  • fspiop-signature is not empty
  • +
  • fspiop-uri includes "transfer/transferid"
  • +
  • fspiop-http-method is PUT
  • +
  • Transfer State should be ABORTED
  • +
+
Funds_out/Reserve&Commit_ttk
Funds_out/Reserve&Commit_ttk Get testingtoolkitdfsp settlement accountGet testingtoolkitdfsp settlement account
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get Hub Reconcilliation accountGet Hub Reconcilliation account
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Record Funds Out Prepare&Reserve- SIMPAYERRecord Funds Out Prepare&Reserve- SIMPAYER
(post /participants/{name}/accounts/{id})
+
    +
  • Response code is 202
  • +
+
Get testingtoolkitdfsp settlement account after funds outGet testingtoolkitdfsp settlement account after funds out
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testingtoolkitdfsp Settlement Account Balance should decrease by the transfer amount
  • +
+
Get Hub Reconcilliation account after funds outGet Hub Reconcilliation account after funds out
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Final Hub Reconciliation Account Balance should stay the same in prepare phase
  • +
+
Record Funds Out Prepare&Reserve - transferStatusRecord Funds Out Prepare&Reserve - transferStatus
(get /transfers/{ID})
+
    +
  • Response code is 202
  • +
  • fspiop-source is switch
  • +
  • fspiop-destination is testingtoolkitdfsp
  • +
  • content-type should match with the proper format
  • +
  • accept is empty
  • +
  • fspiop-signature is not empty
  • +
  • fspiop-uri includes "transfer/transferid"
  • +
  • fspiop-http-method is PUT
  • +
  • Transfer State should be RESERVED
  • +
+
Get testingtoolkitdfsp settlement account before commitGet testingtoolkitdfsp settlement account before commit
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get Hub Reconcilliation account before commitGet Hub Reconcilliation account before commit
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Record Funds Out Commit - SIMPAYERRecord Funds Out Commit - SIMPAYER
(put /participants/{name}/accounts/{id}/transfers/{transferId})
+
    +
  • Response code is 202
  • +
+
Get testingtoolkitdfsp settlement account after commitGet testingtoolkitdfsp settlement account after commit
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testingtoolkitdfsp Settlement Account Balance should not change during commit phase
  • +
+
Get Hub Reconcilliation account after commitGet Hub Reconcilliation account after commit
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Final Hub Reconciliation Account Balance should decrease by the transfer amount
  • +
+
Record Funds Out Commit - transfer statusRecord Funds Out Commit - transfer status
(get /transfers/{ID})
+
    +
  • Response code is 202
  • +
  • fspiop-source is switch
  • +
  • fspiop-destination is testingtoolkitdfsp
  • +
  • content-type should be in the proper format
  • +
  • accept is empty
  • +
  • fspiop-signature is not empty
  • +
  • fspiop-uri includes "transfer/transferid"
  • +
  • fspiop-http-method is PUT
  • +
  • Transfer State should be COMMITTED
  • +
+
Get Transfers
Get Transfers Send QuoteSend Quote
(post /quotes)
+
    +
  • Status code is 202
  • +
  • Payee FSP 'fspiop-source' is 'testingtoolkitdfsp'
  • +
  • Payee FSP 'fspiop-destination' is 'payeefsp'
  • +
  • Payee FSP: 'fspiop-signature' is same as sent in the request
  • +
  • Payee FSP 'accept' is same as sent in the request
  • +
  • Payee FSP 'content-type' is same as sent in the request
  • +
  • Payee FSP 'fspiop-uri' is /quotes
  • +
  • Payee FSP 'fspiop-http-method' is 'POST'
  • +
  • Payer FSP Callback: 'fspiop-source' is 'payeefsp'
  • +
  • Payer FSP Callback: 'fspiop-destination' is 'testingtoolkitdfsp'
  • +
  • Payer FSP Callback: JWS signature valid
  • +
  • Payer Callback: JWS protected headers are valid
  • +
  • Payer FSP Callback: 'accept' is empty
  • +
  • Payer FSP Callback: 'content-type' is same as sent in the request
  • +
  • Payer FSP Callback: 'fspiop-uri' is /quotes/{quoteId}
  • +
  • Payer FSP Callback: 'fspiop-http-method' is 'PUT'
  • +
+
Send TransferSend Transfer
(post /transfers)
+
    +
  • Status code is 202
  • +
  • Payee FSP: 'fspiop-source' should be 'testingtoolkitdfsp'
  • +
  • Payee FSP: 'fspiop-destination' should be 'payeefsp'
  • +
  • Payee FSP: 'content-type' should be same as sent in the request
  • +
  • Payee FSP: 'accept' should be same as sent in the request
  • +
  • Payee FSP: 'fspiop-signature' should be same as sent in the request
  • +
  • Payee FSP: 'fspiop-http-method' is POST
  • +
  • Payee FSP: 'fspiop-uri' is /transfers
  • +
  • Payee FSP: Data should have the same transferId as request
  • +
  • Payee FSP: Data should have the same Payer FSP ID as request
  • +
  • Payee FSP: Data should have the same Payee FSP ID as request
  • +
  • Payee FSP: Data should have the same amount as request
  • +
  • Payee FSP: Data should have the same currency as request
  • +
  • Payee FSP: Data should have the same expiration as request
  • +
  • Payee FSP: Data should have the same ilpPacket as request
  • +
  • Payee FSP: Data should have the same condition as request
  • +
  • Payer FSP: 'fspiop-source' is 'payefsp'
  • +
  • Payer FSP: 'fspiop-destination' is 'testingtoolkitdfsp'
  • +
  • Payer FSP: 'content-type' should be 'application/vnd.interoperability.transfers+json;version=1.0'
  • +
  • Payer FSP: 'accept' should be empty
  • +
  • Payer FSP: 'fspiop-uri' should include '/transfers/{transferId}'
  • +
  • Payer FSP: 'fspiop-http-method' should be 'PUT'
  • +
  • Payer FSP: Response data does not have transferId
  • +
  • Payer FSP: Response status is 'COMMITTED'
  • +
+
GET transfer - COMMITTEDGET transfer - COMMITTED
(get /transfers/{ID})
+
    +
  • Status code is 202
  • +
  • Payer FSP: 'fspiop-source' is 'switch'
  • +
  • Payer FSP: 'fspiop-destination' is 'payerfsp'
  • +
  • Payer FSP: 'content-type' should be in proper format
  • +
  • Payer FSP: 'accept' should be empty
  • +
  • Payer FSP: 'fspiop-signature' is not empty
  • +
  • Payer FSP: 'fspiop-uri' includes /transfers/{transferId}
  • +
  • Payer FSP: 'fspiop-http-method' is PUT
  • +
  • Payer FSP: Response data does not have transfer ID
  • +
  • Payer FSP: Response status is 'COMMITTED'
  • +
+
Source is original receiverSource is original receiver
(get /transfers/{ID})
+
    +
  • Status code is 202
  • +
  • Payee FSP: 'fspiop-source' is 'switch'
  • +
  • Payee FSP: 'fspiop-destination' is 'payerfsp'
  • +
  • Payee FSP: 'content-type' should be same as request
  • +
  • Payee FSP: 'accept' should be empty
  • +
  • Payee FSP: 'fspiop-uri' includes /transfers/{transferId}
  • +
  • Payee FSP: 'fspiop-signature' is not empty
  • +
  • Payee FSP: 'fspiop-http-method' is PUT
  • +
  • Payee FSP: Response status is 'COMMITTED'
  • +
+
Source is not part of original sender/receiverSource is not part of original sender/receiver
(get /transfers/{ID})
+
    +
  • Status code is 202
  • +
  • Payee FSP: 'fspiop-source' is 'switch'
  • +
  • Payee FSP: 'fspiop-destination' is 'payerfsp'
  • +
  • Payee FSP: 'content-type' should be same as request
  • +
  • Payee FSP: 'accept' should be empty
  • +
  • Payee FSP: 'fspiop-uri' includes /transfers/{transferId}/error
  • +
  • Payee FSP: 'fspiop-signature' is not empty
  • +
  • Payee FSP: 'fspiop-http-method' is PUT
  • +
  • Payee FSP: Error Code should be returned
  • +
  • Payee FSP: Error Description should be returned
  • +
+
200 - 3208 - Transfer ID not found200 - 3208 - Transfer ID not found
(get /transfers/{ID})
+
    +
  • Status code is 202
  • +
  • Payer FSP: 'fspiop-source' is 'switch'
  • +
  • Payer FSP: 'fspiop-destination' is 'payerfsp'
  • +
  • Payer FSP: 'content-type' should be in proper format
  • +
  • Payer FSP: 'accept' should be empty
  • +
  • Payer FSP: 'fspiop-uri' includes /transfers/{transferId}/error
  • +
  • Payer FSP: 'fspiop-signature' is not empty
  • +
  • Payer FSP: 'fspiop-http-method' is PUT
  • +
  • Payer FSP: Error Code should be returned
  • +
  • Payer FSP: Error Description should be returned
  • +
+
Positive Scenarios
Positive Scenarios Add Participant to ALSAdd Participant to ALS
(post /participants/{Type}/{ID})
+
Delete party from simulatorDelete party from simulator
(delete /repository/parties/{idType}/{idValue})
+
Add Party to SimulatorAdd Party to Simulator
(post /repository/parties)
+
Get party informationGet party information
(get /parties/{Type}/{ID})
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback body should contain party
  • +
  • Request FSPIOP-Source same as inputs fromFspId
  • +
  • Callback FSPIOP-Destination same as request FSPIOP-Source
  • +
  • Callback content-type to be parties
  • +
  • Callback partyIdInfo (partyIdType, partyIdentifier)
  • +
  • Payee FSPIOP-Source
  • +
  • Payee Content-Type
  • +
+
Post scenarioPost scenario
(post /scenarios)
+
    +
  • Status code is 200
  • +
  • Payer name matches
  • +
  • Payer IdType matches
  • +
  • Payer IdValue matches
  • +
  • Payee IdType matches
  • +
  • Payee IdValue matches
  • +
  • Payee fspId matches
  • +
  • Payee First Name matches
  • +
  • Payee Last Name matches
  • +
  • Payee DOB matches
  • +
  • Amount Type is 'SEND'
  • +
  • Currency matches
  • +
  • Transfer Amount matches
  • +
  • Transaction Type is 'Transfer'
  • +
  • Initiator Type is 'CONSUMER'
  • +
  • Note matches
  • +
  • Transfer ID matches
  • +
  • Home transaction ID matches
  • +
  • Current state on quote is 'COMPLETED'
  • +
  • Quote amount matches
  • +
  • Currency matches
  • +
  • Quote response expiration is not null
  • +
  • Quote response ilp packet is not null
  • +
  • Quote response condition is not null
  • +
  • Payee fee amount is zero (0)
  • +
  • Payee fee currency matches
  • +
  • Payee commission amount is zero (0)
  • +
  • Payee FSP commission currency matches
  • +
  • Payer FSP name matches
  • +
  • Payer IdType matches
  • +
  • Payer IdValue matches
  • +
  • Payee IdType matches
  • +
  • Payee ReceiverMSISDN IdValue matches
  • +
  • Payee fspId matches
  • +
  • Payee First Name matches
  • +
  • Payee Last Name matches
  • +
  • Payee DOB matches
  • +
  • Amount type in quote response is 'SEND'
  • +
  • Currency in quotes matches
  • +
  • Transfer amount matches
  • +
  • Transaction Type is TRANSFER
  • +
  • Initiator type is CONSUMER
  • +
  • Note matches
  • +
  • Home transaction ID is 123ABC
  • +
  • Current state of the transfer is 'COMPLETED'
  • +
  • Transfer Amount matches
  • +
  • Currency matches
  • +
  • Quote expiration is not null
  • +
  • Response ilpPacket is not null
  • +
  • Response condition is not null
  • +
  • Payee FSP Fee is zero (0)
  • +
  • Payee FSP commission is zero (0)
  • +
  • Transfer currency matches
  • +
  • CompletedTimestamp is not empty
  • +
  • Transfer state is 'COMMITTED'
  • +
  • Fulfilment is not empty
  • +
  • Payee Request: fspiop-source header is 'payerfsp'
  • +
  • Payee Request: fspiop-destination header is 'payeefsp'
  • +
  • Payee Request: Content-Type is 'application/vnd.interoperability.parties+json;version=1.0'
  • +
  • Payee Request: Accept matches 'application/vnd.interoperability.parties+json;version=1(\.\d)?/'
  • +
  • Payee Request: Date is not null
  • +
  • Payer Callback: 'fspiop-source' header is 'payeefsp'
  • +
  • Payer Callback: 'fspiop-destination' header is 'payerfsp'
  • +
  • Payer Callback: 'content-type' header matches
  • +
  • Payer Callback: 'Accept' header is empty
  • +
  • Payer Callback: 'fspiop-uri' header matches
  • +
  • Payer Callback: 'fspiop-http-method' headers is 'PUT'
  • +
  • Payer Callback: Expected partyIdType is MSISDN
  • +
  • Payer Callback: Payee partyIdentifier matches
  • +
  • Payer Callback: Payee fspId matches
  • +
  • Payer Callback: Payee first name matches
  • +
  • Payer Callback: Payee last name matches
  • +
  • Payer Callback: Payee DOB matches
  • +
  • Payee Request: 'fspiop-source' header matches
  • +
  • Payee Request: 'fspiop-destination' header matches
  • +
  • Payee Request: 'content-type' header should be in proper format
  • +
  • Payee Request: 'accept' header is the same as sent in the request
  • +
  • Payee Request: 'fspiop-http-method' i s POST
  • +
  • Payee Request: 'fspiop-uri' is /transfers
  • +
  • Payee Request: data should have the same "transferId" as request
  • +
  • Payee Request: data should have the same Payer FSP as request
  • +
  • Payee Request: data should have the same Payee FSP as request
  • +
  • Payee Request: data should have the same amount as request
  • +
  • Payee Request: data should have the same currency as request
  • +
  • Payer Callback: 'fspiop-source' header matches
  • +
  • Payer Callback: 'fspiop-destination' header matches
  • +
  • Payer Callback: 'content-type' header is 'application/vnd.interoperability.transfers+json;version=1.0'
  • +
  • Payer Callback: 'accept' header is empty
  • +
  • Payer Callback: 'fspiop-uri' header includes /transfers
  • +
  • Payer Callback: 'fspiop-http-method' header is 'PUT'
  • +
  • Payer Callback: Response data does not have transferId
  • +
  • Payer Callback: Transfer state is 'COMMITTED'
  • +
+
Reserve Notification Positive - Testfsp1 Testfsp2
Reserve Notification Positive - Testfsp1 Testfsp2 Add {{testfsp1MSISDN}} to testfsp1Add {{testfsp1MSISDN}} to testfsp1
(post /repository/parties)
+
    +
  • Successfully POST request
  • +
+
Add {{testfsp2MSISDN}} to testfsp2Add {{testfsp2MSISDN}} to testfsp2
(post /repository/parties)
+
    +
  • Successfully POST request
  • +
+
Add party to SIMPAYEE - MSISDNAdd party to SIMPAYEE - MSISDN
(post /repository/parties)
+
    +
  • Successfully POST request
  • +
+
Post scenarios - MSISDN - TESTFSP2 to TESTFSP1 - PATCH notificationPost scenarios - MSISDN - TESTFSP2 to TESTFSP1 - PATCH notification
(post /scenarios)
+
    +
  • Status code is 200
  • +
  • Payer name matches
  • +
  • Payer idType is 'MSISDN'
  • +
  • Payer idValue matches
  • +
  • Payee idType is 'MSISDN'
  • +
  • Payee idValue matches
  • +
  • Payee fspId is "testfsp1"
  • +
  • Payee First name "Testfsp1First"
  • +
  • Payee Last name "Testfsp1Last"
  • +
  • Payee DOB matches
  • +
  • Amount type is 'SEND'
  • +
  • Currency matches
  • +
  • Transfer amount matches
  • +
  • Transaction type is 'TRANSFER'
  • +
  • Initiator type is 'CONSUMER'
  • +
  • Note matches
  • +
  • transferId matches
  • +
  • Home transaction ID matches
  • +
  • Current state on quote is 'COMPLETED'
  • +
  • Transfer amount matches
  • +
  • Currency matches
  • +
  • Quote response expiration is not null
  • +
  • Quote request ILP packet is not null
  • +
  • Quote response condition is not null
  • +
  • Payee Fee amount is 0
  • +
  • Payee fee currency matches
  • +
  • Payee FSP commission amount is '0'
  • +
  • Payee FSP commission currency matches
  • +
  • Payer FSP name matches
  • +
  • Payer IdType is 'MSISDN'
  • +
  • Payer MSISDN matches
  • +
  • Payee IdType is 'MSISDN'
  • +
  • Receiver MSISDN value matches
  • +
  • fspId is 'testfsp1'
  • +
  • First name of the party matches
  • +
  • Last name of the party matches
  • +
  • Date of Birth of the MSISDN is '2010-10-10'
  • +
  • Amount-Type in Quote request is 'SEND'
  • +
  • Currency in Quote request matches
  • +
  • Transfer amount is '10'
  • +
  • Transaction type is 'TRANSFER'
  • +
  • Initiator type is 'CONSUMER'
  • +
  • Note matches
  • +
  • HomeTransactionId is 123ABC
  • +
  • Current state of the transfer is 'COMPLETED'
  • +
  • Transfer Amount is '10'
  • +
  • Response validation: Currency matches
  • +
  • Quote expiration is not null
  • +
  • Response ilpPacket is not null
  • +
  • Response condition is not null
  • +
  • PayeeFspFee is '0'
  • +
  • Payee FSP fee currency matches
  • +
  • Payee FSP commission is '0'
  • +
  • Payee FSP Transfer commission currency matches
  • +
  • CompletedTimestamp is not empty
  • +
  • transferState is 'COMMITTED'
  • +
  • Fulfilment is not empty
  • +
  • On testfsp2 fspiop-source is testfsp2
  • +
  • On testfsp2 content-type should be application/vnd.interoperability.parties+json;version=1.0
  • +
  • On Payee FSP 'accept' header should be 'application/vnd.interoperability.parties+json;version=1.1'
  • +
  • On Payee FSP date cannot be undefined
  • +
  • On testfsp2 'fspiop-source' is 'testfsp1'
  • +
  • On testfsp2 'fspiop-destination' is 'testfsp2'
  • +
  • On testfsp2 'content-type' header should be 'application/vnd.interoperability.parties+json;version=1.0'
  • +
  • Payer FSP 'accept' header is empty
  • +
  • Payer FSP JWS headers validation
  • +
  • Payer FSP JWS validation
  • +
  • Payer FSP 'fspiop-uri' should be /parties/MSISDN/17039811907
  • +
  • Payer FSP 'fspiop-http-method' is PUT
  • +
  • Expected partyIdType is 'MSISDN'
  • +
  • Expected partyIdentifier matches
  • +
  • Expected fspId is 'testfsp1'
  • +
  • Expected receiver first name is 'Testfsp1First'
  • +
  • Expected receiver last name is 'Testfsp1Last'
  • +
  • Expected receiver DOB is '2010-10-10'
  • +
  • On testfsp1 'fspiop-source' is 'switch'
  • +
  • On testfsp1 'fspiop-destination' is 'testfsp1'
  • +
  • On testfsp1 'content-type' should be in the proper format
  • +
  • On testfsp1 'fspiop-http-method' is PATCH
  • +
  • On testfsp1 'fspiop-uri' contains '/transfers'
  • +
  • On testfsp2 'fspiop-source' is 'testfsp1'
  • +
  • On testfsp2 'fspiop-destination' is 'testfsp2'
  • +
  • On Payer FSP 'content-type' should be 'application/vnd.interoperability.transfers+json;version=1.1'
  • +
  • On Payer FSP 'accept' is empty
  • +
  • On Payer FSP 'fspiop-uri' includes '/transfers'
  • +
  • On Payer FSP 'fspiop-http-method' is PUT
  • +
  • Response data does not have transferId
  • +
  • Response 'transferState' is 'COMMITTED'
  • +
+
Check Settlements Error #956
Check Settlements Error #956 Check Settlements Error #956Check Settlements Error #956
(get /settlementWindows)
+
    +
  • Response code status 400
  • +
  • Check Malformed syntax in settlements
  • +
  • Check Error code 3101
  • +
+
Check FSPIOP Headers from Switch #883Check FSPIOP Headers from Switch #883
(get /parties/{Type}/{ID})
+
    +
  • Response code status 202
  • +
  • Expected error code is 3204
  • +
  • Expected error description - party not Found
  • +
+
Check FSPIOP Headers from ML-API-Adapter #1032Check FSPIOP Headers from ML-API-Adapter #1032
(post /transfers)
+
    +
  • Response code status 202
  • +
  • Response data does not have transferId
  • +
  • Error code is 3100
  • +
+
Test for 4 decimal points #949
Test for 4 decimal points #949 Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Test for Bugfix #1378 - extension list missing
Test for Bugfix #1378 - extension list missing Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 406
  • +
  • Check Unacceptable version requested
  • +
  • Check Error code 3001
  • +
+
Send quote CopySend quote Copy
(post /quotes)
+
    +
  • Response status to be 406
  • +
  • Check Unacceptable version requested
  • +
  • Check Error code 3001
  • +
+
Test for Bugfix #742 - Error code check
Test for Bugfix #742 - Error code check Add Participant - Invalid CurrencyAdd Participant - Invalid Currency
(post /participants)
+
    +
  • Response code is 400
  • +
  • Check Malformed syntax - malformed currency
  • +
  • Check Error code 3101
  • +
+
Check Error 3003 Add Party information error #742Check Error 3003 Add Party information error #742
(post /participants)
+
    +
  • Response code is 400
  • +
  • Check ID missing
  • +
  • Check Error code 3003
  • +
+
Check Error 3101 Malformed syntax #742Check Error 3101 Malformed syntax #742
(post /transfers)
+
    +
  • Response code is 400
  • +
  • Check Malformed syntax
  • +
  • Check Transfer Id is included in error
  • +
  • Check Error code 3101
  • +
+
Test for Bugfix #849 - missing ID for transfers and quotes
Test for Bugfix #849 - missing ID for transfers and quotes Check transfers/ Missing ID #849Check transfers/ Missing ID #849
(put /transfers/{ID})
+
    +
  • Response status to be 404
  • +
  • Check ID missing
  • +
  • Check Error code 3002
  • +
+
Check quotes/ Missing ID #849Check quotes/ Missing ID #849
(put /quotes/{ID})
+
    +
  • Response status equals 404
  • +
  • Check error description equals 'Unknown URI'
  • +
  • Check Error code equals 3002
  • +
+
Tests for Bugfix #1009 - ML Adapter and ALS service health should include broker status
Tests for Bugfix #1009 - ML Adapter and ALS service health should include broker status transaction service healthtransaction service health
(get /health)
+
    +
  • Response status to be 200
  • +
  • ML Adaptor - Expected Status is OK
  • +
  • ML Adaptor - Expected body to have services array
  • +
  • ML Adaptor - Expected services to have broker and status is OK
  • +
+
Get health status of ALSGet health status of ALS
(get /health)
+
    +
  • Response status to be 200
  • +
  • Expected Status is OK
  • +
  • Expected body to have services array
  • +
  • Expected services to have datastore and status is OK
  • +
+
Get health status of Central LedgerGet health status of Central Ledger
(get /health)
+
    +
  • Response status to be 200
  • +
  • Expected Status is OK
  • +
  • Expected body to have services array
  • +
  • Expected services to have broker and status is OK
  • +
+
Get health status of Central SettlementGet health status of Central Settlement
(get /health)
+
    +
  • Response status to be 200
  • +
  • Expected Status is OK
  • +
  • Expected body to have services array
  • +
  • Expected services to have datastore and status is OK
  • +
+
Tests for Bugfix #981 - Fix 500 http code instead of 400
Tests for Bugfix #981 - Fix 500 http code instead of 400 Add participant - duplicate accountAdd participant - duplicate account
(post /participants)
+
    +
  • Response code is 400
  • +
  • Check Generic client error for duplicate currency
  • +
  • Check Error code 3000
  • +
+
Add non existing ParticipantAdd non existing Participant
(get /participants/{name})
+
    +
  • Response code is 400
  • +
  • Check Generic ID not found - non existing participant
  • +
  • Check Error code 3200
  • +
+
Add Participant - Invalid CurrencyAdd Participant - Invalid Currency
(post /participants)
+
    +
  • Response code is 400
  • +
  • Check Malformed syntax - malformed currency
  • +
  • Check Error code 3101
  • +
+
Tests for Bugfix #990 and #1016 - Quotes
Tests for Bugfix #990 and #1016 - Quotes Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send Quote_SEND - 12 - Validate Within Expire Time w Duplicate Quote Id CopySend Quote_SEND - 12 - Validate Within Expire Time w Duplicate Quote Id Copy
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Check Modified request - Duplicate Quote before expire time
  • +
  • Check Error code 3106
  • +
+
Send Quote_SEND - 12 - Validate After Expire Time w Duplicate Quote IdSend Quote_SEND - 12 - Validate After Expire Time w Duplicate Quote Id
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Check Modified request - Duplicate Quote before expire time
  • +
  • Check Error code 3106
  • +
+
other
other Send Quote_SEND - Missing content-type versionSend Quote_SEND - Missing content-type version
(post /quotes)
+
    +
  • Response code is 400
  • +
  • Check Missing mandatory element
  • +
  • Check Error code 3101
  • +
+
Send Quote_SEND - 6a - Invalid Content Type - application/jsonSend Quote_SEND - 6a - Invalid Content Type - application/json
(post /quotes)
+
    +
  • Response code is 400
  • +
  • Check Missing mandatory element
  • +
  • Check Error code 3101
  • +
+
Send Quote_SEND - 6b - Invalid Content Type - xmlSend Quote_SEND - 6b - Invalid Content Type - xml
(post /quotes)
+
    +
  • Response code is 400
  • +
  • Check Missing mandatory element
  • +
  • Check Error code 3101
  • +
+
Send Quote_SEND - 9- Destination FSP NOT FOUNDSend Quote_SEND - 9- Destination FSP NOT FOUND
(post /quotes)
+
    +
  • Response code is 202
  • +
  • Check Destination FSP Error - Unsupported participant
  • +
  • Check Error code 3201
  • +
+
Send Quote_SEND - 10 - PayeePartyIdentifier NOT FOUNDSend Quote_SEND - 10 - PayeePartyIdentifier NOT FOUND
(post /quotes)
+
    +
  • Response code is 400
  • +
  • Malformed sintax - Generic validation error
  • +
  • Check Error code 3100
  • +
  • Check partyIdentifier is included in Error description
  • +
+
Send Quote_SEND - 14 - Incorrect Switch Version HeaderSend Quote_SEND - 14 - Incorrect Switch Version Header
(post /quotes)
+
    +
  • Response code is 406
  • +
  • Check Unacceptable version requested error
  • +
  • Check Error code 3001
  • +
+
QuotesByID - 11 - Missing Condition FieldQuotesByID - 11 - Missing Condition Field
(put /quotes/{ID})
+
    +
  • Response code is 400
  • +
  • Missing mandatory element condition
  • +
+
QuotedById - 13a- 400- Missing Accept headerQuotedById - 13a- 400- Missing Accept header
(get /quotes/{ID})
+
    +
  • Response code is 400
  • +
  • Check Malformed syntax - Invalid accept header
  • +
  • Check error code 3101
  • +
+
QuotesById - 13b - 400-Missing FSPIOP-Source headerQuotesById - 13b - 400-Missing FSPIOP-Source header
(get /quotes/{ID})
+
    +
  • Response code is 400
  • +
  • Check Missing mandatory element
  • +
  • Check error code 3102
  • +
  • Error message fspiop-source is required
  • +
+
QuotesById - 13c - 400-Missing Date header (BUG)QuotesById - 13c - 400-Missing Date header (BUG)
(get /quotes/{ID})
+
    +
  • Response code is 400
  • +
  • Check Missing mandatory element
  • +
  • Check error code 3102
  • +
  • Error message date is required
  • +
+
Tests for Bugfix #998 - Quoting service not using most recent endpoint
Tests for Bugfix #998 - Quoting service not using most recent endpoint Add payeefsp request URL - QUOTES PUT with incorrect endpointAdd payeefsp request URL - QUOTES PUT with incorrect endpoint
(post /participants/{name}/endpoints)
+
    +
  • Response status to be 201
  • +
+
Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Test Passed - Because didn't get request at payeefsp request URL
  • +
+
Add payeefsp request URL - QUOTES PUT with correct endpointAdd payeefsp request URL - QUOTES PUT with correct endpoint
(post /participants/{name}/endpoints)
+
    +
  • Response status to be 201
  • +
+
Send quote CopySend quote Copy
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Ilppacket exist
  • +
  • condition exist
  • +
+
p2p_money_transfer_on_us
p2p_money_transfer_on_us Add Participant to ALSAdd Participant to ALS
(post /participants/{Type}/{ID})
+
    +
  • Response code should be 202
  • +
+
Add Party to SimulatorAdd Party to Simulator
(post /repository/parties)
+
Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be SEND
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
  • Payee FSPIOP-Source
  • +
  • Payee Content-Type
  • +
  • IlpPacket exists
  • +
  • confition exists
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED or check error
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
  • Check FSPIOP-Source
  • +
  • Payee Content-Type
  • +
  • Payee Body TransferId
  • +
  • Payee Body Amount
  • +
+
quoting_service
quoting_service Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be SEND
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
  • Payee FSPIOP-Source
  • +
  • Payee Content-Type
  • +
  • IlpPacket exists
  • +
  • confition exists
  • +
+
Get health status of Quoting ServiceGet health status of Quoting Service
(get /health)
+
    +
  • Response status to be 200
  • +
  • Response services to be an array
  • +
  • Expected services to have data store and status is OK
  • +
+
Get QuoteGet Quote
(get /quotes/{ID})
+
    +
  • Response status to be 202
  • +
+
Send quote - missing dateSend quote - missing date
(post /quotes)
+
    +
  • Response status to be 400
  • +
  • Check Error code 3102
  • +
  • Error message date is required
  • +
  • Missing mandatory element error
  • +
+
Send quote CopySend quote Copy
(post /quotes)
+
    +
  • Response status to be 400
  • +
  • Check Error code 3102
  • +
  • Check Missing mandatory element - Invalid accept header
  • +
+
Get Quote - Missing content typeGet Quote - Missing content type
(get /quotes/{ID})
+
    +
  • Response status to be 400
  • +
  • Missing mandatory element error
  • +
  • Check Error code 3102
  • +
+
Get Quote - Invalid content typeGet Quote - Invalid content type
(get /quotes/{ID})
+
    +
  • Response status to be 400
  • +
  • Check Malformed syntax error
  • +
  • Check Error code 3101
  • +
+
Authorizations
Authorizations Get authorizationsGet authorizations
(get /authorizations/{ID})
+
    +
  • Response status to be 202
  • +
+
authorizationsauthorizations
(put /authorizations/{ID})
+
    +
  • Response status to be 200
  • +
+
Error-framework-authorizations
Error-framework-authorizations Check retriesLeft missingCheck retriesLeft missing
(get /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check Missing mandatory element
  • +
  • Check Error code 3102
  • +
+
Check authenticationType missingCheck authenticationType missing
(get /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check Missing mandatory element
  • +
  • Check Error code 3102
  • +
+
Check currency missingCheck currency missing
(get /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check Missing mandatory element
  • +
  • Check Error code 3102
  • +
+
Check retriesLeft with non-number Check retriesLeft with non-number
(get /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check Malformed syntax
  • +
  • Check Error code 3101
  • +
+
Check retriesLeft with floating numberCheck retriesLeft with floating number
(get /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check Malformed syntax with floating retriesLeft
  • +
  • Check Error code 3101
  • +
+
Check wrong authentication typeCheck wrong authentication type
(get /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check Generic validation error
  • +
  • Check Error code 3100
  • +
+
Check accept header missingCheck accept header missing
(get /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check Missing mandatory element - Accept
  • +
  • Check Error code 3102
  • +
+
Check date missingCheck date missing
(get /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check Missing mandatory element
  • +
  • Check Error code 3102
  • +
+
Check fspiop-source missingCheck fspiop-source missing
(get /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check Generic validation error
  • +
  • Check Error code 3102
  • +
+
Check Content-type missingCheck Content-type missing
(get /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check missing mandatory element
  • +
  • Check Error code 3102
  • +
+
Check Unacceptable Content-type Check Unacceptable Content-type
(get /authorizations/{ID})
+
    +
  • Response status to be 406
  • +
  • Check missing mandatory element
  • +
  • Check Error code 3001
  • +
+
Check Authorizatons - wrong responseTypeCheck Authorizatons - wrong responseType
(put /authorizations/{ID})
+
    +
  • Response status to be 200
  • +
+
Check authentication missing - 400 - 3102 Error codeCheck authentication missing - 400 - 3102 Error code
(put /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check mandatory element missing
  • +
  • Check error code 3102
  • +
+
Check authenticationValue missing - 400 - 3102 Error codeCheck authenticationValue missing - 400 - 3102 Error code
(put /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check mandatory element missing
  • +
  • Check error code 3102
  • +
+
Check responseType missing - 400 - 3102 Error codeCheck responseType missing - 400 - 3102 Error code
(put /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check mandatory element missing
  • +
  • Check error code 3102
  • +
+
Check authorization with content-type header missingCheck authorization with content-type header missing
(put /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check mandatory element missing
  • +
  • Check error code 3102
  • +
+
Check authorization with date header missingCheck authorization with date header missing
(put /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check mandatory element missing
  • +
  • Check error code 3102
  • +
+
Check authorization with fspiop header missing Check authorization with fspiop header missing
(put /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check mandatory element missing
  • +
  • Check error code 3102
  • +
+
Check authorization with accept header missingCheck authorization with accept header missing
(put /authorizations/{ID})
+
    +
  • Response status to be 400
  • +
  • Check mandatory element missing
  • +
  • Check error code 3101
  • +
+
error-framework
error-framework Check transactionRequest state - invalid transactionidCheck transactionRequest state - invalid transactionid
(get /transactionRequests/{ID})
+
    +
  • Response code status 202
  • +
+
Payee initiate request - MIssing datePayee initiate request - MIssing date
(post /transactionRequests)
+
    +
  • Response code status 400
  • +
  • Error message date is required
  • +
  • Check Error code 3102
  • +
+
Payee initiate request - Missing fspiop-sourcePayee initiate request - Missing fspiop-source
(post /transactionRequests)
+
    +
  • Response code status 400
  • +
  • Error message fspiop-source is required
  • +
  • Check Error code 3102
  • +
+
Payee initiate request - Wrong content type versionPayee initiate request - Wrong content type version
(post /transactionRequests)
+
    +
  • Response code status 406
  • +
  • Error message Unacceptable version requested
  • +
  • Check Error code 3001
  • +
+
Payee initiate request - Unsupported Media TypePayee initiate request - Unsupported Media Type
(post /transactionRequests)
+
    +
  • Response code status 400
  • +
  • Check Malformed syntax - Unsupported Media Type
  • +
  • Check Error code 3101
  • +
+
received State
received State Payee initiate requestPayee initiate request
(post /transactionRequests)
+
    +
  • Response code status 202
  • +
  • transactionRequestState is RECEIVED
  • +
+
send RECEIVED statesend RECEIVED state
(put /transactionRequests/{ID})
+
    +
  • Response code status 200
  • +
  • check fsp source
  • +
  • check fsp destination
  • +
  • check method put
  • +
  • transactionId matches
  • +
+
Check transactionRequest stateCheck transactionRequest state
(get /transactionRequests/{ID})
+
    +
  • Response code status 202
  • +
  • transactionRequestState is RECEIVED
  • +
+
rejected State
rejected State Payee initiate requestPayee initiate request
(post /transactionRequests)
+
    +
  • Response code status 202
  • +
  • transactionRequestState is RECEIVED
  • +
+
send REJECTED statesend REJECTED state
(put /transactionRequests/{ID})
+
    +
  • Response code status 200
  • +
  • check fsp source
  • +
  • check fsp destination
  • +
  • check method put
  • +
  • transactionId matches
  • +
+
Check transactionRequest stateCheck transactionRequest state
(get /transactionRequests/{ID})
+
    +
  • Response code status 202
  • +
  • transactionRequestState is REJECTED
  • +
+
transaction_request_service
transaction_request_service transaction service healthtransaction service health
(get /health)
+
    +
  • Response status to be 200
  • +
+
Pre-settlement account activation per participant and currency
Pre-settlement account activation per participant and currency Get payerfsp account idGet payerfsp account id
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Account id not null
  • +
+
Active account for currency for payerfspActive account for currency for payerfsp
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Active account for currency2 for payerfspActive account for currency2 for payerfsp
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Get payeefsp account idGet payeefsp account id
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Account id not null
  • +
+
Active account for currency for payeefspActive account for currency for payeefsp
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Active account for currency2 for payeefspActive account for currency2 for payeefsp
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Get testfsp1 account idGet testfsp1 account id
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Account id not null
  • +
+
Active account for currency for testfsp1Active account for currency for testfsp1
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Active account for currency2 for testfsp1Active account for currency2 for testfsp1
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Get testfsp2 account idGet testfsp2 account id
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Account id not null
  • +
+
Active account for currency for testfsp2Active account for currency for testfsp2
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Active account for currency2 for testfsp2Active account for currency2 for testfsp2
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Create Settlement on the current open window
Create Settlement on the current open window Get Existing Open WindowGet Existing Open Window
(get /settlementWindows)
+
    +
  • Response status to be 200
  • +
  • State should be OPEN
  • +
+
Close existent windowClose existent window
(post /settlementWindows/{id})
+
    +
  • Status code is 200 or 400
  • +
  • New window State should be OPEN
  • +
+
Create Settlement for Closed Window in deferred settlement model for currencyCreate Settlement for Closed Window in deferred settlement model for currency
(post /settlements)
+
    +
  • Status code is 200
  • +
  • Settlement State should be PENDING_SETTLEMENT
  • +
  • Number of associated windows should be 1
  • +
  • Associated Settlement Window ID is the correct one
  • +
  • Associated Settlement Window state should be PENDING_SETTLEMENT
  • +
+
Prepare SettlementPrepare Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Reserve SettlementReserve Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Commit SettlementCommit Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Settle SettlementSettle Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Create Settlement for Closed Window in default deferred settlement model Create Settlement for Closed Window in default deferred settlement model
(post /settlements)
+
    +
  • Status code is 200
  • +
  • Settlement State should be PENDING_SETTLEMENT
  • +
  • Number of associated windows should be 1
  • +
  • Associated Settlement Window ID is the correct one
  • +
  • Associated Settlement Window state should be PENDING_SETTLEMENT
  • +
+
Prepare Settlement Default Settlement ModelPrepare Settlement Default Settlement Model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Reserve Settlement Default Settlement ModelReserve Settlement Default Settlement Model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Commit Settlement Default Settlement ModelCommit Settlement Default Settlement Model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Settle Settlement Default Settlement ModelSettle Settlement Default Settlement Model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
get settlements modelsget settlements models
(get /settlementModels)
+
    +
  • status code is 200
  • +
+
Store settlement and position balances before
Store settlement and position balances before get balances for testfsp1get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
get balances for testfsp2get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
get balances for payerfspget balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
get balances for payeefspget balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get Hub balancesGet Hub balances
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Send transfer $currency from SIM1 to SIM2
Send transfer $currency from SIM1 to SIM2 Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer $currency2 from SIM1 to PAYEEFSP
Send transfer $currency2 from SIM1 to PAYEEFSP Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer $currency from PAYERFSP to SIM1
Send transfer $currency from PAYERFSP to SIM1 Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer $currency2 from SIM2 to PAYERFSP
Send transfer $currency2 from SIM2 to PAYERFSP Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer $currency from PAYEEFSP to SIM2
Send transfer $currency from PAYEEFSP to SIM2 Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer $currency2 from PAYEEFSP to PAYERFSP
Send transfer $currency2 from PAYEEFSP to PAYERFSP Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Create Settlement on the current open window
Create Settlement on the current open window Get Existing Open WindowGet Existing Open Window
(get /settlementWindows)
+
    +
  • Response status to be 200
  • +
  • State should be OPEN
  • +
+
Close existent windowClose existent window
(post /settlementWindows/{id})
+
    +
  • Status code is 200 or 400
  • +
  • New window State should be OPEN
  • +
+
Create Settlement for Closed Window with Settlement Model for CurrencyCreate Settlement for Closed Window with Settlement Model for Currency
(post /settlements)
+
    +
  • Status code is 200
  • +
  • Settlement State should be PENDING_SETTLEMENT
  • +
  • Number of associated windows should be 1
  • +
  • Associated Settlement Window ID is the correct one
  • +
  • Associated Settlement Window state should be PENDING_SETTLEMENT
  • +
+
Create Settlement for Closed Window for Default Settlement ModelCreate Settlement for Closed Window for Default Settlement Model
(post /settlements)
+
    +
  • Status code is 200
  • +
  • Settlement State should be PENDING_SETTLEMENT
  • +
  • Number of associated windows should be 1
  • +
  • Associated Settlement Window ID is the correct one
  • +
  • Associated Settlement Window state should be PENDING_SETTLEMENT
  • +
+
Store Settlement&Position Account Balances After Transfers
Store Settlement&Position Account Balances After Transfers Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get balances for ttkdfspGet balances for ttkdfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Prepare-settlements
Prepare-settlements Prepare Settlement with deferred settlement model for currencyPrepare Settlement with deferred settlement model for currency
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after prepare deferred settlement modelcheck state for participants after prepare deferred settlement model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status PS_TRANSFERS_RECORDED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is PS_TRANSFERS_RECORDED for all accounts
  • +
+
Prepare Settlement with default settlement modelPrepare Settlement with default settlement model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after prepare default settlementcheck state for participants after prepare default settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status PS_TRANSFERS_RECORDED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is PS_TRANSFERS_RECORDED for all accounts
  • +
+
Store Settlement&Position Account Balances After Prepare
Store Settlement&Position Account Balances After Prepare Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp1 account balance before and after prepare should be the same
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp2 account balance before and after prepare should be the same
  • +
+
Get balances for payerfspGet balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payerfsp account balance before and after prepare should be the same
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payeefsp account balance before and after prepare should be the same
  • +
+
reserve-settlement
reserve-settlement reserve Settlement with Currency Deferred Settlement Modelreserve Settlement with Currency Deferred Settlement Model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after reserve with deferred settlement modelcheck state for participants after reserve with deferred settlement model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status PS_TRANSFERS_RESERVED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is PS_TRANSFERS_RESERVEDfor all accounts
  • +
+
reserve Settlement with default settlement modelreserve Settlement with default settlement model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after reserve with default settlement modelcheck state for participants after reserve with default settlement model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status PS_TRANSFERS_RESERVED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is PS_TRANSFERS_RESERVEDfor all accounts
  • +
+
Store Settlement&Position Account Balances After Reserve
Store Settlement&Position Account Balances After Reserve Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp1 account balance before and after reserve should be the same
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp2 account for currency balance before and after reserve should be the same
  • +
  • testfsp2 account for currency2 balance before and after reserve should be the same
  • +
+
Get balances for payerfspGet balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payerfsp account for currency balance before and after reserve should be the same
  • +
  • payerfsp account for currency2 balance before and after reserve should be the same
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payeefsp account for currency balance before and after Reserve should be the same
  • +
  • payeefsp account for currency 2 balance before and after Reserve should be the same
  • +
+
commit-settlement
commit-settlement commit Settlement with deferred settlement modelcommit Settlement with deferred settlement model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after commit deferred settlement modelcheck state for participants after commit deferred settlement model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status PS_TRANSFERS_COMMITTED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is PS_TRANSFERS_COMMITTED for all accounts
  • +
+
commit Settlement default settlement modelcommit Settlement default settlement model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after commit default settlement modelcheck state for participants after commit default settlement model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status PS_TRANSFERS_COMMITTED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is PS_TRANSFERS_COMMITTED for all accounts
  • +
+
Store Settlement&Position Account Balances After commit
Store Settlement&Position Account Balances After commit Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp1 account balance before and after Commit should be the same
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp2 account balance before and after Commit should be the same
  • +
+
Get balances for payerfspGet balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payerfsp account balance before and after Commit should be the same
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payeefsp account balance before and after Commit should be the same
  • +
+
hub account balance checkhub account balance check
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • hub reconciliation account balance before transfer and after commit should be the same.
  • +
+
settle-settlement
settle-settlement settle Settlement with deferred settlement modelsettle Settlement with deferred settlement model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after settle with deferred settlement modelcheck state for participants after settle with deferred settlement model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status SETTLED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is SETTLED for all accounts
  • +
+
settle Settlement default settlement modelsettle Settlement default settlement model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after settle default settlement modelcheck state for participants after settle default settlement model
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status SETTLED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is SETTLED for all accounts
  • +
+
Store Settlement&Position Account Balances After Settle
Store Settlement&Position Account Balances After Settle Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp1 account balance before and after Settle should be the same
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp2 account balance before and after Settle should be the same
  • +
+
Get balances for payerfspGet balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payerfsp account balance before and after Settle should be the same
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payeefsp settlement balance before and after Settle should be the same
  • +
+
Pre-settlement account activation per participant for $currency
Pre-settlement account activation per participant for $currency Get payerfsp account idGet payerfsp account id
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Account id not null
  • +
+
Active account for payerfspActive account for payerfsp
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Get payeefsp account idGet payeefsp account id
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Account id not null
  • +
+
Active account for payeefspActive account for payeefsp
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Get testfsp1 account id Get testfsp1 account id
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Account id not null
  • +
+
Active account for testfsp1Active account for testfsp1
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Get testfsp2 account id Get testfsp2 account id
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Account id not null
  • +
+
Active account for testfsp2Active account for testfsp2
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Create Settlement on the current open window
Create Settlement on the current open window Get Existing Open WindowGet Existing Open Window
(get /settlementWindows)
+
    +
  • Response status to be 200
  • +
  • State should be OPEN
  • +
+
Close existent windowClose existent window
(post /settlementWindows/{id})
+
    +
  • Status code is 200 or 400
  • +
  • New window State should be OPEN
  • +
+
Create Settlement for Closed WindowCreate Settlement for Closed Window
(post /settlements)
+
    +
  • Status code is 200
  • +
  • Settlement State should be PENDING_SETTLEMENT
  • +
  • Number of associated windows should be 1
  • +
  • Associated Settlement Window ID is the correct one
  • +
  • Associated Settlement Window state should be PENDING_SETTLEMENT
  • +
+
Prepare SettlementPrepare Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Reserve SettlementReserve Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Commit SettlementCommit Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Settle SettlementSettle Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Store settlement and position balances before
Store settlement and position balances before get balances for testfsp1get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
get balances for testfsp2get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
get balances for payerfspget balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
get balances for payeefspget balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get Hub balancesGet Hub balances
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Send transfer in $currency from SIM1 to SIM2
Send transfer in $currency from SIM1 to SIM2 Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer in $currency from SIM1 to PAYEEFSP
Send transfer in $currency from SIM1 to PAYEEFSP Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer in $currency from PAYERFSP to SIM1
Send transfer in $currency from PAYERFSP to SIM1 Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer in $currency from SIM2 to PAYERFSP
Send transfer in $currency from SIM2 to PAYERFSP Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer in $currency from PAYEEFSP to SIM2
Send transfer in $currency from PAYEEFSP to SIM2 Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer in $currency from PAYEEFSP to PAYERFSP
Send transfer in $currency from PAYEEFSP to PAYERFSP Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Create Settlement on the current open window
Create Settlement on the current open window Get Existing Open WindowGet Existing Open Window
(get /settlementWindows)
+
    +
  • Response status to be 200
  • +
  • State should be OPEN
  • +
+
Close existent windowClose existent window
(post /settlementWindows/{id})
+
    +
  • Status code is 200 or 400
  • +
  • New window State should be OPEN
  • +
+
Create Settlement for Closed WindowCreate Settlement for Closed Window
(post /settlements)
+
    +
  • Status code is 200
  • +
  • Settlement State should be PENDING_SETTLEMENT
  • +
  • Number of associated windows should be 1
  • +
  • Associated Settlement Window ID is the correct one
  • +
  • Associated Settlement Window state should be PENDING_SETTLEMENT
  • +
+
Store Settlement&Position Account Balances After Transfers
Store Settlement&Position Account Balances After Transfers Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get balances for ttkdfspGet balances for ttkdfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Prepare-settlement
Prepare-settlement Prepare SettlementPrepare Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after preparecheck state for participants after prepare
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status PS_TRANSFERS_RECORDED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is PS_TRANSFERS_RECORDED for all accounts
  • +
+
Store Settlement&Position Account Balances After Prepare
Store Settlement&Position Account Balances After Prepare Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp1 settlement account balance before and after prepare should be the same
  • +
  • testfsp1 position account balance before and after prepare should be the same.
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp2 settlement account balance before and after prepare should be the same
  • +
  • testfsp2 position account balance before and after prepare should be the same.
  • +
+
Get balances for payerfspGet balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payerfsp settlement account balance before and after prepare should be the same
  • +
  • payerfsp position account balance before and after prepare should be the same.
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payeefsp settlement account balance before and after prepare should be the same
  • +
  • payeefsp position account balance before and after prepare should be the same.
  • +
+
reserve-settlement
reserve-settlement reserve Settlementreserve Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after preparecheck state for participants after prepare
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status PS_TRANSFERS_RESERVED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is PS_TRANSFERS_RESERVEDfor all accounts
  • +
+
Store Settlement&Position Account Balances After Reserve
Store Settlement&Position Account Balances After Reserve Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp1 settlement account balance before and after reserve should be the same
  • +
  • testfsp1 position account balance before and after reserve should be the same.
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp2 settlement account balance before and after reserve should be the same
  • +
  • testfsp2 position account balance before and after reserve should be the same.
  • +
+
Get balances for payerfspGet balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payerfsp settlement account balance before and after reserve should be the same
  • +
  • payerfsp position account balance before and after reserve should be the same.
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payeefsp settlement account balance before and after Reserve should be the same
  • +
  • payeefsp position account balance before and after Reserve should be the same.
  • +
+
commit-settlement
commit-settlement commit Settlementcommit Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after commitcheck state for participants after commit
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status PS_TRANSFERS_COMMITTED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is PS_TRANSFERS_COMMITTED for all accounts
  • +
+
Store Settlement&Position Account Balances After commit
Store Settlement&Position Account Balances After commit Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp1 settlement account balance before and after Commit should be the same
  • +
  • testfsp1 position account balance before and after Commit should be the same.
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp2 settlement account balance before and after Commit should be the same
  • +
  • testfsp2 position account balance before and after Commit should be the same.
  • +
+
Get balances for payerfspGet balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payerfsp settlement account balance before and after Commit should be the same
  • +
  • payerfsp position account balance before and after Commit should be the same.
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payeefsp settlement account balance before and after Commit should be the same
  • +
  • payeefsp position account balance before and after Commit should be the same.
  • +
+
hub account balance checkhub account balance check
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • hub reconciliation account balance before transfer and after commit should be the same.
  • +
  • hub multilateral account balance before transfer and after commit should be the same.
  • +
+
settle-settlement
settle-settlement settle Settlementsettle Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after commitcheck state for participants after commit
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status SETTLED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is SETTLED for all accounts
  • +
+
Store Settlement&Position Account Balances After Settle
Store Settlement&Position Account Balances After Settle Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp1 settlement account balance before and after Settle should be the same
  • +
  • testfsp1 position account balance before and after Settle should be the same.
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp2 settlement account balance before and after Settle should be the same
  • +
  • testfsp2 position account balance before and after Settle should be the same.
  • +
+
Get balances for payerfspGet balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payerfsp settlement account balance before and after Settle should be the same
  • +
  • payerfsp position account balance before and after Settle should be the same.
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payeefsp settlement account balance before and after Settle should be the same
  • +
  • payeefsp position account balance before and after Settle should be the same.
  • +
+
Pre-settlement account activation per participant for $currency2
Pre-settlement account activation per participant for $currency2 Get payerfsp account idGet payerfsp account id
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Account id not null
  • +
+
Active account for payerfspActive account for payerfsp
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Get payeefsp account idGet payeefsp account id
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Account id not null
  • +
+
Active account for payeefspActive account for payeefsp
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Get testfsp1 account id Get testfsp1 account id
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Account id not null
  • +
+
Active account for testfsp1Active account for testfsp1
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Get testfsp2 account id Get testfsp2 account id
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • Account id not null
  • +
+
Active account for testfsp2Active account for testfsp2
(put /participants/{name}/accounts/{id})
+
    +
  • Response code is 200
  • +
+
Create Settlement on the current open window
Create Settlement on the current open window Get Existing Open WindowGet Existing Open Window
(get /settlementWindows)
+
    +
  • Response status to be 200
  • +
  • State should be OPEN
  • +
+
Close existent windowClose existent window
(post /settlementWindows/{id})
+
    +
  • Status code is 200 or 400
  • +
  • New window State should be OPEN
  • +
+
Create Settlement for Closed WindowCreate Settlement for Closed Window
(post /settlements)
+
    +
  • Status code is 200
  • +
  • Settlement State should be PENDING_SETTLEMENT
  • +
  • Number of associated windows should be 1
  • +
  • Associated Settlement Window ID is the correct one
  • +
  • Associated Settlement Window state should be PENDING_SETTLEMENT
  • +
+
Prepare SettlementPrepare Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Reserve SettlementReserve Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Commit SettlementCommit Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Settle SettlementSettle Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
Store settlement and position balances before
Store settlement and position balances before get balances for testfsp1get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
get balances for testfsp2get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
get balances for payerfspget balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
get balances for payeefspget balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get Hub balancesGet Hub balances
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Send transfer from SIM1 to SIM2 in $currency2
Send transfer from SIM1 to SIM2 in $currency2 Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer from SIM1 to PAYEEFSP in $currency2
Send transfer from SIM1 to PAYEEFSP in $currency2 Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer from PAYERFSP to SIM1 in $currency2
Send transfer from PAYERFSP to SIM1 in $currency2 Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer from SIM2 to PAYERFSP in $currency2
Send transfer from SIM2 to PAYERFSP in $currency2 Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer from PAYEEFSP to SIM2 in $currency2
Send transfer from PAYEEFSP to SIM2 in $currency2 Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Send transfer from PAYEEFSP to PAYERFSP in $currency2
Send transfer from PAYEEFSP to PAYERFSP in $currency2 Send quoteSend quote
(post /quotes)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback body should contain transferAmount
  • +
  • Callback transferAmount (amount & currency)to match the request
  • +
  • Callback content-type to be quotes
  • +
  • Request amountType to be RECEIVE
  • +
  • Request transactionType scenario to be TRANSFER
  • +
  • Request transactionType initiator to be PAYER
  • +
  • Request transactionType initiatorType to be CONSUMER
  • +
+
Send transferSend transfer
(post /transfers)
+
    +
  • Response status to be 202
  • +
  • Response statusText be Accepted
  • +
  • Callback Content Length not 0
  • +
  • Callback FSP Destination equal to request FSP Source
  • +
  • Callback transferState to be COMMITTED
  • +
  • Callback content-type to be transfers
  • +
  • Request transferId same as quote request transferId
  • +
  • Request transferAmount (amount & currency) to match quote request
  • +
  • Request FSP source the same as quote callback FSP destination
  • +
+
Create Settlement on the current open window
Create Settlement on the current open window Get Existing Open WindowGet Existing Open Window
(get /settlementWindows)
+
    +
  • Response status to be 200
  • +
  • State should be OPEN
  • +
+
Close existent windowClose existent window
(post /settlementWindows/{id})
+
    +
  • Status code is 200 or 400
  • +
  • New window State should be OPEN
  • +
+
Create Settlement for Closed WindowCreate Settlement for Closed Window
(post /settlements)
+
    +
  • Status code is 200
  • +
  • Settlement State should be PENDING_SETTLEMENT
  • +
  • Number of associated windows should be 1
  • +
  • Associated Settlement Window ID is the correct one
  • +
  • Associated Settlement Window state should be PENDING_SETTLEMENT
  • +
+
Store Settlement&Position Account Balances After Transfers
Store Settlement&Position Account Balances After Transfers Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get balances for ttkdfspGet balances for ttkdfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Prepare-settlement
Prepare-settlement Prepare SettlementPrepare Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after preparecheck state for participants after prepare
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status PS_TRANSFERS_RECORDED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is PS_TRANSFERS_RECORDED for all accounts
  • +
+
Store Settlement&Position Account Balances After Prepare
Store Settlement&Position Account Balances After Prepare Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp1 settlement account balance before and after prepare should be the same
  • +
  • testfsp1 position account balance before and after prepare should be the same.
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp2 settlement account balance before and after prepare should be the same
  • +
  • testfsp2 position account balance before and after prepare should be the same.
  • +
+
Get balances for payerfspGet balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payerfsp settlement account balance before and after prepare should be the same
  • +
  • payerfsp position account balance before and after prepare should be the same.
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payeefsp settlement account balance before and after prepare should be the same
  • +
  • payeefsp position account balance before and after prepare should be the same.
  • +
+
reserve-settlement
reserve-settlement reserve Settlementreserve Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after preparecheck state for participants after prepare
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status PS_TRANSFERS_RESERVED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is PS_TRANSFERS_RESERVEDfor all accounts
  • +
+
Store Settlement&Position Account Balances After Reserve
Store Settlement&Position Account Balances After Reserve Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp1 settlement account balance before and after reserve should be the same
  • +
  • testfsp1 position account balance before and after reserve should be the same.
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp2 settlement account balance before and after reserve should be the same
  • +
  • testfsp2 position account balance before and after reserve should be the same.
  • +
+
Get balances for payerfspGet balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payerfsp settlement account balance before and after reserve should be the same
  • +
  • payerfsp position account balance before and after reserve should be the same.
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payeefsp settlement account balance before and after Reserve should be the same
  • +
  • payeefsp position account balance before and after Reserve should be the same.
  • +
+
commit-settlement
commit-settlement commit Settlementcommit Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after commitcheck state for participants after commit
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status PS_TRANSFERS_COMMITTED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is PS_TRANSFERS_COMMITTED for all accounts
  • +
+
Store Settlement&Position Account Balances After commit
Store Settlement&Position Account Balances After commit Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp1 settlement account balance before and after Commit should be the same
  • +
  • testfsp1 position account balance before and after Commit should be the same.
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp2 settlement account balance before and after Commit should be the same
  • +
  • testfsp2 position account balance before and after Commit should be the same.
  • +
+
Get balances for payerfspGet balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payerfsp settlement account balance before and after Commit should be the same
  • +
  • payerfsp position account balance before and after Commit should be the same.
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payeefsp settlement account balance before and after Commit should be the same
  • +
  • payeefsp position account balance before and after Commit should be the same.
  • +
+
hub account balance checkhub account balance check
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • hub reconciliation account balance before transfer and after commit should be the same.
  • +
  • hub multilateral account balance before transfer and after commit should be the same.
  • +
+
settle-settlement
settle-settlement settle Settlementsettle Settlement
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
+
check state for participants after commitcheck state for participants after commit
(get /settlements/{id})
+
    +
  • Response code status is 200
  • +
  • Check status SETTLED
  • +
  • Check status for window is PENDING SETTLEMENT
  • +
  • Account state is SETTLED for all accounts
  • +
+
Store Settlement&Position Account Balances After Settle
Store Settlement&Position Account Balances After Settle Get balances for testfsp1Get balances for testfsp1
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp1 settlement account balance before and after Settle should be the same
  • +
  • testfsp1 position account balance before and after Settle should be the same.
  • +
+
Get balances for testfsp2Get balances for testfsp2
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • testfsp2 settlement account balance before and after Settle should be the same
  • +
  • testfsp2 position account balance before and after Settle should be the same.
  • +
+
Get balances for payerfspGet balances for payerfsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payerfsp settlement account balance before and after Settle should be the same
  • +
  • payerfsp position account balance before and after Settle should be the same.
  • +
+
Get balances for payeefspGet balances for payeefsp
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
  • payeefsp settlement account balance before and after Settle should be the same
  • +
  • payeefsp position account balance before and after Settle should be the same.
  • +
+
api-tests/admin-api-tests
api-tests/admin-api-tests Get participants listGet participants list
(get /participants)
+
    +
  • Response code is 200
  • +
+
Get participantGet participant
(get /participants/{name})
+
    +
  • Response code is 200
  • +
+
Get Hub accountGet Hub account
(get /participants/{name}/accounts)
+
    +
  • Response code is 200
  • +
+
Get participants endpointsGet participants endpoints
(get /participants/{name}/endpoints)
+
    +
  • Response code is 200
  • +
+
Get limits all FSPsGet limits all FSPs
(get /participants/limits)
+
    +
  • Response code is 200
  • +
+
Get participant positionGet participant position
(get /participants/{name}/positions)
+
    +
  • Response code is 200
  • +
  • Atleast one account position should be returned
  • +
+
api-tests/quotes
api-tests/quotes FNLN-Send Quotes - missing FNFNLN-Send Quotes - missing FN
(post /quotes)
+
    +
  • Response code 202
  • +
  • Callback Validate JWS
  • +
  • Payee Side Request Header - fspiop-source is same
  • +
  • Payee Side Request Header - fspiop-destination is same
  • +
  • Payee Side Request Header - fspiop-signature is same
  • +
  • Payee Side Request Header - accept is same
  • +
  • Payee Side Request Header - content-type is same
  • +
  • Payee Side Request Header - fspiop-uri is same
  • +
  • Payee Side Request Header - fspiop-http-method is same
  • +
  • Callback Header - fspiop-source is fspiop-destination in request
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - quoteId is null
  • +
  • Callback Body - ilpPacket is not null
  • +
  • Callback Body - condition is not nul
  • +
+
FNLN-Send Quotes - missing LNFNLN-Send Quotes - missing LN
(post /quotes)
+
    +
  • Response code 202
  • +
  • Callback Validate JWS
  • +
  • Payee Side Request Header - fspiop-source is same
  • +
  • Payee Side Request Header - fspiop-destination is same
  • +
  • Payee Side Request Header - fspiop-signature is same
  • +
  • Payee Side Request Header - accept is same
  • +
  • Payee Side Request Header - content-type is same
  • +
  • Payee Side Request Header - fspiop-uri is same
  • +
  • Payee Side Request Header - fspiop-http-method is same
  • +
  • Callback Header - fspiop-source is fspiop-destination in request
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - quoteId is null
  • +
  • Callback Body - ilpPacket is not null
  • +
  • Callback Body - condition is not nul
  • +
+
FNLN-Send Quotes - Invalid Lastname (not string)FNLN-Send Quotes - Invalid Lastname (not string)
(post /quotes)
+
    +
  • Response code 400
  • +
  • Error code is 3100
  • +
  • ERROR msg is Malformed Payer Lastname
  • +
+
FNLN-Send Quotes - Payer personal info missingFNLN-Send Quotes - Payer personal info missing
(post /quotes)
+
    +
  • Response code 202
  • +
  • Callback Validate JWS
  • +
  • Payee Side Request Header - fspiop-source is same
  • +
  • Payee Side Request Header - fspiop-destination is same
  • +
  • Payee Side Request Header - fspiop-signature is same
  • +
  • Payee Side Request Header - accept is same
  • +
  • Payee Side Request Header - content-type is same
  • +
  • Payee Side Request Header - fspiop-uri is same
  • +
  • Payee Side Request Header - fspiop-http-method is same
  • +
  • Callback Header - fspiop-source is fspiop-destination in request
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - quoteId is null
  • +
  • Callback Body - ilpPacket is not null
  • +
  • Callback Body - condition is not nul
  • +
+
FNLN-Send Quotes - String payerFN (Mats123)FNLN-Send Quotes - String payerFN (Mats123)
(post /quotes)
+
    +
  • Response code 202
  • +
  • Callback Validate JWS
  • +
  • Payee Side Request Header - fspiop-source is same
  • +
  • Payee Side Request Header - fspiop-destination is same
  • +
  • Payee Side Request Header - fspiop-signature is same
  • +
  • Payee Side Request Header - accept is same
  • +
  • Payee Side Request Header - content-type is same
  • +
  • Payee Side Request Header - fspiop-uri is same
  • +
  • Payee Side Request Header - fspiop-http-method is same
  • +
  • Callback Header - fspiop-source is fspiop-destination in request
  • +
  • Callback Header - fspiop-desination is fspiop-source in request
  • +
  • Callback Header - content-type is application/vnd.interoperability.quotes+json;version=1.0
  • +
  • Callback Header - accept is empty
  • +
  • Callback Header - fspiop-uri is /quotes/quoteId
  • +
  • Callback Header - fspiop-http-method is PUT
  • +
  • Callback Body - quoteId is null
  • +
  • Callback Body - ilpPacket is not null
  • +
  • Callback Body - condition is not nul
  • +
+
FNLN-Send Quote - String payerFN (Mats123@#$)FNLN-Send Quote - String payerFN (Mats123@#$)
(post /quotes)
+
    +
  • Response code 400
  • +
  • Error code is 3100
  • +
  • ERROR msg is Malformed Payer Lastname
  • +
+
api-tests/Quotes/DOB
api-tests/Quotes/DOB Send Quote - Malformed DOBSend Quote - Malformed DOB
(post /quotes)
+
    +
  • Response code should be 400
  • +
  • Error code 3100
  • +
  • Malformed DOB from payer
  • +
+
Send Quote - Empty string DOBSend Quote - Empty string DOB
(post /quotes)
+
    +
  • Response code should be 400
  • +
  • Error code 3100
  • +
  • Malformed DOB from payer
  • +
+
Send Quote - null string DOBSend Quote - null string DOB
(post /quotes)
+
    +
  • Response code should be 400
  • +
  • Error code 3100
  • +
  • Malformed DOB from payer
  • +
+
Send Quote - null DOBSend Quote - null DOB
(post /quotes)
+
    +
  • Response code should be 400
  • +
  • Error code 3100
  • +
  • Malformed DOB from payer
  • +
+
Send Quote - Invalid DOB formatSend Quote - Invalid DOB format
(post /quotes)
+
    +
  • Response code should be 400
  • +
  • Error code 3100
  • +
  • Malformed DOB from payer
  • +
+
Send Quote - MIssing DOB on payer objectSend Quote - MIssing DOB on payer object
(post /quotes)
+
    +
  • Response code should be 400
  • +
  • Error code 3100
  • +
  • Malformed DOB from payer
  • +
+
Send Quote - Malformed DOB2Send Quote - Malformed DOB2
(post /quotes)
+
    +
  • Response code should be 400
  • +
  • Error code 3100
  • +
  • Malformed DOB from payer
  • +
+
Send Quote - Malformed DOB3Send Quote - Malformed DOB3
(post /quotes)
+
    +
  • Response code should be 400
  • +
  • Error code 3100
  • +
  • Malformed DOB from payer
  • +
+
api-tests/SettlementWindows
api-tests/SettlementWindows Window- state (OPEN)Window- state (OPEN)
(get /settlementWindows)
+
    +
  • Response status to be 200
  • +
  • Check state for window is OPEN
  • +
+
ValidRequest - closedWindowByIdValidRequest - closedWindowById
(get /settlementWindows/{id})
+
    +
  • Response status to be 200
  • +
+
Bad Request-CloseWindowBad Request-CloseWindow
(post /settlementWindows/{id})
+
    +
  • Response status to be 400
  • +
+
Window- state (SETTLED)Window- state (SETTLED)
(get /settlementWindows)
+
    +
  • Response status to be 200
  • +
  • Check state for window is SETTLED
  • +
+
+ + + From 9461bcbb19a4ca45622fa842a80eba77a32ed5d9 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 10 Aug 2021 20:22:06 +0530 Subject: [PATCH 2/2] create a new definitions folder for test case definitions --- .../TTK-Testcase-Definition-GP-v13.0.1.html | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {collections/hub/golden_path => definitions}/TTK-Testcase-Definition-GP-v13.0.1.html (100%) diff --git a/collections/hub/golden_path/TTK-Testcase-Definition-GP-v13.0.1.html b/definitions/TTK-Testcase-Definition-GP-v13.0.1.html similarity index 100% rename from collections/hub/golden_path/TTK-Testcase-Definition-GP-v13.0.1.html rename to definitions/TTK-Testcase-Definition-GP-v13.0.1.html