|
1 | 1 | package edu.harvard.iq.dataverse.api; |
2 | 2 |
|
| 3 | +import edu.harvard.iq.dataverse.authorization.DataverseRole; |
3 | 4 | import edu.harvard.iq.dataverse.dataaccess.DataAccess; |
4 | 5 | import edu.harvard.iq.dataverse.util.json.JsonParseException; |
5 | 6 | import edu.harvard.iq.dataverse.util.json.JsonParser; |
@@ -2596,9 +2597,12 @@ public void testUpdateInputLevelDisplayOnCreateOverride() { |
2596 | 2597 | public void testCreateAndGetTemplates() throws JsonParseException { |
2597 | 2598 | Response createUserResponse = UtilIT.createRandomUser(); |
2598 | 2599 | String apiToken = UtilIT.getApiTokenFromResponse(createUserResponse); |
| 2600 | + String username = UtilIT.getUsernameFromResponse(createUserResponse); |
2599 | 2601 |
|
2600 | 2602 | Response createSecondUserResponse = UtilIT.createRandomUser(); |
2601 | 2603 | String secondApiToken = UtilIT.getApiTokenFromResponse(createSecondUserResponse); |
| 2604 | + String secondUsername = UtilIT.getUsernameFromResponse(createSecondUserResponse); |
| 2605 | + |
2602 | 2606 |
|
2603 | 2607 | /* |
2604 | 2608 | We need to make this a non-inherited metadatablocks so the get template will only get templates from current dv |
@@ -2699,9 +2703,19 @@ public void testCreateAndGetTemplates() throws JsonParseException { |
2699 | 2703 | .body("data[0].instructions[0].instructionText", equalTo("The author data")) |
2700 | 2704 | .body("data[0].dataverseAlias", equalTo(dataverseAlias)); |
2701 | 2705 |
|
2702 | | - // Templates retrieval should fail if the user lacks dataverse edit permissions |
| 2706 | + // Templates retrieval should fail if a secondary user lacks dataset creation permissions |
| 2707 | + |
2703 | 2708 | getTemplateResponse = UtilIT.getTemplates(dataverseAlias, secondApiToken); |
2704 | 2709 | getTemplateResponse.then().assertThat().statusCode(UNAUTHORIZED.getStatusCode()); |
| 2710 | + |
| 2711 | + // Templates retrieval should succeed if the secondary user has dataset creation permissions |
| 2712 | + |
| 2713 | + UtilIT.setSuperuserStatus(username, true); |
| 2714 | + Response grantRoleResponse = UtilIT.grantRoleOnDataverse(dataverseAlias, DataverseRole.DS_CONTRIBUTOR, "@" + secondUsername, apiToken); |
| 2715 | + grantRoleResponse.then().assertThat().statusCode(OK.getStatusCode()); |
| 2716 | + |
| 2717 | + getTemplateResponse = UtilIT.getTemplates(dataverseAlias, secondApiToken); |
| 2718 | + getTemplateResponse.then().assertThat().statusCode(OK.getStatusCode()); |
2705 | 2719 | } |
2706 | 2720 |
|
2707 | 2721 | @Test |
|
0 commit comments