@@ -1440,13 +1440,90 @@ public void testDataSizeInDataverse() throws InterruptedException {
14401440
14411441 magicControlString = MessageFormat .format (BundleUtil .getStringFromBundle ("datasets.api.datasize.download" ), magicSizeNumber );
14421442
1443- Response datasetDownloadSizeResponse = UtilIT .findDatasetDownloadSize (datasetId .toString ());
1443+ Response datasetDownloadSizeResponse = UtilIT .findDatasetDownloadSize (datasetId .toString (), apiTokenRando , null , null , null );
14441444 datasetDownloadSizeResponse .prettyPrint ();
14451445
14461446 assertEquals (magicControlString , JsonPath .from (datasetDownloadSizeResponse .body ().asString ()).getString ("data.message" ));
14471447
14481448 }
14491449
1450+ @ Test
1451+ public void testDeaccessionedDatasetGetDownloadSize () {
1452+ // Create user
1453+ String apiToken = createUserGetToken ();
1454+ // Create Dataverse
1455+ String dataverseAlias = createDataverseGetAlias (apiToken );
1456+ // Create Dataset
1457+ String datasetId1 = createDatasetGetId (dataverseAlias , apiToken ).toString ();
1458+ String datasetId2 = createDatasetGetId (dataverseAlias , apiToken ).toString ();
1459+ String pathToFile = "scripts/search/data/binary/trees.png" ;
1460+ Response addResponse = UtilIT .uploadFileViaNative (datasetId1 , pathToFile , apiToken );
1461+
1462+ // Publish
1463+ UtilIT .publishDataverseViaNativeApi (dataverseAlias , apiToken );
1464+ UtilIT .publishDatasetViaNativeApi (datasetId1 , "major" , apiToken );
1465+ UtilIT .publishDatasetViaNativeApi (datasetId2 , "major" , apiToken );
1466+
1467+ // Test get sizes from Published Dataset with no files
1468+ Response datasetDownloadSizeResponse = UtilIT .findDatasetDownloadSize (datasetId2 , apiToken , null , Boolean .TRUE , null );
1469+ datasetDownloadSizeResponse .prettyPrint ();
1470+ datasetDownloadSizeResponse .then ().assertThat ()
1471+ .body ("data.message" , containsString ("0 bytes" ))
1472+ .body ("data.storageSize" , equalTo (0 ))
1473+ .statusCode (OK .getStatusCode ());
1474+ // Test get files count from Published Dataset with no files
1475+ Response datasetFilesCountResponse = UtilIT .findDatasetFilesCount (datasetId2 , apiToken , null , Boolean .TRUE );
1476+ datasetFilesCountResponse .prettyPrint ();
1477+ datasetFilesCountResponse .then ().assertThat ()
1478+ .body ("data.total" , equalTo (0 ))
1479+ .statusCode (OK .getStatusCode ());
1480+
1481+ // Deaccession the Dataset
1482+ UtilIT .deaccessionDataset (datasetId1 , "1.0" , "reason" , null , apiToken ).prettyPrint ();
1483+ UtilIT .deaccessionDataset (datasetId2 , "1.0" , "reason" , null , apiToken ).prettyPrint ();
1484+
1485+ // Test get sizes from Deaccessioned Dataset with files (Auth user)
1486+ datasetDownloadSizeResponse = UtilIT .findDatasetDownloadSize (datasetId1 , apiToken , null , Boolean .TRUE , "Archival" );
1487+ datasetDownloadSizeResponse .prettyPrint ();
1488+ datasetDownloadSizeResponse .then ().assertThat ()
1489+ .body ("data.message" , containsString ("8,361 bytes" ))
1490+ .body ("data.storageSize" , equalTo (8361 ))
1491+ .statusCode (OK .getStatusCode ());
1492+ // Test get sizes from Deaccessioned Dataset with files (Guest user)
1493+ datasetDownloadSizeResponse = UtilIT .findDatasetDownloadSize (datasetId1 , null , null , Boolean .TRUE , "Archival" );
1494+ datasetDownloadSizeResponse .prettyPrint ();
1495+ datasetDownloadSizeResponse .then ().assertThat ()
1496+ .statusCode (FORBIDDEN .getStatusCode ())
1497+ .body ("message" , equalTo (BundleUtil .getStringFromBundle ("datasets.api.version.files.invalid.auth" )));
1498+
1499+ // Test get sizes from Deaccessioned Dataset with no files (Auth user)
1500+ datasetDownloadSizeResponse = UtilIT .findDatasetDownloadSize (datasetId2 , apiToken , null , Boolean .TRUE , "Archival" );
1501+ datasetDownloadSizeResponse .prettyPrint ();
1502+ datasetDownloadSizeResponse .then ().assertThat ()
1503+ .body ("data.message" , containsString ("0 bytes" ))
1504+ .body ("data.storageSize" , equalTo (0 ))
1505+ .statusCode (OK .getStatusCode ());
1506+ // Test get sizes from Deaccessioned Dataset with no files (Guest user)
1507+ datasetDownloadSizeResponse = UtilIT .findDatasetDownloadSize (datasetId2 , null , null , Boolean .TRUE , "Archival" );
1508+ datasetDownloadSizeResponse .prettyPrint ();
1509+ datasetDownloadSizeResponse .then ().assertThat ()
1510+ .statusCode (FORBIDDEN .getStatusCode ())
1511+ .body ("message" , equalTo (BundleUtil .getStringFromBundle ("datasets.api.version.files.invalid.auth" )));
1512+
1513+ // Test get files count from Deaccessioned Dataset with no files (Auth user)
1514+ datasetFilesCountResponse = UtilIT .findDatasetFilesCount (datasetId2 , apiToken , null , Boolean .TRUE );
1515+ datasetFilesCountResponse .prettyPrint ();
1516+ datasetFilesCountResponse .then ().assertThat ()
1517+ .body ("data.total" , equalTo (0 ))
1518+ .statusCode (OK .getStatusCode ());
1519+ // Test get files count from Deaccessioned Dataset with no files (Guest user)
1520+ datasetFilesCountResponse = UtilIT .findDatasetFilesCount (datasetId2 , null , null , Boolean .TRUE );
1521+ datasetFilesCountResponse .prettyPrint ();
1522+ datasetFilesCountResponse .then ().assertThat ()
1523+ .statusCode (FORBIDDEN .getStatusCode ())
1524+ .body ("message" , equalTo (BundleUtil .getStringFromBundle ("datasets.api.version.files.invalid.auth" )));
1525+ }
1526+
14501527 @ Test
14511528 public void GetFileVersionDifferences () {
14521529 // Create superuser and regular user
0 commit comments