From 60d749eca09b0def7c84a781c96cd00a3130d8f1 Mon Sep 17 00:00:00 2001 From: Sebastien Delcoigne Date: Thu, 14 Mar 2024 16:22:32 +1100 Subject: [PATCH] #3470: corrects unit tests following changes in analysis comments modifications Signed-off-by: Sebastien Delcoigne --- .../resources/v1/AnalysisResourceTest.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/test/java/org/dependencytrack/resources/v1/AnalysisResourceTest.java b/src/test/java/org/dependencytrack/resources/v1/AnalysisResourceTest.java index cd668a07ac..09af37893d 100644 --- a/src/test/java/org/dependencytrack/resources/v1/AnalysisResourceTest.java +++ b/src/test/java/org/dependencytrack/resources/v1/AnalysisResourceTest.java @@ -28,6 +28,7 @@ import alpine.server.filters.AuthorizationFilter; import net.jcip.annotations.NotThreadSafe; import org.apache.http.HttpStatus; +import org.assertj.core.api.Condition; import org.dependencytrack.ResourceTest; import org.dependencytrack.auth.Permissions; import org.dependencytrack.model.Analysis; @@ -54,6 +55,7 @@ import javax.json.Json; import javax.json.JsonArray; import javax.json.JsonObject; +import javax.json.JsonValue; import javax.ws.rs.client.Entity; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @@ -61,6 +63,7 @@ import java.util.List; import java.util.UUID; import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.function.Consumer; import static org.assertj.core.api.Assertions.assertThat; import static org.dependencytrack.assertion.Assertions.assertConditionWithTimeout; @@ -346,17 +349,32 @@ public void updateAnalysisCreateNewTest() throws Exception { assertThat(response.getStatus()).isEqualTo(HttpStatus.SC_OK); assertThat(response.getHeaderString(TOTAL_COUNT_HEADER)).isNull(); + Condition elfBearer = new Condition() { + public boolean matches(String value) { + return value.contains("toto"); + } + }; + final JsonObject responseJson = parseJsonObject(response); assertThat(responseJson).isNotNull(); assertThat(responseJson.getString("analysisState")).isEqualTo(AnalysisState.NOT_AFFECTED.name()); assertThat(responseJson.getString("analysisJustification")).isEqualTo(AnalysisJustification.CODE_NOT_REACHABLE.name()); assertThat(responseJson.getString("analysisResponse")).isEqualTo(AnalysisResponse.WILL_NOT_FIX.name()); assertThat(responseJson.getString("analysisDetails")).isEqualTo("Analysis details here"); - assertThat(responseJson.getJsonArray("analysisComments")).hasSize(2); + assertThat(responseJson.getJsonArray("analysisComments")).hasSize(5); assertThat(responseJson.getJsonArray("analysisComments").getJsonObject(0)) - .hasFieldOrPropertyWithValue("comment", Json.createValue("Analysis: NOT_SET → NOT_AFFECTED")) + .hasFieldOrPropertyWithValue("comment", Json.createValue("Analysis: null → NOT_AFFECTED")) .doesNotContainKey("commenter"); // Not set when authenticating via API key assertThat(responseJson.getJsonArray("analysisComments").getJsonObject(1)) + .hasFieldOrPropertyWithValue("comment", Json.createValue("Justification: null → CODE_NOT_REACHABLE")) + .doesNotContainKey("commenter"); // Not set when authenticating via API key + assertThat(responseJson.getJsonArray("analysisComments").getJsonObject(2)) + .hasFieldOrPropertyWithValue("comment", Json.createValue("Vendor Response: null → WILL_NOT_FIX")) + .doesNotContainKey("commenter"); // Not set when authenticating via API key + assertThat(responseJson.getJsonArray("analysisComments").getJsonObject(3)) + .hasFieldOrPropertyWithValue("comment", Json.createValue("Details: Analysis details here")) + .doesNotContainKey("commenter"); // Not set when authenticating via API key + assertThat(responseJson.getJsonArray("analysisComments").getJsonObject(4)) .hasFieldOrPropertyWithValue("comment", Json.createValue("Analysis comment here")) .doesNotContainKey("commenter"); // Not set when authenticating via API key assertThat(responseJson.getBoolean("isSuppressed")).isTrue(); @@ -408,7 +426,7 @@ public void updateAnalysisCreateNewWithEmptyRequestTest() throws Exception { assertThat(responseJson.getString("analysisJustification")).isEqualTo(AnalysisJustification.NOT_SET.name()); assertThat(responseJson.getString("analysisResponse")).isEqualTo(AnalysisResponse.NOT_SET.name()); assertThat(responseJson.getJsonString("analysisDetails")).isNull(); - assertThat(responseJson.getJsonArray("analysisComments")).isEmpty(); + assertThat(responseJson.getJsonArray("analysisComments")).isNotEmpty(); assertThat(responseJson.getBoolean("isSuppressed")).isFalse(); assertConditionWithTimeout(() -> NOTIFICATIONS.size() == 2, Duration.ofSeconds(5));