Skip to content

Commit 4de7070

Browse files
committed
Replaced org.json in integration tests with Jackson
1 parent 6a1624b commit 4de7070

26 files changed

Lines changed: 1417 additions & 1608 deletions

FROST-Server.Tests/pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -153,11 +153,6 @@
153153
<artifactId>jetty-servlet</artifactId>
154154
<scope>test</scope>
155155
</dependency>
156-
<dependency>
157-
<groupId>org.json</groupId>
158-
<artifactId>json</artifactId>
159-
<scope>test</scope>
160-
</dependency>
161156
<dependency>
162157
<groupId>org.junit.jupiter</groupId>
163158
<artifactId>junit-jupiter</artifactId>

FROST-Server.Tests/src/test/java/de/fraunhofer/iosb/ilt/statests/TestSuite.java

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
2222
import static org.junit.jupiter.api.Assertions.fail;
2323

24+
import com.fasterxml.jackson.databind.JsonNode;
2425
import dasniko.testcontainers.keycloak.KeycloakContainer;
2526
import de.fraunhofer.iosb.ilt.frostserver.FrostMqttServer;
2627
import de.fraunhofer.iosb.ilt.frostserver.http.common.DatabaseStatus;
@@ -86,6 +87,7 @@
8687
import de.fraunhofer.iosb.ilt.statests.f03metadata.MetadataTests11;
8788
import de.fraunhofer.iosb.ilt.statests.util.HTTPMethods;
8889
import de.fraunhofer.iosb.ilt.statests.util.HTTPMethods.HttpResponse;
90+
import de.fraunhofer.iosb.ilt.statests.util.Utils;
8991
import java.io.IOException;
9092
import java.net.ServerSocket;
9193
import java.nio.file.Files;
@@ -106,9 +108,6 @@
106108
import org.eclipse.paho.client.mqttv3.MqttClient;
107109
import org.eclipse.paho.client.mqttv3.MqttException;
108110
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
109-
import org.json.JSONArray;
110-
import org.json.JSONException;
111-
import org.json.JSONObject;
112111
import org.junit.jupiter.api.AfterAll;
113112
import org.junit.jupiter.api.BeforeAll;
114113
import org.junit.jupiter.api.Test;
@@ -558,29 +557,29 @@ public void checkServiceRootUri(ServerSettings serverSettings, ServerVersion ver
558557
return;
559558
}
560559

561-
JSONObject jsonResponse;
562-
JSONArray entities;
560+
JsonNode jsonResponse;
561+
JsonNode entities;
563562
try {
564-
jsonResponse = new JSONObject(response.response);
565-
entities = jsonResponse.getJSONArray("value");
566-
} catch (JSONException e) {
563+
jsonResponse = Utils.MAPPER.readTree(response.response);
564+
entities = jsonResponse.get("value");
565+
} catch (IOException | NullPointerException e) {
567566
LOGGER.error("The service response for the root URI '" + rootUri + "' is not JSON.", e);
568567
fail("The service response for the root URI '" + rootUri + "' is not JSON.");
569568
return;
570569
}
571570
boolean hasActuation = false;
572571
boolean hasMultiDatastream = false;
573-
for (int i = 0; i < entities.length(); i++) {
574-
JSONObject entity;
572+
for (int i = 0; i < entities.size(); i++) {
573+
JsonNode entity;
575574
String name;
576575
try {
577-
entity = entities.getJSONObject(i);
576+
entity = entities.get(i);
578577
if (!entity.has("name")) {
579578
fail("The name component of Service root URI response is not available.");
580579
return;
581580
}
582-
name = entity.getString("name");
583-
} catch (JSONException e) {
581+
name = entity.get("name").textValue();
582+
} catch (NullPointerException e) {
584583
LOGGER.error("The service response for the root URI '" + rootUri + "' is not JSON.", e);
585584
fail("The service response for the root URI '" + rootUri + "' is not JSON.");
586585
return;
@@ -611,10 +610,10 @@ public void checkServiceRootUri(ServerSettings serverSettings, ServerVersion ver
611610
}
612611
}
613612
if (version == ServerVersion.v_1_1) {
614-
JSONObject serverSettingsObject = jsonResponse.getJSONObject("serverSettings");
615-
JSONArray conformanceArray = serverSettingsObject.getJSONArray("conformance");
616-
for (Object reqItem : conformanceArray.toList()) {
617-
Set<Requirement> allMatching = Requirement.getAllMatching(reqItem.toString());
613+
JsonNode serverSettingsObject = jsonResponse.get("serverSettings");
614+
JsonNode conformanceArray = serverSettingsObject.get("conformance");
615+
for (JsonNode reqItem : conformanceArray) {
616+
Set<Requirement> allMatching = Requirement.getAllMatching(reqItem.textValue());
618617
if (allMatching.isEmpty()) {
619618
LOGGER.info("Server implements unknown requirement: {}", reqItem);
620619
}

FROST-Server.Tests/src/test/java/de/fraunhofer/iosb/ilt/statests/c01sensingcore/Capability1CoreOnlyTests.java

Lines changed: 63 additions & 91 deletions
Large diffs are not rendered by default.

FROST-Server.Tests/src/test/java/de/fraunhofer/iosb/ilt/statests/c01sensingcore/Capability1Tests.java

Lines changed: 63 additions & 91 deletions
Large diffs are not rendered by default.

FROST-Server.Tests/src/test/java/de/fraunhofer/iosb/ilt/statests/c01sensingcore/TestEntityCreator.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,17 @@
2121
import static org.junit.jupiter.api.Assertions.assertTrue;
2222
import static org.junit.jupiter.api.Assertions.fail;
2323

24+
import com.fasterxml.jackson.databind.JsonNode;
2425
import de.fraunhofer.iosb.ilt.statests.ServerSettings;
2526
import de.fraunhofer.iosb.ilt.statests.ServerVersion;
2627
import de.fraunhofer.iosb.ilt.statests.util.EntityType;
2728
import de.fraunhofer.iosb.ilt.statests.util.HTTPMethods;
2829
import de.fraunhofer.iosb.ilt.statests.util.HTTPMethods.HttpResponse;
2930
import de.fraunhofer.iosb.ilt.statests.util.ServiceUrlHelper;
31+
import de.fraunhofer.iosb.ilt.statests.util.Utils;
3032
import java.io.File;
3133
import java.io.IOException;
3234
import org.apache.commons.io.FileUtils;
33-
import org.json.JSONArray;
34-
import org.json.JSONException;
35-
import org.json.JSONObject;
3635
import org.slf4j.Logger;
3736
import org.slf4j.LoggerFactory;
3837

@@ -121,10 +120,10 @@ private static String getEntities(String rootUri, EntityType entityType) {
121120

122121
private static int countEntitiesInResponse(String response) {
123122
try {
124-
JSONObject jsonResponse = new JSONObject(response);
125-
JSONArray entities = jsonResponse.getJSONArray("value");
126-
return entities.length();
127-
} catch (JSONException e) {
123+
JsonNode jsonResponse = Utils.MAPPER.readTree(response);
124+
JsonNode entities = jsonResponse.get("value");
125+
return entities.size();
126+
} catch (IOException e) {
128127
LOGGER.error("Exception: ", e);
129128
fail("An Exception occurred during testing!:\n" + e.getMessage());
130129
}

0 commit comments

Comments
 (0)