@@ -1283,4 +1283,68 @@ public void tearDownDataverse() {
12831283 public static void cleanup () {
12841284 }
12851285
1286+ @ Test
1287+ public void testSearchFilesAndUrlImages () {
1288+ Response createUser = UtilIT .createRandomUser ();
1289+ createUser .prettyPrint ();
1290+ String username = UtilIT .getUsernameFromResponse (createUser );
1291+ String apiToken = UtilIT .getApiTokenFromResponse (createUser );
1292+
1293+ Response createDataverseResponse = UtilIT .createRandomDataverse (apiToken );
1294+ createDataverseResponse .prettyPrint ();
1295+ String dataverseAlias = UtilIT .getAliasFromResponse (createDataverseResponse );
1296+
1297+ Response createDatasetResponse = UtilIT .createRandomDatasetViaNativeApi (dataverseAlias , apiToken );
1298+ createDatasetResponse .prettyPrint ();
1299+ Integer datasetId = UtilIT .getDatasetIdFromResponse (createDatasetResponse );
1300+ System .out .println ("id: " + datasetId );
1301+ String datasetPid = JsonPath .from (createDatasetResponse .getBody ().asString ()).getString ("data.persistentId" );
1302+ System .out .println ("datasetPid: " + datasetPid );
1303+
1304+ String pathToFile = "src/main/webapp/resources/images/dataverseproject.png" ;
1305+ Response uploadImage = UtilIT .uploadFileViaNative (datasetId .toString (), pathToFile , apiToken );
1306+ uploadImage .prettyPrint ();
1307+ uploadImage .then ().assertThat ()
1308+ .statusCode (200 );
1309+ pathToFile = "src/main/webapp/resources/js/mydata.js" ;
1310+ Response uploadFile = UtilIT .uploadFileViaNative (datasetId .toString (), pathToFile , apiToken );
1311+ uploadImage .prettyPrint ();
1312+ uploadImage .then ().assertThat ()
1313+ .statusCode (200 );
1314+
1315+ Response publishDataverse = UtilIT .publishDataverseViaSword (dataverseAlias , apiToken );
1316+ publishDataverse .prettyPrint ();
1317+ publishDataverse .then ().assertThat ()
1318+ .statusCode (OK .getStatusCode ());
1319+ Response publishDataset = UtilIT .publishDatasetViaNativeApi (datasetId , "major" , apiToken );
1320+ publishDataset .prettyPrint ();
1321+ publishDataset .then ().assertThat ()
1322+ .statusCode (OK .getStatusCode ());
1323+
1324+ Response searchResp = UtilIT .search ("dataverseproject" , apiToken );
1325+ searchResp .prettyPrint ();
1326+ searchResp .then ().assertThat ()
1327+ .statusCode (OK .getStatusCode ())
1328+ .body ("data.items[0].type" , CoreMatchers .is ("file" ))
1329+ .body ("data.items[0].file_content_type" , CoreMatchers .is ("image/png" ))
1330+ .body ("data.items[0].url" , CoreMatchers .containsString ("/api/access/datafile/" ))
1331+ .body ("data.items[0].image_url" , CoreMatchers .containsString ("/api/access/datafile/" ))
1332+ .body ("data.items[0].image_url" , CoreMatchers .containsString ("imageThumb=true" ));
1333+
1334+ searchResp = UtilIT .search (dataverseAlias , apiToken );
1335+ searchResp .prettyPrint ();
1336+ searchResp .then ().assertThat ()
1337+ .statusCode (OK .getStatusCode ())
1338+ .body ("data.items[0].type" , CoreMatchers .is ("dataverse" ))
1339+ .body ("data.items[0].url" , CoreMatchers .containsString ("/dataverse/" ))
1340+ .body ("data.items[0]" , CoreMatchers .not (CoreMatchers .hasItem ("url_image" )));
1341+
1342+ searchResp = UtilIT .search ("mydata" , apiToken );
1343+ searchResp .prettyPrint ();
1344+ searchResp .then ().assertThat ()
1345+ .statusCode (OK .getStatusCode ())
1346+ .body ("data.items[0].type" , CoreMatchers .is ("file" ))
1347+ .body ("data.items[0].url" , CoreMatchers .containsString ("/datafile/" ))
1348+ .body ("data.items[0]" , CoreMatchers .not (CoreMatchers .hasItem ("url_image" )));
1349+ }
12861350}
0 commit comments