Skip to content

Commit efbbd18

Browse files
authored
Merge pull request #11362 from IQSS/11191-assign-role-api-error-message
Change to duplicate role assignment error message
2 parents 97d2cbf + c8379a1 commit efbbd18

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
### Modify Assign Role API error message
2+
3+
Change error message from specifying 'User' and 'Dataverse' since it is used for groups and Datasets as well
4+
Generic message: datasets.api.grant.role.assignee.has.role.error=Role has already been granted.
5+
6+
Note: Re-Translation needed.

src/main/java/propertyFiles/Bundle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2801,7 +2801,7 @@ datasets.api.datasize.ioerror=Fatal IO error while trying to determine the total
28012801
datasets.api.grant.role.not.found.error=Cannot find role named ''{0}'' in dataverse {1}
28022802
datasets.api.grant.role.cant.create.assignment.error=Cannot create assignment: {0}
28032803
datasets.api.grant.role.assignee.not.found.error=Assignee not found
2804-
datasets.api.grant.role.assignee.has.role.error=User already has this role for this dataset
2804+
datasets.api.grant.role.assignee.has.role.error=Role has already been granted.
28052805
datasets.api.revoke.role.not.found.error="Role assignment {0} not found"
28062806
datasets.api.revoke.role.success=Role {0} revoked for assignee {1} in {2}
28072807
datasets.api.privateurl.error.datasetnotfound=Could not find dataset.

src/test/java/edu/harvard/iq/dataverse/api/DatasetsIT.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,13 @@ public void testCreateDataset() {
301301
Response grantRole = UtilIT.grantRoleOnDataverse(dataverseAlias, DataverseRole.DS_CONTRIBUTOR, AuthenticatedUsers.get().getIdentifier(), apiToken);
302302
grantRole.prettyPrint();
303303
assertEquals(OK.getStatusCode(), grantRole.getStatusCode());
304-
304+
// Test duplicate grant
305+
grantRole = UtilIT.grantRoleOnDataverse(dataverseAlias, DataverseRole.DS_CONTRIBUTOR, AuthenticatedUsers.get().getIdentifier(), apiToken);
306+
grantRole.prettyPrint();
307+
grantRole.then().assertThat()
308+
.body("message", containsString(BundleUtil.getStringFromBundle("datasets.api.grant.role.assignee.has.role.error")))
309+
.statusCode(FORBIDDEN.getStatusCode());
310+
305311
// Create another random user:
306312

307313
Response createRandomUser = UtilIT.createRandomUser();
@@ -2243,7 +2249,7 @@ private static void validateAssignExistingRole(String datasetPersistentId, Strin
22432249
final Response failedGrantPermission = UtilIT.grantRoleOnDataset(datasetPersistentId, role, "@" + randomUsername, apiToken);
22442250
failedGrantPermission.prettyPrint();
22452251
failedGrantPermission.then().assertThat()
2246-
.body("message", containsString("User already has this role for this dataset"))
2252+
.body("message", containsString(BundleUtil.getStringFromBundle("datasets.api.grant.role.assignee.has.role.error")))
22472253
.statusCode(FORBIDDEN.getStatusCode());
22482254
}
22492255

0 commit comments

Comments
 (0)