@@ -5622,6 +5622,47 @@ public void getVersionFileCounts() throws IOException, InterruptedException {
56225622 getDatasetVersionResponse = UtilIT .getVersionFileCounts (datasetId , "1.0" , null , null , null , null , null , true , null );
56235623 getDatasetVersionResponse .then ().assertThat ().statusCode (FORBIDDEN .getStatusCode ());
56245624 }
5625+
5626+ @ Test
5627+ public void getAvailableDatasetFileCategories () throws IOException , InterruptedException {
5628+ Response createUser = UtilIT .createRandomUser ();
5629+ createUser .then ().assertThat ().statusCode (OK .getStatusCode ());
5630+ String apiToken = UtilIT .getApiTokenFromResponse (createUser );
5631+
5632+ Response createDataverseResponse = UtilIT .createRandomDataverse (apiToken );
5633+ createDataverseResponse .then ().assertThat ().statusCode (CREATED .getStatusCode ());
5634+ String dataverseAlias = UtilIT .getAliasFromResponse (createDataverseResponse );
5635+
5636+ Response createDatasetResponse = UtilIT .createRandomDatasetViaNativeApi (dataverseAlias , apiToken );
5637+ createDatasetResponse .then ().assertThat ().statusCode (CREATED .getStatusCode ());
5638+ String datasetPersistentId = JsonPath .from (createDatasetResponse .body ().asString ()).getString ("data.persistentId" );
5639+ int datasetId = JsonPath .from (createDatasetResponse .body ().asString ()).getInt ("data.id" );
5640+
5641+ // Creating test files
5642+ String testFileName1 = "test_1.txt" ;
5643+ String testFileName2 = "test_2.txt" ;
5644+ String testFileName3 = "test_3.png" ;
5645+
5646+ UtilIT .createAndUploadTestFile (datasetPersistentId , testFileName1 , new byte [50 ], apiToken );
5647+ UtilIT .createAndUploadTestFile (datasetPersistentId , testFileName2 , new byte [200 ], apiToken );
5648+ UtilIT .createAndUploadTestFile (datasetPersistentId , testFileName3 , new byte [100 ], apiToken );
5649+
5650+ // Creating a categorized test file
5651+ String pathToTestFile = "src/test/resources/images/coffeeshop.png" ;
5652+ Response uploadResponse = UtilIT .uploadFileViaNative (Integer .toString (datasetId ), pathToTestFile , Json .createObjectBuilder ().build (), apiToken );
5653+ uploadResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
5654+ String dataFileId = uploadResponse .getBody ().jsonPath ().getString ("data.files[0].dataFile.id" );
5655+ String testCategory = "testCategory" ;
5656+ Response setFileCategoriesResponse = UtilIT .setFileCategories (dataFileId , apiToken , List .of (testCategory ));
5657+ setFileCategoriesResponse .then ().assertThat ().statusCode (OK .getStatusCode ());
5658+
5659+ //Test that custom tag is now available
5660+ Response getDatasetAvailableCategories = UtilIT .getDatasetAvailableCategories (datasetPersistentId );
5661+ getDatasetAvailableCategories .then ().assertThat ().statusCode (OK .getStatusCode ());
5662+ getDatasetAvailableCategories .prettyPrint ();
5663+ assertTrue (getDatasetAvailableCategories .prettyPrint ().contains ("testCategory" ));
5664+
5665+ }
56255666
56265667 @ Test
56275668 public void deaccessionDataset () {
0 commit comments