diff --git a/app/api/services/__init__.py b/app/api/services/__init__.py
index 7a9d5fc..3b9978d 100644
--- a/app/api/services/__init__.py
+++ b/app/api/services/__init__.py
@@ -10,9 +10,4 @@ from app.api.services.penal_charge import PenalChargeService
from app.api.services.lien_check import LienCheckService
from app.api.services.status_call import StatusCallService
from app.api.services.sms import SMSService
-from app.api.services.bulk_sms import BulkSMSService
-
-# from app.api.services.revoke_enable_consent import RevokeEnableConsentService
-# from app.api.services.token_validation import TokenValidationService
-# from app.api.services.new_transaction_check import NewTransactionCheckService
-# from app.api.services.status_call import StatusCallService
\ No newline at end of file
+from app.api.services.bulk_sms import BulkSMSService
\ No newline at end of file
diff --git a/jmeter/first_advance.jmx b/jmeter/first_advance.jmx
index b456d16..b52d2e0 100644
--- a/jmeter/first_advance.jmx
+++ b/jmeter/first_advance.jmx
@@ -1,5 +1,5 @@
-
+
@@ -12,36 +12,29 @@
-
- continue
-
- false
- 1
-
- 5
- 5
- false
-
-
+
+ 5
+ 5
true
+ continue
+
+ 1
+ false
+
-
-
-
+
+ 10000
+ 30000
+ devcore.digifi.chiefsoft.net
+ http
+ /v1/api/salary
+
- devcore.digifi.chiefsoft.net
-
- https
-
- /v1/api/salary
- 6
- 10000
- 30000
+
-
@@ -55,7 +48,6 @@
-
@@ -69,8 +61,6 @@
false
-
-
@@ -156,38 +146,27 @@
-
-
-
+
+ /RACCheck
+ true
+ POST
+ true
true
false
- {
- "transactionId": "${transactionId}",
- "fbnTransactionId": "${transactionId}",
- "customerId": "${customerId}",
- "accountId": "${accountId}",
- "RAC_Array": ["SalaryAccount", "BVN", "BVNAttachedtoAccount", "CRC", "CRMS", "AccountStatus", "Lien", "NoBouncedCheck", "Whitelist", "NoPastDueSalaryLoan", "NoPastDueOtherLoan"]
+ {
+ "transactionId": "${transactionId}",
+ "fbnTransactionId": "${transactionId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "RAC_Array": ["SalaryAccount", "BVN", "BVNAttachedtoAccount", "CRC", "CRMS", "AccountStatus", "Lien", "NoBouncedCheck", "Whitelist", "NoPastDueSalaryLoan", "NoPastDueOtherLoan"]
}
=
-
-
-
-
- /RACCheck
- POST
- true
- false
- true
- false
-
-
-
@@ -197,7 +176,6 @@
Failed
-
200
@@ -208,7 +186,6 @@
8
-
$.RACResponse
@@ -219,36 +196,25 @@
-
-
+ /LienCheck
+ true
+ POST
+ true
true
false
- {
- "transactionId": "${transactionId}",
- "customerId": "${customerId}",
- "accountId": "${accountId}"
+ {
+ "transactionId": "${transactionId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}"
}
=
-
-
-
-
- /LienCheck
- POST
- true
- false
- true
- false
-
-
-
@@ -258,7 +224,6 @@
0
-
lienCheckResultCode
$.resultCode
@@ -266,7 +231,6 @@
99
-
200
@@ -277,7 +241,6 @@
8
-
$.resultCode
00
@@ -288,39 +251,28 @@
-
-
+ /EligibilityCheck
+ true
+ POST
+ true
true
false
- {
- "transactionId": "${transactionId}",
- "countryCode": "${countryCode}",
- "customerId": "${customerId}",
- "accountId": "${accountId}",
- "msisdn": "${msisdn}",
- "channel": "${channel}"
+ {
+ "transactionId": "${transactionId}",
+ "countryCode": "${countryCode}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "msisdn": "${msisdn}",
+ "channel": "${channel}"
}
=
-
-
-
-
- /EligibilityCheck
- POST
- true
- false
- true
- false
-
-
-
@@ -330,7 +282,6 @@
101
-
eligibilityResultCode
$.resultCode
@@ -338,7 +289,6 @@
99
-
200
@@ -349,7 +299,6 @@
8
-
$.resultCode
00
@@ -359,7 +308,6 @@
false
-
$.eligibleOffers
@@ -370,48 +318,36 @@
-
-
- ${__jexl3("${eligibilityResultCode}" == "00")}
+ ${__jexl3("${eligibilityResultCode}" == "00")}
false
true
-
+ /SelectOffer
+ true
+ POST
+ true
true
false
- {
- "requestId": "${requestId}",
- "transactionId": "${transactionId}",
- "customerId": "${customerId}",
- "accountId": "${accountId}",
- "msisdn": "${msisdn}",
- "requestedAmount": ${requestedAmount},
- "productId": "${productId}",
- "channel": "${channel}"
+ {
+ "requestId": "${requestId}",
+ "transactionId": "${transactionId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "msisdn": "${msisdn}",
+ "requestedAmount": ${requestedAmount},
+ "productId": "${productId}",
+ "channel": "${channel}"
}
=
-
-
-
-
- /SelectOffer
- POST
- true
- false
- true
- false
-
-
-
@@ -421,7 +357,6 @@
99
-
loanAmount
$.loan[0].amount
@@ -429,7 +364,6 @@
${requestedAmount}
-
interestAmount
$.loan[0].Interest
@@ -437,7 +371,6 @@
300
-
managementFee
$.loan[0].ManagementFee
@@ -445,7 +378,6 @@
100
-
insuranceFee
$.loan[0].InsuranceFee
@@ -453,7 +385,6 @@
100
-
vatAmount
$.loan[0].VATamount
@@ -461,7 +392,6 @@
75
-
200
@@ -472,7 +402,6 @@
8
-
$.resultCode
00
@@ -482,7 +411,6 @@
false
-
$.loan
@@ -493,50 +421,38 @@
-
-
- ${__jexl3("${selectOfferResultCode}" == "00")}
+ ${__jexl3("${selectOfferResultCode}" == "00")}
false
true
-
+ /ProvideLoan
+ true
+ POST
+ true
true
false
- {
- "requestId": "${requestId}",
- "transactionId": "${transactionId}",
- "customerId": "${customerId}",
- "accountId": "${accountId}",
- "msisdn": "${msisdn}",
- "productId": "${productId}",
- "requestedAmount": ${loanAmount},
- "collectionType": 0,
- "offerId": ${offerId},
- "channel": "${channel}"
+ {
+ "requestId": "${requestId}",
+ "transactionId": "${transactionId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "msisdn": "${msisdn}",
+ "productId": "${productId}",
+ "requestedAmount": ${loanAmount},
+ "collectionType": 0,
+ "offerId": ${offerId},
+ "channel": "${channel}"
}
=
-
-
-
-
- /ProvideLoan
- POST
- true
- false
- true
- false
-
-
-
@@ -546,7 +462,6 @@
99
-
200
@@ -557,7 +472,6 @@
8
-
$.resultCode
00
@@ -567,7 +481,6 @@
false
-
$.transactionId
${transactionId}
@@ -578,43 +491,31 @@
-
-
- ${__jexl3("${provideLoanResultCode}" == "00")}
+ ${__jexl3("${provideLoanResultCode}" == "00")}
false
true
-
+ /SMS
+ true
+ POST
+ true
true
false
- {
- "text": "Your loan application with ID ${transactionId} has been approved. Amount: ${loanAmount}. Thank you for choosing our service.",
- "dest": "${phoneNumber}",
- "unicode": false
+ {
+ "text": "Your loan application with ID ${transactionId} has been approved. Amount: ${loanAmount}. Thank you for choosing our service.",
+ "dest": "${phoneNumber}",
+ "unicode": false
}
=
-
-
-
-
- /SMS
- POST
- true
- false
- true
- false
-
-
-
@@ -624,7 +525,6 @@
500
-
200
@@ -635,7 +535,6 @@
8
-
$.IsSuccessful
true
@@ -646,49 +545,38 @@
-
-
+ /Disbursement
+ true
+ POST
+ true
true
false
- {
- "requestId": "${requestId}_disburse",
- "countryCode": "${countryCode}",
- "transactionId": "${transactionId}",
- "debtId": "DID${__time(yyyyMMddHHmmss)}${__threadNum}",
- "customerId": "${customerId}",
- "accountId": "${accountId}",
- "productId": "${productId}",
- "provideAmount": ${loanAmount},
- "totalFees": ${__jexl3(${interestAmount} + ${managementFee} + ${insuranceFee} + ${vatAmount})},
- "feesDetails": {
- "collectAmountInterest": ${interestAmount},
- "collectAmountMgtFee": ${managementFee},
- "collectAmountInsurance": ${insuranceFee},
- "collectAmountVAT": ${vatAmount}
- },
- "countryId": "${countryId}"
+ {
+ "requestId": "${requestId}_disburse",
+ "countryCode": "${countryCode}",
+ "transactionId": "${transactionId}",
+ "debtId": "DID${__time(yyyyMMddHHmmss)}${__threadNum}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "productId": "${productId}",
+ "provideAmount": ${loanAmount},
+ "totalFees": ${__jexl3(${interestAmount} + ${managementFee} + ${insuranceFee} + ${vatAmount})},
+ "feesDetails": {
+ "collectAmountInterest": ${interestAmount},
+ "collectAmountMgtFee": ${managementFee},
+ "collectAmountInsurance": ${insuranceFee},
+ "collectAmountVAT": ${vatAmount}
+ },
+ "countryId": "${countryId}"
}
=
-
-
-
-
- /Disbursement
- POST
- true
- false
- true
- false
-
-
-
@@ -698,7 +586,6 @@
99
-
debtId
$.debtId
@@ -706,7 +593,6 @@
0
-
200
@@ -717,7 +603,6 @@
8
-
$.resultCode
00
@@ -728,39 +613,28 @@
-
-
+ /StatusCall
+ true
+ POST
+ true
true
false
- {
- "requestId": "${requestId}_status",
- "countryCode": "${countryCode}",
- "transactionId": "${transactionId}",
- "debtId": "${debtId}",
- "transactionType": "Disbursement",
- "customerId": "${customerId}"
+ {
+ "requestId": "${requestId}_status",
+ "countryCode": "${countryCode}",
+ "transactionId": "${transactionId}",
+ "debtId": "${debtId}",
+ "transactionType": "Disbursement",
+ "customerId": "${customerId}"
}
=
-
-
-
-
- /StatusCall
- POST
- true
- false
- true
- false
-
-
-
@@ -770,7 +644,6 @@
99
-
200
@@ -781,7 +654,6 @@
8
-
$.resultCode
00
@@ -791,7 +663,6 @@
false
-
$.data
@@ -802,40 +673,29 @@
-
-
+ /TransactionVerify
+ true
+ POST
+ true
true
false
- {
- "requestId": "${requestId}_verify",
- "countryCode": "${countryCode}",
- "counter": "${counter}",
- "transactionId": "${transactionId}",
- "customerId": "${customerId}",
- "accountId": "${accountId}",
- "transactionType": "Disbursement"
+ {
+ "requestId": "${requestId}_verify",
+ "countryCode": "${countryCode}",
+ "counter": "${counter}",
+ "transactionId": "${transactionId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "transactionType": "Disbursement"
}
=
-
-
-
-
- /TransactionVerify
- POST
- true
- false
- true
- false
-
-
-
@@ -845,7 +705,6 @@
99
-
200
@@ -856,7 +715,6 @@
8
-
$.resultCode
00
@@ -866,7 +724,6 @@
false
-
$.transactionType
Disbursement
@@ -877,37 +734,26 @@
-
-
+ /LoanStatus
+ true
+ POST
+ true
true
false
- {
- "transactionId": "${transactionId}",
- "customerId": "${customerId}",
- "msisdn": "${msisdn}",
- "channel": "${channel}"
+ {
+ "transactionId": "${transactionId}",
+ "customerId": "${customerId}",
+ "msisdn": "${msisdn}",
+ "channel": "${channel}"
}
=
-
-
-
-
- /LoanStatus
- POST
- true
- false
- true
- false
-
-
-
@@ -917,7 +763,6 @@
99
-
loanDebtId
$.loans[0].debtId
@@ -925,7 +770,6 @@
${debtId}
-
currentLoanAmount
$.loans[0].currentLoanAmount
@@ -933,7 +777,6 @@
${loanAmount}
-
200
@@ -944,7 +787,6 @@
8
-
$.resultCode
00
@@ -954,7 +796,6 @@
false
-
$.loans
@@ -965,48 +806,36 @@
-
-
- ${__jexl3("${loanStatusResultCode}" == "00" and "${loanDebtId}" != "0")}
+ ${__jexl3("${loanStatusResultCode}" == "00" and "${loanDebtId}" != "0")}
false
true
-
+ /PenalCharge
+ true
+ POST
+ true
true
false
- {
- "transactionId": "PC${__time(yyyyMMddHHmmss)}${__threadNum}",
- "fbnTransactionId": "${transactionId}",
- "debtId": "${loanDebtId}",
- "customerId": "${customerId}",
- "accountId": "${accountId}",
- "penalCharge": ${penalChargeAmount},
- "lienAmount": ${penalChargeAmount},
- "comment": "Penal charge via JMeter test"
+ {
+ "transactionId": "PC${__time(yyyyMMddHHmmss)}${__threadNum}",
+ "fbnTransactionId": "${transactionId}",
+ "debtId": "${loanDebtId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "penalCharge": ${penalChargeAmount},
+ "lienAmount": ${penalChargeAmount},
+ "comment": "Penal charge via JMeter test"
}
=
-
-
-
-
- /PenalCharge
- POST
- true
- false
- true
- false
-
-
-
@@ -1016,7 +845,6 @@
99
-
200
@@ -1027,7 +855,6 @@
8
-
$.resultCode
00
@@ -1038,43 +865,32 @@
-
-
+ /BulkSMS
+ true
+ POST
+ true
true
false
- [
- {
- "text": "A penal charge of ${penalChargeAmount} has been applied to your loan account ${loanDebtId}. Please contact customer service for details.",
- "dest": "${phoneNumber}",
- "unicode": true
- },
- {
- "text": "Reminder: Your loan repayment is due soon. Please ensure sufficient funds in your account to avoid additional charges.",
- "dest": "${phoneNumber}",
- "unicode": true
- }
+ [
+ {
+ "text": "A penal charge of ${penalChargeAmount} has been applied to your loan account ${loanDebtId}. Please contact customer service for details.",
+ "dest": "${phoneNumber}",
+ "unicode": true
+ },
+ {
+ "text": "Reminder: Your loan repayment is due soon. Please ensure sufficient funds in your account to avoid additional charges.",
+ "dest": "${phoneNumber}",
+ "unicode": true
+ }
]
=
-
-
-
-
- /BulkSMS
- POST
- true
- false
- true
- false
-
-
-
@@ -1084,7 +900,6 @@
500
-
200
@@ -1095,7 +910,6 @@
8
-
$.IsSuccessful
true
@@ -1106,45 +920,34 @@
-
-
+ /CollectLoan
+ true
+ POST
+ true
true
false
- {
- "transactionId": "CL${__time(yyyyMMddHHmmss)}${__threadNum}",
- "fbnTransactionId": "${transactionId}",
- "debtId": "${loanDebtId}",
- "customerId": "${customerId}",
- "accountId": "${accountId}",
- "productId": "${productId}",
- "collectAmount": ${currentLoanAmount},
- "penalCharge": ${penalChargeAmount},
- "collectionMethod": ${collectionMethod},
- "lienAmount": ${currentLoanAmount},
- "countryId": "${countryId}",
- "comment": "Collection via JMeter test"
+ {
+ "transactionId": "CL${__time(yyyyMMddHHmmss)}${__threadNum}",
+ "fbnTransactionId": "${transactionId}",
+ "debtId": "${loanDebtId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "productId": "${productId}",
+ "collectAmount": ${currentLoanAmount},
+ "penalCharge": ${penalChargeAmount},
+ "collectionMethod": ${collectionMethod},
+ "lienAmount": ${currentLoanAmount},
+ "countryId": "${countryId}",
+ "comment": "Collection via JMeter test"
}
=
-
-
-
-
- /CollectLoan
- POST
- true
- false
- true
- false
-
-
-
@@ -1154,7 +957,6 @@
99
-
collectionTransactionId
$.transactionId
@@ -1162,7 +964,6 @@
0
-
200
@@ -1173,7 +974,6 @@
8
-
$.resultCode
00
@@ -1183,7 +983,6 @@
false
-
$.debtId
${loanDebtId}
@@ -1194,40 +993,29 @@
-
-
+ /TransactionVerify
+ true
+ POST
+ true
true
false
- {
- "requestId": "${requestId}_verify_collection",
- "countryCode": "${countryCode}",
- "counter": "${counter}",
- "transactionId": "${collectionTransactionId}",
- "customerId": "${customerId}",
- "accountId": "${accountId}",
- "transactionType": "Collection"
+ {
+ "requestId": "${requestId}_verify_collection",
+ "countryCode": "${countryCode}",
+ "counter": "${counter}",
+ "transactionId": "${collectionTransactionId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "transactionType": "Collection"
}
=
-
-
-
-
- /TransactionVerify
- POST
- true
- false
- true
- false
-
-
-
@@ -1237,7 +1025,6 @@
99
-
200
@@ -1248,7 +1035,6 @@
8
-
$.resultCode
00
@@ -1258,7 +1044,6 @@
false
-
$.transactionType
Collection
@@ -1269,36 +1054,25 @@
-
-
+ /SMS
+ true
+ POST
+ true
true
false
- {
- "text": "Your loan repayment of ${currentLoanAmount} has been successfully processed. Thank you for your payment.",
- "dest": "${phoneNumber}",
- "unicode": false
+ {
+ "text": "Your loan repayment of ${currentLoanAmount} has been successfully processed. Thank you for your payment.",
+ "dest": "${phoneNumber}",
+ "unicode": false
}
=
-
-
-
-
- /SMS
- POST
- true
- false
- true
- false
-
-
-
@@ -1308,7 +1082,6 @@
500
-
200
@@ -1319,7 +1092,6 @@
8
-
$.IsSuccessful
true
@@ -1330,45 +1102,34 @@
-
-
+ /Repayment
+ true
+ POST
+ true
true
false
- {
- "requestId": "${requestId}_repay",
- "countryCode": "${countryCode}",
- "transactionId": "${transactionId}",
- "debtId": "${loanDebtId}",
- "customerId": "${customerId}",
- "accountId": "${accountId}",
- "productId": "${productId}",
- "collectedAmount": ${currentLoanAmount},
- "penalCharge": ${penalChargeAmount},
- "collectionMethod": ${collectionMethod},
- "lienAmount": ${currentLoanAmount},
- "comment": "Repayment via JMeter test"
+ {
+ "requestId": "${requestId}_repay",
+ "countryCode": "${countryCode}",
+ "transactionId": "${transactionId}",
+ "debtId": "${loanDebtId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "productId": "${productId}",
+ "collectedAmount": ${currentLoanAmount},
+ "penalCharge": ${penalChargeAmount},
+ "collectionMethod": ${collectionMethod},
+ "lienAmount": ${currentLoanAmount},
+ "comment": "Repayment via JMeter test"
}
=
-
-
-
-
- /Repayment
- POST
- true
- false
- true
- false
-
-
-
@@ -1378,7 +1139,6 @@
99
-
200
@@ -1389,7 +1149,6 @@
8
-
$.resultCode
00
@@ -1399,7 +1158,6 @@
false
-
$.debtId
${loanDebtId}
@@ -1414,9 +1172,7 @@
-
-
-
+
false
saveConfig
@@ -1453,8 +1209,7 @@
-
-
+
false
saveConfig
@@ -1491,8 +1246,7 @@
-
-
+
false
saveConfig
@@ -1532,4 +1286,4 @@
-
\ No newline at end of file
+
diff --git a/jmeter/simbrella_complete_api_jwt_test.jmx b/jmeter/simbrella_complete_api_jwt_test.jmx
new file mode 100644
index 0000000..f137ccc
--- /dev/null
+++ b/jmeter/simbrella_complete_api_jwt_test.jmx
@@ -0,0 +1,1077 @@
+
+
+
+
+ true
+
+
+
+ BASE_URL
+ localhost
+ =
+
+
+ PORT
+ 5000
+ =
+
+
+ API_PATH
+ /v1/api/salary
+ =
+
+
+
+
+
+
+ 1
+ 1
+ true
+ continue
+
+ -1
+ false
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ /Authorize
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "username": "your_username",
+ "password": "your_password"
+}
+ =
+
+
+
+
+
+
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+ jwtToken
+ $.token
+ 1
+ NO_TOKEN
+
+
+
+
+ false
+ true
+ false
+
+
+
+
+ 1
+ 1
+ true
+ continue
+
+ -1
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${jwtToken}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/EligibilityCheck
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "transactionId": "Tr${__time()}",
+ "countryCode": "NGR",
+ "customerId": "CN${__Random(100000,999999)}",
+ "accountId": "ACN${__Random(1000000,9999999)}",
+ "msisdn": "801${__Random(1000000,9999999)}",
+ "channel": "100"
+}
+ =
+
+
+
+
+
+
+ transactionId
+ $.transactionId
+ 1
+ NO_TRANSACTION_ID
+
+
+
+ customerId
+ $.customerId
+ 1
+ NO_CUSTOMER_ID
+
+
+
+ accountId
+ $.accountId
+ 1
+ ACN8263457
+
+
+
+ msisdn
+ $.msisdn
+ 1
+ 8012345678
+
+
+
+ countryCode
+ $.countryCode
+ 1
+ NGR
+
+
+
+ offerId
+ $.eligibleOffers[0].offerId
+ 1
+ 101
+
+
+
+ productId
+ $.eligibleOffers[0].productId
+ 1
+ 2030
+
+
+
+ maxAmount
+ $.eligibleOffers[0].maxAmount
+ 1
+ 5000
+
+
+
+ $.resultCode
+ 00
+ true
+ false
+ false
+ false
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/RACCheck
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "transactionId": "T${__time()}",
+ "fbnTransactionId": "${transactionId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "RAC_Array": ["SalaryAccount", "BVN", "BVNAttachedtoAccount", "CRC", "CRMS", "AccountStatus", "Lien", "NoBouncedCheck", "Whitelist", "NoPastDueSalaryLoan", "NoPastDueOtherLoan"]
+}
+ =
+
+
+
+
+
+
+ $.resultDescription
+ RAC Check Successful
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/SelectOffer
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "requestId": "REQ${__time()}",
+ "transactionId": "${transactionId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "msisdn": "${msisdn}",
+ "requestedAmount": "${maxAmount}",
+ "productId": "${productId}",
+ "channel": "USSD"
+}
+ =
+
+
+
+
+
+
+ requestId
+ $.requestId
+ 1
+ REQ${__time()}
+
+
+
+ $.resultCode
+ 00
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/ProvideLoan
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "requestId": "${requestId}",
+ "transactionId": "${transactionId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "msisdn": "${msisdn}",
+ "productId": "${productId}",
+ "requestedAmount": "${maxAmount}",
+ "collectionType": 0,
+ "offerId": ${offerId},
+ "channel": "USSD"
+}
+ =
+
+
+
+
+
+
+ $.resultCode
+ 00
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/Disbursement
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "requestId": "${requestId}",
+ "countryCode": "${countryCode}",
+ "transactionId": "${transactionId}",
+ "debtId": "D${__time()}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "productId": "${productId}",
+ "provideAmount": "${maxAmount}",
+ "totalFees": 7075, "${accountId}",
+ "productId": "${productId}",
+ "provideAmount": "${maxAmount}",
+ "totalFees": 7075,
+ "feesDetails": {
+ "collectAmountInterest": 5000,
+ "collectAmountMgtFee": 1000,
+ "collectAmountInsurance": 1000,
+ "collectAmountVAT": 75
+ },
+ "countryId": "01"
+}
+ =
+
+
+
+
+
+
+ debtId
+ $.debtId
+ 1
+ D${__time()}
+
+
+
+ $.resultCode
+ 00
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/LienCheck
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "transactionId": "LC${__time()}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}"
+}
+ =
+
+
+
+
+
+
+ lienAmount
+ $.lienAmount
+ 1
+ 0
+
+
+
+ $.resultCode
+ 00
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/StatusCall
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "requestId": "SC${__time()}",
+ "countryCode": "${countryCode}",
+ "transactionId": "${transactionId}",
+ "debtId": "${debtId}",
+ "transactionType": "Disbursement",
+ "customerId": "${customerId}"
+}
+ =
+
+
+
+
+
+
+ $.resultCode
+ 00
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/SMS
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "text": "Your loan of ${maxAmount} has been approved and disbursed to your account. Thank you for using our service.",
+ "dest": "+${msisdn}",
+ "unicode": false
+}
+ =
+
+
+
+
+
+
+ $.statusCode
+ 200
+ true
+ false
+ false
+ false
+
+
+
+ $.IsSuccessful
+ true
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/BulkSMS
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ [
+ {
+ "text": "Your loan of ${maxAmount} has been approved and disbursed to your account. Thank you for using our service.",
+ "dest": "+${msisdn}",
+ "unicode": true
+ },
+ {
+ "text": "Reminder: Your loan repayment is due in 7 days. Please ensure sufficient funds in your account.",
+ "dest": "+${msisdn}",
+ "unicode": true
+ },
+ {
+ "text": "Important: Your loan application has been processed successfully. Contact customer service for any inquiries.",
+ "dest": "+${msisdn}",
+ "unicode": true
+ }
+]
+ =
+
+
+
+
+
+
+ $.statusCode
+ 200
+ true
+ false
+ false
+ false
+
+
+
+ $.IsSuccessful
+ true
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/TransactionVerify
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "requestId": "TV${__time()}",
+ "countryCode": "${countryCode}",
+ "counter": "1",
+ "transactionId": "${transactionId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "transactionType": "Disbursement"
+}
+ =
+
+
+
+
+
+
+ $.resultCode
+ 00
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/LoanStatus
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "transactionId": "${transactionId}",
+ "customerId": "${customerId}",
+ "msisdn": "${msisdn}",
+ "channel": "USSD"
+}
+ =
+
+
+
+
+
+
+ $.resultCode
+ 00
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+ loanDetails
+ $.loans
+ 1
+ NO_LOANS
+
+
+
+ currentLoanAmount
+ $.loans[0].currentLoanAmount
+ 1
+ ${maxAmount}
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/CollectLoan
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "transactionId": "CL${__time()}",
+ "fbnTransactionId": "${transactionId}",
+ "debtId": "${debtId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "productId": "${productId}",
+ "collectAmount": "${currentLoanAmount}",
+ "penalCharge": 0,
+ "collectionMethod": 3,
+ "lienAmount": "${currentLoanAmount}",
+ "countryId": "01",
+ "comment": 0,
+ "collectionMethod": 3,
+ "lienAmount": "${currentLoanAmount}",
+ "countryId": "01",
+ "comment": "Collection via JMeter test"
+}
+ =
+
+
+
+
+
+
+ $.resultCode
+ 00
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/TransactionVerify
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "requestId": "TV${__time()}",
+ "countryCode": "${countryCode}",
+ "counter": "1",
+ "transactionId": "${transactionId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "transactionType": "Collection"
+}
+ =
+
+
+
+
+
+
+ $.resultCode
+ 00
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/PenalCharge
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "transactionId": "PC${__time()}",
+ "fbnTransactionId": "${transactionId}",
+ "debtId": "${debtId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "penalCharge": 100.0,
+ "lienAmount": 100.0,
+ "comment": "Penal charge via JMeter test"
+}
+ =
+
+
+
+
+
+
+ $.resultCode
+ 00
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/TransactionVerify
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "requestId": "TV${__time()}",
+ "countryCode": "${countryCode}",
+ "counter": "1",
+ "transactionId": "${transactionId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "transactionType": "Penalty"
+}
+ =
+
+
+
+
+
+
+ $.resultCode
+ 00
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ ${BASE_URL}
+ ${PORT}
+ http
+ ${API_PATH}/Repayment
+ true
+ POST
+ true
+ true
+
+
+
+ false
+ {
+ "requestId": "R${__time()}",
+ "countryCode": "${countryCode}",
+ "transactionId": "${transactionId}",
+ "debtId": "${debtId}",
+ "customerId": "${customerId}",
+ "accountId": "${accountId}",
+ "productId": "${productId}",
+ "collectedAmount": "${currentLoanAmount}",
+ "penalCharge": 0,
+ "collectionMethod": 3,
+ "lienAmount": "${currentLoanAmount}",
+ "comment": "Repayment via JMeter test"
+}
+ =
+
+
+
+
+
+
+ $.resultCode
+ 00
+ true
+ false
+ false
+ false
+
+
+
+
+ 200
+
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+