From 76ef395b8253cd4703a883ec0800ef8b3c700877 Mon Sep 17 00:00:00 2001 From: Hamza Jugon Date: Tue, 22 Oct 2024 15:51:18 +0100 Subject: [PATCH] Update tests for invalidSortParameter --- .../api/BeekeeperApiIntegrationTest.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/beekeeper-integration-tests/src/test/java/com/expediagroup/beekeeper/integration/api/BeekeeperApiIntegrationTest.java b/beekeeper-integration-tests/src/test/java/com/expediagroup/beekeeper/integration/api/BeekeeperApiIntegrationTest.java index c311dde0..75095061 100644 --- a/beekeeper-integration-tests/src/test/java/com/expediagroup/beekeeper/integration/api/BeekeeperApiIntegrationTest.java +++ b/beekeeper-integration-tests/src/test/java/com/expediagroup/beekeeper/integration/api/BeekeeperApiIntegrationTest.java @@ -43,6 +43,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.data.domain.Page; +import org.springframework.http.HttpStatus; import org.springframework.util.SocketUtils; import com.fasterxml.jackson.core.type.TypeReference; @@ -51,6 +52,7 @@ import com.fasterxml.jackson.module.paramnames.ParameterNamesModule; import com.expediagroup.beekeeper.api.BeekeeperApiApplication; +import com.expediagroup.beekeeper.api.error.ErrorResponse; import com.expediagroup.beekeeper.api.response.HousekeepingMetadataResponse; import com.expediagroup.beekeeper.api.response.HousekeepingPathResponse; import com.expediagroup.beekeeper.core.model.HousekeepingMetadata; @@ -302,4 +304,23 @@ private HousekeepingPath createHousekeepingPath( .build(); } + @Test + public void testInvalidSortParameter() throws SQLException, IOException, InterruptedException { + insertExpiredMetadata(testMetadataA); + + String filters = "?sort=nonExistentProperty,asc"; + HttpResponse response = testClient.getMetadata(someDatabase, someTable, filters); + + assertThat(response.statusCode()).isEqualTo(HttpStatus.BAD_REQUEST.value()); + + String body = response.body(); + ErrorResponse errorResponse = mapper.readValue(body, ErrorResponse.class); + + assertThat(errorResponse.getStatus()).isEqualTo(HttpStatus.BAD_REQUEST.value()); + assertThat(errorResponse.getMessage()).contains("Invalid sort parameter"); + assertThat(errorResponse.getError()).isEqualTo("Bad Request"); + assertThat(errorResponse.getPath()).contains("/api/v1/database/some_database/table/some_table/metadata"); + assertThat(errorResponse.getTimestamp()).isNotNull(); + } + }