Skip to content

Commit 3b22a5d

Browse files
committed
#11634 add tests
1 parent 844acd0 commit 3b22a5d

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

src/test/java/edu/harvard/iq/dataverse/api/DatasetsIT.java

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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() {

src/test/java/edu/harvard/iq/dataverse/api/UtilIT.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1784,6 +1784,14 @@ static Response getDatasetWithOwners(String persistentId, String apiToken, bool
17841784
+ (returnOwners ? "&returnOwners=true" : ""));
17851785
}
17861786

1787+
public static Response getDatasetAvailableCategories(String persistentId) {
1788+
Response response = given()
1789+
.get("/api/datasets/:persistentId/availableFileCategories"
1790+
+ "?persistentId="
1791+
+ persistentId);
1792+
return response;
1793+
}
1794+
17871795
static Response getFileWithOwners(String datafileId, String apiToken, boolean returnOwners) {
17881796
return given()
17891797
.header(API_TOKEN_HTTP_HEADER, apiToken)

0 commit comments

Comments
 (0)