@@ -40,13 +40,21 @@ public void testCreateFeaturedItemWithDvOdbject() {
4040 UtilIT .publishDataverseViaNativeApi (dataverseAlias , apiToken );
4141 UtilIT .publishDatasetViaNativeApi (datasetId , "major" , apiToken ).prettyPrint ();
4242
43+ // Get the created dataset so we can get the title
44+ Response getDatasetResponse = UtilIT .getDatasetVersion (datasetPersistentId , "1" , apiToken );
45+ getDatasetResponse .prettyPrint ();
46+ JsonPath createdDataset = JsonPath .from (getDatasetResponse .body ().asString ());
47+ String datasetTitle = createdDataset .getString ("data.metadataBlocks.citation.fields[0].value" );
48+
4349 // Test creating a featured item of type Dataset with good persistent id. Returns OK
4450 Response createFeatureItemResponse = UtilIT .createDataverseFeaturedItem (dataverseAlias , apiToken , null , 0 , null , "dataset" , datasetPersistentId );
4551 createFeatureItemResponse .prettyPrint ();
4652 createFeatureItemResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
4753 JsonPath createdFeaturedItem = JsonPath .from (createFeatureItemResponse .body ().asString ());
4854 String dvObjectIdentifier = createdFeaturedItem .getString ("data.dvObjectIdentifier" );
4955 assertEquals (datasetPersistentId , dvObjectIdentifier );
56+ String dvObjectDisplayName = createdFeaturedItem .getString ("data.dvObjectDisplayName" );
57+ assertEquals (datasetTitle , dvObjectDisplayName );
5058
5159 // Test creating a featured item of type Dataverse with good dataverse alias. Returns OK
5260 createFeatureItemResponse = UtilIT .createDataverseFeaturedItem (dataverseAlias , apiToken , null , 0 , null , "dataverse" , dataverseAlias );
@@ -55,9 +63,12 @@ public void testCreateFeaturedItemWithDvOdbject() {
5563 createdFeaturedItem = JsonPath .from (createFeatureItemResponse .body ().asString ());
5664 dvObjectIdentifier = createdFeaturedItem .getString ("data.dvObjectIdentifier" );
5765 assertEquals (dataverseAlias , dvObjectIdentifier );
66+ dvObjectDisplayName = createdFeaturedItem .getString ("data.dvObjectDisplayName" );
67+ assertEquals (dataverseAlias , dvObjectDisplayName ); // create dataverse sets the name = alias
5868
5969 // Upload a file
60- String pathToFile = "scripts/search/data/tabular/50by1000.dta" ;
70+ String fileName = "50by1000.dta" ;
71+ String pathToFile = "scripts/search/data/tabular/" + fileName ;
6172 Response uploadFileResponse = UtilIT .uploadFileViaNative (datasetId .toString (), pathToFile , apiToken );
6273 uploadFileResponse .prettyPrint ();
6374 JsonPath uploadedFile = JsonPath .from (uploadFileResponse .body ().asString ());
@@ -70,6 +81,8 @@ public void testCreateFeaturedItemWithDvOdbject() {
7081 createdFeaturedItem = JsonPath .from (createFeatureItemResponse .body ().asString ());
7182 dvObjectIdentifier = createdFeaturedItem .getString ("data.dvObjectIdentifier" );
7283 assertEquals (fileId , dvObjectIdentifier );
84+ dvObjectDisplayName = createdFeaturedItem .getString ("data.dvObjectDisplayName" );
85+ assertEquals (fileName , dvObjectDisplayName );
7386 }
7487
7588 @ Test
@@ -214,6 +227,7 @@ public void testUpdateFeaturedItem() {
214227 Response createDataverseResponse = UtilIT .createRandomDataverse (apiToken );
215228 createDataverseResponse .then ().assertThat ().statusCode (CREATED .getStatusCode ());
216229 String dataverseAlias = UtilIT .getAliasFromResponse (createDataverseResponse );
230+ String dataverseName = dataverseAlias ; // createRandomDataverse sets name = alias
217231 UtilIT .publishDataverseViaNativeApi (dataverseAlias , apiToken );
218232 Long featuredItemId = createFeaturedItemAndGetId (dataverseAlias , apiToken , "src/test/resources/images/coffeeshop.png" );
219233
@@ -230,26 +244,26 @@ public void testUpdateFeaturedItem() {
230244
231245 // Update featured item: keep image file
232246 updateFeatureItemResponse = UtilIT .updateDataverseFeaturedItem (featuredItemId , "updatedTitle1" , 1 , true , null , apiToken );
233- verifyUpdatedFeaturedItem (updateFeatureItemResponse , "updatedTitle1" , "coffeeshop.png" , 1 ,"custom" , null );
247+ verifyUpdatedFeaturedItem (updateFeatureItemResponse , "updatedTitle1" , "coffeeshop.png" , 1 ,"custom" , null , null );
234248
235249 // Update featured item: remove image file
236250 updateFeatureItemResponse = UtilIT .updateDataverseFeaturedItem (featuredItemId , "updatedTitle1" , 2 , false , null , apiToken );
237- verifyUpdatedFeaturedItem (updateFeatureItemResponse , "updatedTitle1" , null , 2 ,"custom" , null );
251+ verifyUpdatedFeaturedItem (updateFeatureItemResponse , "updatedTitle1" , null , 2 ,"custom" , null , null );
238252
239253 // Update featured item: set new image file
240254 updateFeatureItemResponse = UtilIT .updateDataverseFeaturedItem (featuredItemId , "updatedTitle1" , 2 , false , "src/test/resources/images/coffeeshop.png" , apiToken );
241- verifyUpdatedFeaturedItem (updateFeatureItemResponse , "updatedTitle1" , "coffeeshop.png" , 2 ,"custom" , null );
255+ verifyUpdatedFeaturedItem (updateFeatureItemResponse , "updatedTitle1" , "coffeeshop.png" , 2 ,"custom" , null , null );
242256
243257 // Update featured item: set malicious content which should be sanitized
244258 String unsafeContent = "<h1 class=\" rte-heading\" >A title</h1><a target=\" _blank\" class=\" rte-link\" href=\" https://test.com\" >link</a>" ;
245259 String sanitizedContent = "<h1 class=\" rte-heading\" >A title</h1><a target=\" _blank\" class=\" rte-link\" href=\" https://test.com\" rel=\" noopener noreferrer nofollow\" >link</a>" ;
246260 updateFeatureItemResponse = UtilIT .updateDataverseFeaturedItem (featuredItemId , unsafeContent , 2 , false , "src/test/resources/images/coffeeshop.png" , apiToken );
247- verifyUpdatedFeaturedItem (updateFeatureItemResponse , sanitizedContent , "coffeeshop.png" , 2 ,"custom" , null );
261+ verifyUpdatedFeaturedItem (updateFeatureItemResponse , sanitizedContent , "coffeeshop.png" , 2 ,"custom" , null , null );
248262
249263 // Update featured item: set dataverse type
250264 updateFeatureItemResponse = UtilIT .updateDataverseFeaturedItem (featuredItemId , "updatedTitle2" , 3 , false , null , "dataverse" , dataverseAlias , apiToken );
251265 updateFeatureItemResponse .prettyPrint ();
252- verifyUpdatedFeaturedItem (updateFeatureItemResponse , null , null , 3 , "dataverse" , dataverseAlias );
266+ verifyUpdatedFeaturedItem (updateFeatureItemResponse , null , null , 3 , "dataverse" , dataverseAlias , dataverseName );
253267
254268 // Test mismatch between type and dvObject
255269 updateFeatureItemResponse = UtilIT .updateDataverseFeaturedItem (featuredItemId , "updatedTitle2" , 3 , false , null , "dataset" , dataverseAlias , apiToken );
@@ -284,7 +298,7 @@ public void testUpdateFeaturedItemUnicode() {
284298 * "????????.png" but once we fix the test, "καφενείο.png" should be
285299 * asserted.
286300 */
287- verifyUpdatedFeaturedItem (createFeatureItemResponse , "test" , "????????.png" , 0 ,"custom" , null );
301+ verifyUpdatedFeaturedItem (createFeatureItemResponse , "test" , "????????.png" , 0 ,"custom" , null , null );
288302
289303 long featuredItemId = JsonPath .from (createFeatureItemResponse .body ().asString ()).getLong ("data.id" );
290304
@@ -298,15 +312,15 @@ public void testUpdateFeaturedItemUnicode() {
298312 updateFeatureItemResponse .prettyPrint ();
299313 // TODO: Fix this REST Assured assertion too (see above).
300314 // The equivalent curl command: scripts/issues/11429/update-featured-item.sh
301- verifyUpdatedFeaturedItem (updateFeatureItemResponse , "updatedTitle1" , "????????.png" , 1 ,"custom" , null );
315+ verifyUpdatedFeaturedItem (updateFeatureItemResponse , "updatedTitle1" , "????????.png" , 1 ,"custom" , null , null );
302316
303317 // remove image
304318 updateFeatureItemResponse = UtilIT .updateDataverseFeaturedItem (featuredItemId , "updatedTitle1" , 2 , false , null , apiToken );
305- verifyUpdatedFeaturedItem (updateFeatureItemResponse , "updatedTitle1" , null , 2 ,"custom" , null );
319+ verifyUpdatedFeaturedItem (updateFeatureItemResponse , "updatedTitle1" , null , 2 ,"custom" , null , null );
306320
307321 // add non-unicode image
308322 updateFeatureItemResponse = UtilIT .updateDataverseFeaturedItem (featuredItemId , "updatedTitle1" , 2 , false , coffeeShopEnglish , apiToken );
309- verifyUpdatedFeaturedItem (updateFeatureItemResponse , "updatedTitle1" , "coffeeshop.png" , 2 ,"custom" , null );
323+ verifyUpdatedFeaturedItem (updateFeatureItemResponse , "updatedTitle1" , "coffeeshop.png" , 2 ,"custom" , null , null );
310324
311325 updateFeatureItemResponse = UtilIT .deleteDataverseFeaturedItem (featuredItemId , apiToken );
312326 updateFeatureItemResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
@@ -347,14 +361,15 @@ private Long createFeaturedItemAndGetId(String dataverseAlias, String apiToken,
347361 return createdFeaturedItem .getLong ("data.id" );
348362 }
349363
350- private void verifyUpdatedFeaturedItem (Response response , String expectedContent , String expectedImageFileName , int expectedDisplayOrder , String type , String dvObject ) {
364+ private void verifyUpdatedFeaturedItem (Response response , String expectedContent , String expectedImageFileName , int expectedDisplayOrder , String type , String dvObject , String dvObjectDisplayName ) {
351365 response .prettyPrint ();
352366 response .then ().assertThat ()
353367 .body ("data.content" , equalTo (expectedContent ))
354368 .body ("data.imageFileName" , equalTo (expectedImageFileName ))
355369 .body ("data.displayOrder" , equalTo (expectedDisplayOrder ))
356370 .body ("data.type" , equalTo (type ))
357371 .body ("data.dvObjectIdentifier" , equalTo (dvObject ))
372+ .body ("data.dvObjectDisplayName" , equalTo (dvObjectDisplayName ))
358373 .statusCode (OK .getStatusCode ());
359374 }
360375}
0 commit comments