Skip to content

Commit f3c56dc

Browse files
authored
Merge pull request #917 from Ashi1993/consent-put-test
[OB4] [Test] Adding internal consent update API tests
2 parents c5c19d8 + 3f63820 commit f3c56dc

File tree

5 files changed

+495
-0
lines changed

5 files changed

+495
-0
lines changed

fs-integration-test-suite/accelerator-test-framework/src/main/groovy/org/wso2/financial/services/accelerator/test/framework/FSConnectorTest.groovy

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,12 @@ class FSConnectorTest extends CommonTest{
7474
String code
7575
String denyResponse
7676
Response consentResponse
77+
Response consentUpdateResponse
7778
Response consentRevocationResponse
7879
Response consentValidateResponse
7980
Response accountValidationResponse
8081
String consentPath
82+
String consentUpdatePath
8183
String initiationPayload
8284
String initiationIncorrectPayload = RequestPayloads.initiationIncorrectPayload
8385
String initiationPayloadPayloadWithoutReadAccountsDetail = RequestPayloads.initiationPayloadWithoutReadAccountsDetail
@@ -702,6 +704,18 @@ class FSConnectorTest extends CommonTest{
702704
return consentRevocationResponse
703705
}
704706

707+
/**
708+
* Account Consent Update.
709+
*/
710+
void doConsentUpdate(String payload, String consentId) {
711+
712+
consentUpdateResponse = consentRequestBuilder.buildKeyManagerRequest(configuration.getAppInfoClientID())
713+
.header(ConnectorTestConstants.X_WSO2_INTERNAL_HEADER, "true")
714+
.body(payload)
715+
.baseUri(configuration.getISServerUrl())
716+
.put(consentUpdatePath + "/${consentId}")
717+
}
718+
705719
/**Consent Authorisation.
706720
*
707721
* @param clientId

fs-integration-test-suite/accelerator-test-framework/src/main/groovy/org/wso2/financial/services/accelerator/test/framework/constant/AccountsRequestPayloads.groovy

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,73 @@ class AccountsRequestPayloads {
160160
}
161161
""".stripIndent()
162162

163+
static String getAccountConsentUpdatePayload(String consentId) {
164+
return """
165+
{
166+
"status": "AwaitingAuthorisation",
167+
"validityPeriod": ${ConnectorTestConstants.expirationInstant.toEpochSecond()},
168+
"recurringIndicator": true,
169+
"consentFrequency": 0,
170+
"receipt": "{\\"Data\\": {\\"Permissions\\": [\\"ReadAccountsBasic\\",\\"ReadAccountsDetail\\",\\"ReadBalances\\"],\\"ExpirationDateTime\\": \\"${ConnectorTestConstants.expirationInstant}\\",\\"TransactionFromDateTime\\": \\"${ConnectorTestConstants.fromInstant}\\",\\"TransactionToDateTime\\": \\"${ConnectorTestConstants.toInstant}\\"},\\"Risk\\": { }}",
171+
"consentAttributes": {
172+
"key1": "value1",
173+
"key2": "value2"
174+
},
175+
"authorizationResources": [
176+
{
177+
"userID": "admin@wso2.com",
178+
"authorizationType": "auth",
179+
"authorizationStatus": "Created",
180+
"resources": [
181+
{
182+
"accountID": "1962368",
183+
"permission": "account",
184+
"mappingStatus": "active"
185+
}
186+
]
187+
}
188+
]
189+
}
190+
""".stripIndent()
191+
}
192+
193+
static String getAccountConsentStatusUpdatePayload(String consentId) {
194+
return """
195+
{
196+
"status": "Rejected",
197+
}
198+
""".stripIndent()
199+
}
200+
201+
static String getAccountBasicConsentUpdatePayload(String consentId) {
202+
return """
203+
{
204+
"status": "Rejected",
205+
"validityPeriod": ${ConnectorTestConstants.expirationInstant.toEpochSecond()},
206+
"recurringIndicator": true,
207+
"consentFrequency": 0,
208+
"receipt": "{\\"Data\\": {\\"Permissions\\": [\\"ReadAccountsBasic\\",\\"ReadAccountsDetail\\",\\"ReadBalances\\"],\\"ExpirationDateTime\\": \\"${ConnectorTestConstants.expirationInstant}\\",\\"TransactionFromDateTime\\": \\"${ConnectorTestConstants.fromInstant}\\",\\"TransactionToDateTime\\": \\"${ConnectorTestConstants.toInstant}\\"},\\"Risk\\": { }}",
209+
}
210+
""".stripIndent()
211+
}
212+
213+
static String getAccountConsentUpdatePayloadWithNullAuthorizations(String consentId) {
214+
return """
215+
{
216+
"status": "Rejected",
217+
"validityPeriod": ${ConnectorTestConstants.expirationInstant.toEpochSecond()},
218+
"recurringIndicator": true,
219+
"consentFrequency": 0,
220+
"receipt": "{\\"Data\\": {\\"Permissions\\": [\\"ReadAccountsBasic\\",\\"ReadAccountsDetail\\",\\"ReadBalances\\"],\\"ExpirationDateTime\\": \\"${ConnectorTestConstants.expirationInstant}\\",\\"TransactionFromDateTime\\": \\"${ConnectorTestConstants.fromInstant}\\",\\"TransactionToDateTime\\": \\"${ConnectorTestConstants.toInstant}\\"},\\"Risk\\": { }}",
221+
"consentAttributes": {
222+
"key1": "value1",
223+
"key2": "value2"
224+
},
225+
"authorizationResources": null
226+
}
227+
""".stripIndent()
228+
}
229+
163230
/**
164231
* Build Validation Payload
165232
* @param clientId - Client Id

fs-integration-test-suite/accelerator-test-framework/src/main/groovy/org/wso2/financial/services/accelerator/test/framework/constant/ConnectorTestConstants.groovy

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ class ConnectorTestConstants extends Constants{
5757
public static final String PAYMENTS_TYPE = "payments"
5858
public static final String COF_TYPE = "cof"
5959
public static final String X_WSO2_MUTUAL_CERT = "x-wso2-mutual-auth-cert"
60+
public static final String X_WSO2_INTERNAL_HEADER = "x-wso2-internal-request"
6061
public static final String CHARSET = "charset"
6162
public static final String CHARSET_TYPE = "UTF-8"
6263
public static final String X_FAPI_INTERACTION_ID = "x-fapi-interaction-id"
@@ -217,6 +218,7 @@ class ConnectorTestConstants extends Constants{
217218
static final String IS_VALID = "isValid"
218219
static final String CONSENT_ID_INVALID_ERROR = "Consent ID invalid"
219220
static final String API_REQUEST_NOT_FOUND = "No matching resource found for given API Request"
221+
static final String CONSENT_UPDATE_PATH = CONSENT_API + "/consent"
220222

221223
//Internal Rest API Url
222224
static final String SP_INTERNAL_ENDPOINT = "/t/carbon.super/api/server/v1/applications"

0 commit comments

Comments
 (0)