Skip to content

Commit 37016bc

Browse files
author
Behnam Mozafari
committed
Added unit test to test config endpoint
1 parent d9d93fd commit 37016bc

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

src/test/java/com/uid2/core/vertx/TestCoreVerticle.java

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
package com.uid2.core.vertx;
2+
import com.google.gson.JsonParser;
23
import com.uid2.core.model.ConfigStore;
34
import com.uid2.core.model.SecretStore;
45
import com.uid2.core.service.*;
@@ -9,14 +10,19 @@
910
import com.uid2.shared.attest.IAttestationTokenService;
1011
import com.uid2.shared.attest.JwtService;
1112
import com.uid2.shared.auth.*;
13+
import com.uid2.shared.cloud.CloudStorageException;
1214
import com.uid2.shared.cloud.ICloudStorage;
1315
import com.uid2.shared.secure.AttestationException;
1416
import com.uid2.shared.secure.AttestationFailure;
1517
import com.uid2.shared.secure.AttestationResult;
1618
import com.uid2.shared.secure.ICoreAttestationService;
1719
import com.uid2.shared.store.reader.RotatingCloudEncryptionKeyProvider;
20+
import io.vertx.config.ConfigRetriever;
21+
import io.vertx.config.ConfigRetrieverOptions;
22+
import io.vertx.config.ConfigStoreOptions;
1823
import io.vertx.core.*;
1924
import io.vertx.core.buffer.Buffer;
25+
import io.vertx.core.json.Json;
2026
import io.vertx.core.json.JsonArray;
2127
import io.vertx.core.json.JsonObject;
2228
import io.vertx.ext.web.client.HttpResponse;
@@ -39,10 +45,14 @@
3945

4046
import javax.crypto.Cipher;
4147
import java.io.ByteArrayInputStream;
48+
import java.io.IOException;
4249
import java.net.URL;
50+
import java.nio.file.Files;
51+
import java.nio.file.Paths;
4352
import java.security.KeyPair;
4453
import java.security.KeyPairGenerator;
4554
import java.security.SecureRandom;
55+
import java.sql.SQLOutput;
4656
import java.time.Instant;
4757
import java.util.*;
4858
import java.util.concurrent.Callable;
@@ -75,7 +85,6 @@ public class TestCoreVerticle {
7585

7686
private static final String attestationProtocol = "test-attestation-protocol";
7787
private static final String attestationProtocolPublic = "trusted";
78-
7988
@BeforeEach
8089
void deployVerticle(TestInfo info, Vertx vertx, VertxTestContext testContext) throws Throwable {
8190
JsonObject config = new JsonObject();
@@ -874,4 +883,27 @@ void keysRefreshSuccessNoHeaderVersion(Vertx vertx, VertxTestContext testContext
874883
}
875884
});
876885
}
886+
887+
@Test
888+
void getConfigSuccess(Vertx vertx, VertxTestContext testContext) throws Exception {
889+
// Load expected config
890+
String expectedConfigString = Files.readString(Paths.get("conf/dummy-config.json")).trim();
891+
JsonObject expectedConfig = new JsonObject(expectedConfigString);
892+
893+
// Make HTTP Get request to /config endpoint
894+
this.get(vertx, Endpoints.CONFIG.toString(), ar -> {
895+
if (ar.succeeded()) {
896+
HttpResponse<Buffer> response = ar.result();
897+
System.out.println("Response: " + response.bodyAsString());
898+
// Validate response
899+
assertEquals(200, response.statusCode());
900+
assertEquals("application/json", response.getHeader("content-type"));
901+
JsonObject actualConfig = new JsonObject(response.bodyAsString());
902+
assertEquals(expectedConfig, actualConfig);
903+
testContext.completeNow();
904+
} else {
905+
testContext.failNow(ar.cause());
906+
}
907+
});
908+
}
877909
}

0 commit comments

Comments
 (0)