@@ -2609,6 +2609,10 @@ public void testUpdateInputLevelDisplayOnCreateOverride() {
26092609
26102610 @ Test
26112611 public void testCreateAndGetTemplates () throws JsonParseException {
2612+ /*
2613+ Also Delete...and get single template
2614+ */
2615+
26122616 Response createUserResponse = UtilIT .createRandomUser ();
26132617 String apiToken = UtilIT .getApiTokenFromResponse (createUserResponse );
26142618 String username = UtilIT .getUsernameFromResponse (createUserResponse );
@@ -2623,9 +2627,13 @@ public void testCreateAndGetTemplates() throws JsonParseException {
26232627 */
26242628
26252629 Response createDataverseResponse = UtilIT .createRandomDataverse (apiToken );
2630+ createDataverseResponse .prettyPrint ();
26262631 createDataverseResponse .then ().assertThat ().statusCode (CREATED .getStatusCode ());
26272632 String dataverseAlias = UtilIT .getAliasFromResponse (createDataverseResponse );
2628-
2633+ Integer dataverseId = UtilIT .getDataverseIdFromResponse (createDataverseResponse );
2634+
2635+ System .out .print ("dataverseId: " + dataverseId );
2636+
26292637 String newName = "New Test Dataverse Name" ;
26302638 String newAffiliation = "New Test Dataverse Affiliation" ;
26312639 String newDataverseType = Dataverse .DataverseType .TEACHING_COURSES .toString ();
@@ -2644,6 +2652,10 @@ public void testCreateAndGetTemplates() throws JsonParseException {
26442652 updateDataverseResponse .then ().assertThat ()
26452653 .statusCode (OK .getStatusCode ());
26462654
2655+ Response publishDataverse = UtilIT .publishDataverseViaNativeApi (dataverseAlias , apiToken );
2656+ assertEquals (200 , publishDataverse .getStatusCode ());
2657+ assertTrue (publishDataverse .prettyPrint ().contains ("isReleased\" : true" ));
2658+
26472659 // Create a template
26482660
26492661 String jsonString = """
@@ -2681,8 +2693,11 @@ public void testCreateAndGetTemplates() throws JsonParseException {
26812693 jsonString ,
26822694 apiToken
26832695 );
2696+
2697+ createTemplateResponse .prettyPrint ();
2698+ Long templateId = UtilIT .getTemplateIdFromResponse (createTemplateResponse );
26842699
2685- createTemplateResponse .then ().assertThat ().statusCode (OK .getStatusCode ())
2700+ createTemplateResponse .then ().assertThat ().statusCode (CREATED .getStatusCode ())
26862701 .body ("data.name" , equalTo ("Dataverse template" ))
26872702 .body ("data.isDefault" , equalTo (true ))
26882703 .body ("data.usageCount" , equalTo (0 ))
@@ -2724,12 +2739,59 @@ public void testCreateAndGetTemplates() throws JsonParseException {
27242739
27252740 // Templates retrieval should succeed if the secondary user has dataset creation permissions
27262741
2742+
2743+ //set to super to update role
27272744 UtilIT .setSuperuserStatus (username , true );
2745+
27282746 Response grantRoleResponse = UtilIT .grantRoleOnDataverse (dataverseAlias , DataverseRole .DS_CONTRIBUTOR , "@" + secondUsername , apiToken );
2747+ grantRoleResponse .prettyPrint ();
27292748 grantRoleResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
27302749
27312750 getTemplateResponse = UtilIT .getTemplates (dataverseAlias , secondApiToken );
27322751 getTemplateResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
2752+
2753+ Response getTemplateByIdResponse = UtilIT .getTemplate (templateId .toString (), apiToken );
2754+ getTemplateByIdResponse .prettyPrint ();
2755+ getTemplateByIdResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
2756+
2757+ //guest user shouldn't get it
2758+ getTemplateByIdResponse = UtilIT .getTemplate (templateId .toString ());
2759+ getTemplateByIdResponse .prettyPrint ();
2760+ getTemplateByIdResponse .then ().assertThat ().statusCode (UNAUTHORIZED .getStatusCode ());
2761+
2762+ Response deleteTemplateResponse = UtilIT .deleteTemplate (templateId .toString (), secondApiToken );
2763+ deleteTemplateResponse .prettyPrint ();
2764+ deleteTemplateResponse .then ().assertThat ().statusCode (UNAUTHORIZED .getStatusCode ());
2765+
2766+ //set back to show super not needed for delete - just Edit Dataverse
2767+ UtilIT .setSuperuserStatus (username , false );
2768+
2769+ String badId = "8675309" ;
2770+
2771+ deleteTemplateResponse = UtilIT .deleteTemplate (badId , apiToken );
2772+ deleteTemplateResponse .prettyPrint ();
2773+ deleteTemplateResponse .then ().assertThat ().statusCode (NOT_FOUND .getStatusCode ());
2774+
2775+ deleteTemplateResponse = UtilIT .deleteTemplate (templateId .toString (), apiToken );
2776+ deleteTemplateResponse .prettyPrint ();
2777+ deleteTemplateResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
2778+ // back to super for cleanup
2779+
2780+ UtilIT .setSuperuserStatus (username , true );
2781+
2782+ Response deleteDataverse1Response = UtilIT .deleteDataverse (dataverseAlias , apiToken );
2783+ deleteDataverse1Response .prettyPrint ();
2784+ assertEquals (200 , deleteDataverse1Response .getStatusCode ());
2785+
2786+ Response deleteUserResponse = UtilIT .deleteUser (secondUsername );
2787+ deleteUserResponse .prettyPrint ();
2788+ assertEquals (200 , deleteUserResponse .getStatusCode ());
2789+
2790+ deleteUserResponse = UtilIT .deleteUser (username );
2791+ deleteUserResponse .prettyPrint ();
2792+ assertEquals (200 , deleteUserResponse .getStatusCode ());
2793+
2794+
27332795 }
27342796
27352797 @ Test
0 commit comments