|
21 | 21 | import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; |
22 | 22 | import static org.junit.jupiter.api.Assertions.fail; |
23 | 23 |
|
| 24 | +import com.fasterxml.jackson.databind.JsonNode; |
24 | 25 | import dasniko.testcontainers.keycloak.KeycloakContainer; |
25 | 26 | import de.fraunhofer.iosb.ilt.frostserver.FrostMqttServer; |
26 | 27 | import de.fraunhofer.iosb.ilt.frostserver.http.common.DatabaseStatus; |
|
86 | 87 | import de.fraunhofer.iosb.ilt.statests.f03metadata.MetadataTests11; |
87 | 88 | import de.fraunhofer.iosb.ilt.statests.util.HTTPMethods; |
88 | 89 | import de.fraunhofer.iosb.ilt.statests.util.HTTPMethods.HttpResponse; |
| 90 | +import de.fraunhofer.iosb.ilt.statests.util.Utils; |
89 | 91 | import java.io.IOException; |
90 | 92 | import java.net.ServerSocket; |
91 | 93 | import java.nio.file.Files; |
|
106 | 108 | import org.eclipse.paho.client.mqttv3.MqttClient; |
107 | 109 | import org.eclipse.paho.client.mqttv3.MqttException; |
108 | 110 | import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; |
109 | | -import org.json.JSONArray; |
110 | | -import org.json.JSONException; |
111 | | -import org.json.JSONObject; |
112 | 111 | import org.junit.jupiter.api.AfterAll; |
113 | 112 | import org.junit.jupiter.api.BeforeAll; |
114 | 113 | import org.junit.jupiter.api.Test; |
@@ -558,29 +557,29 @@ public void checkServiceRootUri(ServerSettings serverSettings, ServerVersion ver |
558 | 557 | return; |
559 | 558 | } |
560 | 559 |
|
561 | | - JSONObject jsonResponse; |
562 | | - JSONArray entities; |
| 560 | + JsonNode jsonResponse; |
| 561 | + JsonNode entities; |
563 | 562 | 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) { |
567 | 566 | LOGGER.error("The service response for the root URI '" + rootUri + "' is not JSON.", e); |
568 | 567 | fail("The service response for the root URI '" + rootUri + "' is not JSON."); |
569 | 568 | return; |
570 | 569 | } |
571 | 570 | boolean hasActuation = false; |
572 | 571 | 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; |
575 | 574 | String name; |
576 | 575 | try { |
577 | | - entity = entities.getJSONObject(i); |
| 576 | + entity = entities.get(i); |
578 | 577 | if (!entity.has("name")) { |
579 | 578 | fail("The name component of Service root URI response is not available."); |
580 | 579 | return; |
581 | 580 | } |
582 | | - name = entity.getString("name"); |
583 | | - } catch (JSONException e) { |
| 581 | + name = entity.get("name").textValue(); |
| 582 | + } catch (NullPointerException e) { |
584 | 583 | LOGGER.error("The service response for the root URI '" + rootUri + "' is not JSON.", e); |
585 | 584 | fail("The service response for the root URI '" + rootUri + "' is not JSON."); |
586 | 585 | return; |
@@ -611,10 +610,10 @@ public void checkServiceRootUri(ServerSettings serverSettings, ServerVersion ver |
611 | 610 | } |
612 | 611 | } |
613 | 612 | 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()); |
618 | 617 | if (allMatching.isEmpty()) { |
619 | 618 | LOGGER.info("Server implements unknown requirement: {}", reqItem); |
620 | 619 | } |
|
0 commit comments