@@ -5637,12 +5637,21 @@ public void getVersionFileCounts() throws IOException, InterruptedException {
56375637 responseJsonPath = getVersionFileCountsResponseDeaccessioned .jsonPath ();
56385638 assertEquals (5 , (Integer ) responseJsonPath .get ("data.total" ));
56395639
5640- // Test that the dataset file counts for a deaccessioned dataset cannot be accessed by a guest
5640+ // Test that the dataset file counts for a deaccessioned dataset can be accessed by a guest
56415641 // By latest published version
56425642 Response getDatasetVersionResponse = UtilIT .getVersionFileCounts (datasetId , DS_VERSION_LATEST_PUBLISHED , null , null , null , null , null , true , null );
5643- getDatasetVersionResponse .then ().assertThat ().statusCode (NOT_FOUND .getStatusCode ());
5643+ getDatasetVersionResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
5644+ assertEquals (5 , (Integer ) responseJsonPath .get ("data.total" ));
5645+ // By specific version 1.0
5646+ getDatasetVersionResponse = UtilIT .getVersionFileCounts (datasetId , "1.0" , null , null , null , null , null , true , null );
5647+ getDatasetVersionResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
5648+ assertEquals (5 , (Integer ) responseJsonPath .get ("data.total" ));
56445649 // By specific version 1.0
56455650 getDatasetVersionResponse = UtilIT .getVersionFileCounts (datasetId , "1.0" , null , null , null , null , null , true , null );
5651+ getDatasetVersionResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
5652+ assertEquals (5 , (Integer ) responseJsonPath .get ("data.total" ));
5653+ // By latest published version not including deaccessioned
5654+ getDatasetVersionResponse = UtilIT .getVersionFileCounts (datasetId , DS_VERSION_LATEST_PUBLISHED , null , null , null , null , null , false , null );
56465655 getDatasetVersionResponse .then ().assertThat ().statusCode (NOT_FOUND .getStatusCode ());
56475656 }
56485657
@@ -5761,7 +5770,7 @@ public void deaccessionDataset() {
57615770 }
57625771
57635772 @ Test
5764- public void getDownloadSize () throws IOException , InterruptedException {
5773+ public void getDownloadSize () throws IOException {
57655774 Response createUser = UtilIT .createRandomUser ();
57665775 createUser .then ().assertThat ().statusCode (OK .getStatusCode ());
57675776 String apiToken = UtilIT .getApiTokenFromResponse (createUser );
@@ -5800,7 +5809,7 @@ public void getDownloadSize() throws IOException, InterruptedException {
58005809 int tabularOriginalSize = 157 ;
58015810
58025811 // Ensure tabular file is ingested
5803- Thread . sleep ( 2000 );
5812+ UtilIT . sleepForLock ( datasetId , null , apiToken , UtilIT . MAXIMUM_INGEST_LOCK_DURATION );
58045813
58055814 // Get the total size ignoring the original tabular file sizes
58065815 getDownloadSizeResponse = UtilIT .getDownloadSize (datasetId , DS_VERSION_LATEST , null , null , null , null , null , DatasetVersionFilesServiceBean .FileDownloadSizeMode .Archival .toString (), false , apiToken );
@@ -5837,7 +5846,7 @@ public void getDownloadSize() throws IOException, InterruptedException {
58375846 uploadTabularFileResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
58385847
58395848 // Ensure tabular file is ingested
5840- Thread . sleep ( 2000 );
5849+ UtilIT . sleepForLock ( datasetId , null , apiToken , UtilIT . MAXIMUM_INGEST_LOCK_DURATION );
58415850
58425851 // Get the total size including only original sizes and ignoring archival sizes for tabular files
58435852 expectedSizeIncludingOnlyOriginalForTabular = tabularOriginalSize + expectedSizeIncludingOnlyOriginalForTabular ;
@@ -5868,21 +5877,57 @@ public void getDownloadSize() throws IOException, InterruptedException {
58685877 Response deaccessionDatasetResponse = UtilIT .deaccessionDataset (datasetId , DS_VERSION_LATEST_PUBLISHED , "Test deaccession reason." , null , apiToken );
58695878 deaccessionDatasetResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
58705879
5880+ // Auth User Tests:
58715881 // includeDeaccessioned false
5872- Response getVersionFileCountsResponseNoDeaccessioned = UtilIT .getDownloadSize (datasetId , DS_VERSION_LATEST_PUBLISHED , null , null , null , null , null , DatasetVersionFilesServiceBean .FileDownloadSizeMode .All .toString (), false , apiToken );
5873- getVersionFileCountsResponseNoDeaccessioned .then ().assertThat ().statusCode (NOT_FOUND .getStatusCode ());
5874-
5882+ getDownloadSizeResponse = UtilIT .getDownloadSize (datasetId , DS_VERSION_LATEST_PUBLISHED , null , null , null , null , null , DatasetVersionFilesServiceBean .FileDownloadSizeMode .All .toString (), false , apiToken );
5883+ getDownloadSizeResponse .then ().assertThat ().statusCode (NOT_FOUND .getStatusCode ());
58755884 // includeDeaccessioned true
5876- Response getVersionFileCountsResponseDeaccessioned = UtilIT .getDownloadSize (datasetId , DS_VERSION_LATEST_PUBLISHED , null , null , null , null , null , DatasetVersionFilesServiceBean .FileDownloadSizeMode .All .toString (), true , apiToken );
5877- getVersionFileCountsResponseDeaccessioned .then ().assertThat ().statusCode (OK .getStatusCode ());
5885+ getDownloadSizeResponse = UtilIT .getDownloadSize (datasetId , DS_VERSION_LATEST_PUBLISHED , null , null , null , null , null , DatasetVersionFilesServiceBean .FileDownloadSizeMode .All .toString (), true , apiToken );
5886+ getDownloadSizeResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
58785887
5879- // Test that the dataset file counts for a deaccessioned dataset cannot be accessed by a guest
5888+ // Test that the dataset file counts for a deaccessioned dataset can be accessed by a guest
58805889 // By latest published version
58815890 Response getVersionFileCountsGuestUserResponse = UtilIT .getDownloadSize (datasetId , DS_VERSION_LATEST_PUBLISHED , null , null , null , null , null , DatasetVersionFilesServiceBean .FileDownloadSizeMode .All .toString (), true , null );
5882- getVersionFileCountsGuestUserResponse .then ().assertThat ().statusCode (NOT_FOUND .getStatusCode ());
5891+ getVersionFileCountsGuestUserResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
58835892 // By specific version 1.0
58845893 getVersionFileCountsGuestUserResponse = UtilIT .getDownloadSize (datasetId , "1.0" , null , null , null , null , null , DatasetVersionFilesServiceBean .FileDownloadSizeMode .All .toString (), true , null );
5885- getVersionFileCountsGuestUserResponse .then ().assertThat ().statusCode (NOT_FOUND .getStatusCode ());
5894+ getVersionFileCountsGuestUserResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
5895+
5896+ // Guest User Tests:
5897+ // By latest published version includeDeaccessioned true
5898+ getDownloadSizeResponse = UtilIT .getDownloadSize (datasetId , DS_VERSION_LATEST_PUBLISHED , null , null , null , null , null , DatasetVersionFilesServiceBean .FileDownloadSizeMode .All .toString (), true , null );
5899+ getDownloadSizeResponse .prettyPrint ();
5900+ getDownloadSizeResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
5901+ // By specific version 1.0 includeDeaccessioned true
5902+ getDownloadSizeResponse = UtilIT .getDownloadSize (datasetId , "1.0" , null , null , null , null , null , DatasetVersionFilesServiceBean .FileDownloadSizeMode .All .toString (), true , null );
5903+ getDownloadSizeResponse .prettyPrint ();
5904+ getDownloadSizeResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
5905+ // includeDeaccessioned false
5906+ getDownloadSizeResponse = UtilIT .getDownloadSize (datasetId , DS_VERSION_LATEST_PUBLISHED , null , null , null , null , null , DatasetVersionFilesServiceBean .FileDownloadSizeMode .All .toString (), false , null );
5907+ getDownloadSizeResponse .prettyPrint ();
5908+ getDownloadSizeResponse .then ().assertThat ().statusCode (NOT_FOUND .getStatusCode ());
5909+
5910+ // Create new dataset with no files and deaccession
5911+ createDatasetResponse = UtilIT .createRandomDatasetViaNativeApi (dataverseAlias , apiToken );
5912+ datasetId = JsonPath .from (createDatasetResponse .body ().asString ()).getInt ("data.id" );
5913+ publishDatasetResponse = UtilIT .publishDatasetViaNativeApi (datasetId , "major" , apiToken );
5914+ publishDatasetResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
5915+ deaccessionDatasetResponse = UtilIT .deaccessionDataset (datasetId , DS_VERSION_LATEST_PUBLISHED , "Test deaccession reason." , null , apiToken );
5916+ deaccessionDatasetResponse .prettyPrint ();
5917+ deaccessionDatasetResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
5918+
5919+ // includeDeaccessioned guest gets deaccessioned download size
5920+ getDownloadSizeResponse = UtilIT .getDownloadSize (datasetId , DS_VERSION_LATEST_PUBLISHED , null , null , null , null , null , DatasetVersionFilesServiceBean .FileDownloadSizeMode .All .toString (), true , null );
5921+ getDownloadSizeResponse .prettyPrint ();
5922+ getDownloadSizeResponse .then ().assertThat ()
5923+ .statusCode (OK .getStatusCode ())
5924+ .body ("data.storageSize" , equalTo (0 ));
5925+ // includeDeaccessioned guest gets deaccessioned version file counts
5926+ Response getDatasetVersionFileResponse = UtilIT .getVersionFileCounts (datasetId , DS_VERSION_LATEST_PUBLISHED , null , null , null , null , null , true , null );
5927+ getDatasetVersionFileResponse .prettyPrint ();
5928+ getDatasetVersionFileResponse .then ().assertThat ()
5929+ .statusCode (OK .getStatusCode ())
5930+ .body ("data.total" , equalTo (0 ));
58865931 }
58875932
58885933 @ Test
0 commit comments