Skip to content

Commit 0492f18

Browse files
committed
FINERACT-2553: Modernize UserHelper and RolesHelper with Fineract-Client
1 parent 5956214 commit 0492f18

2 files changed

Lines changed: 207 additions & 192 deletions

File tree

integration-tests/src/test/java/org/apache/fineract/integrationtests/useradministration/roles/RolesHelper.java

Lines changed: 52 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,14 @@
1818
*/
1919
package org.apache.fineract.integrationtests.useradministration.roles;
2020

21-
import com.google.gson.Gson;
22-
import com.google.gson.reflect.TypeToken;
23-
import io.restassured.specification.RequestSpecification;
24-
import io.restassured.specification.ResponseSpecification;
25-
import java.lang.reflect.Type;
21+
22+
23+
24+
import static org.mockito.Mockito.description;
25+
import org.apache.fineract.client.models.PostRolesRoleIdPermissionsRequest;
26+
27+
import org.apache.fineract.client.models.PostRolesRoleIdPermissionsResponse;
28+
2629
import java.util.HashMap;
2730
import java.util.List;
2831
import java.util.Map;
@@ -32,7 +35,11 @@
3235
import org.apache.fineract.client.util.JSON;
3336
import org.apache.fineract.integrationtests.common.FineractClientHelper;
3437
import org.apache.fineract.integrationtests.common.Utils;
35-
import org.apache.fineract.useradministration.data.PermissionData;
38+
import org.apache.fineract.useradministration.api.PermissionsApiResourceSwagger.GetPermissionsResponse;
39+
import org.apache.fineract.useradministration.api.RolesApiResourceSwagger.GetRolesRoleIdResponse;
40+
import org.apache.fineract.useradministration.api.RolesApiResourceSwagger.PostRolesRequest;
41+
import org.apache.fineract.useradministration.api.RolesApiResourceSwagger.PostRolesResponse;
42+
3643

3744
public final class RolesHelper {
3845

@@ -42,91 +49,71 @@ public RolesHelper() {
4249

4350
}
4451

45-
private static final String CREATE_ROLE_URL = "/fineract-provider/api/v1/roles?" + Utils.TENANT_IDENTIFIER;
46-
private static final String ROLE_URL = "/fineract-provider/api/v1/roles";
47-
private static final String PERMISSIONS_URL = "/fineract-provider/api/v1/permissions";
48-
private static final String DISABLE_ROLE_COMMAND = "disable";
49-
private static final String ENABLE_ROLE_COMMAND = "enable";
50-
51-
private static final Gson GSON = new JSON().getGson();
52-
5352
// TODO: Rewrite to use fineract-client instead!
5453
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
5554
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
56-
@Deprecated(forRemoval = true)
57-
public static Integer createRole(final RequestSpecification requestSpec, final ResponseSpecification responseSpec) {
58-
return Utils.performServerPost(requestSpec, responseSpec, CREATE_ROLE_URL, getTestCreateRoleAsJSON(), "resourceId");
55+
56+
57+
//new method createRole by fiegn
58+
public static Long createRole(){
59+
PostRolesRequest request=new PostRolesRequest()
60+
.name(Utils.uniqueRandomStringGenerator("Role_",4 ))
61+
.description("New Role");
62+
63+
PostRolesResponse response=Calls.ok(FineractClientHelper.getFineractClient().roles.createRole(request));
64+
return response.getResourceId();
5965
}
6066

6167
// TODO: Rewrite to use fineract-client instead!
6268
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
6369
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
64-
@Deprecated(forRemoval = true)
65-
public static String getTestCreateRoleAsJSON() {
66-
final HashMap<String, String> map = new HashMap<>();
67-
map.put("name", Utils.uniqueRandomStringGenerator("Role_Name_", 5));
68-
map.put("description", Utils.randomStringGenerator("Role_Description_", 10));
69-
return new Gson().toJson(map);
70-
}
70+
public static PostRolesRequest buildDefaultRoleRequest(){
71+
return new PostRolesRequest()
72+
.name(Utils.uniqueRandomStringGenerator("Role_Name_",5))
73+
.description(Utils.randomStringGenerator("Role_Description_", 10));
74+
}
7175

7276
// TODO: Rewrite to use fineract-client instead!
7377
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
7478
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
75-
@Deprecated(forRemoval = true)
76-
public static HashMap<String, Object> getRoleDetails(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
77-
final Integer roleId) {
78-
final String GET_ROLE_URL = "/fineract-provider/api/v1/roles/" + roleId + "?" + Utils.TENANT_IDENTIFIER;
79-
return Utils.performServerGet(requestSpec, responseSpec, GET_ROLE_URL, "");
80-
}
79+
public static GetRolesRoleIdResponse getRoleDetails(final Long roleId){
80+
return Calls.ok(FineractClientHelper.getFineractClient().roles.retrieveRole(roleId));
81+
}
8182

8283
// TODO: Rewrite to use fineract-client instead!
8384
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
8485
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
85-
@Deprecated(forRemoval = true)
86-
public static Integer disableRole(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
87-
final Integer roleId) {
88-
return Utils.performServerPost(requestSpec, responseSpec, createRoleOperationURL(DISABLE_ROLE_COMMAND, roleId), "", "resourceId");
89-
}
86+
public static Integer disableRole(final Long roleId){
87+
return Calls.ok(FineractClientHelper.getFineractClient().roles.disableRole(roleId)).getResourceId();
88+
}
9089

9190
// TODO: Rewrite to use fineract-client instead!
9291
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
9392
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
94-
@Deprecated(forRemoval = true)
95-
public static Integer enableRole(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
96-
final Integer roleId) {
97-
return Utils.performServerPost(requestSpec, responseSpec, createRoleOperationURL(ENABLE_ROLE_COMMAND, roleId), "", "resourceId");
93+
public static Integer enableRole(final Long roleId){
94+
return Calls.ok(FineractClientHelper.getFineractClient().roles.enableRole(roleId)).getResourceId();
9895
}
9996

10097
// TODO: Rewrite to use fineract-client instead!
10198
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
10299
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
103-
@Deprecated(forRemoval = true)
104-
public static Integer deleteRole(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
105-
final Integer roleId) {
106-
return Utils.performServerDelete(requestSpec, responseSpec, createRoleOperationURL(ENABLE_ROLE_COMMAND, roleId), "resourceId");
107-
}
100+
public static Integer deleteRole(final Long roleId){
101+
return Calls.ok(FineractClientHelper.getFineractClient().roles.deleteRole(roleId)).getResourceId();
102+
}
108103

109104
// TODO: Rewrite to use fineract-client instead!
110105
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
111106
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
112-
@Deprecated(forRemoval = true)
113-
public static String addPermissionsToRole(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
114-
final Integer roleId, final Map<String, Boolean> permissionMap) {
115-
return Utils.performServerPut(requestSpec, responseSpec, ROLE_URL + "/" + roleId + "/permissions?" + Utils.TENANT_IDENTIFIER,
116-
getAddPermissionsToRoleJSON(permissionMap));
117-
}
107+
public static PostRolesRoleIdPermissionsResponse addPermissionsToRole(final Long roleId,final PostRolesRoleIdPermissionsRequest request){
108+
return Calls.ok(FineractClientHelper.getFineractClient().roles.updateRolePermissions(roleId,request));
109+
}
118110

119111
// TODO: Rewrite to use fineract-client instead!
120112
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
121113
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
122-
@Deprecated(forRemoval = true)
123-
public static List<PermissionData> getPermissions(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
124-
boolean makerCheckerable) {
125-
String response = Utils.performServerGet(requestSpec, responseSpec,
126-
PERMISSIONS_URL + "?" + makerCheckerable + "=" + makerCheckerable);
127-
final Type listType = new TypeToken<List<PermissionData>>() {}.getType();
128-
return GSON.fromJson(response, listType);
129-
}
114+
public static List<GetPermissionsResponse> getPermissions(final Boolean makerCheckerable){
115+
return Calls.ok(FineractClientHelper.getFineractClient().permissions.retrieveAllPermissions(makerCheckerable));
116+
}
130117

131118
public CommandProcessingResult updatePermissions(PutPermissionsRequest request) {
132119
return Calls.ok(FineractClientHelper.getFineractClient().permissions.updatePermissionsDetails(request));
@@ -135,18 +122,15 @@ public CommandProcessingResult updatePermissions(PutPermissionsRequest request)
135122
// TODO: Rewrite to use fineract-client instead!
136123
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
137124
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
138-
@Deprecated(forRemoval = true)
139-
private static String getAddPermissionsToRoleJSON(Map<String, Boolean> permissionMap) {
140-
final HashMap<String, Map<String, Boolean>> map = new HashMap<>();
141-
map.put("permissions", permissionMap);
142-
return new Gson().toJson(map);
143-
}
125+
public static PostRolesRoleIdPermissionsResponse addPermissionsToRole(final Long roleId, final Map<String, Boolean> permissionMap) {
126+
PostRolesRoleIdPermissionsRequest request = new PostRolesRoleIdPermissionsRequest()
127+
.permissions(permissionMap);
128+
129+
return Calls.ok(FineractClientHelper.getFineractClient().roles.updateRolePermissions(roleId, request));
130+
}
144131

145132
// TODO: Rewrite to use fineract-client instead!
146133
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
147134
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
148-
@Deprecated(forRemoval = true)
149-
private static String createRoleOperationURL(final String command, final Integer roleId) {
150-
return ROLE_URL + "/" + roleId + "?command=" + command + "&" + Utils.TENANT_IDENTIFIER;
151-
}
135+
152136
}

0 commit comments

Comments
 (0)