|
1 | 1 | package com.uid2.core.vertx; |
| 2 | +import com.google.gson.JsonParser; |
2 | 3 | import com.uid2.core.model.ConfigStore; |
3 | 4 | import com.uid2.core.model.SecretStore; |
4 | 5 | import com.uid2.core.service.*; |
|
9 | 10 | import com.uid2.shared.attest.IAttestationTokenService; |
10 | 11 | import com.uid2.shared.attest.JwtService; |
11 | 12 | import com.uid2.shared.auth.*; |
| 13 | +import com.uid2.shared.cloud.CloudStorageException; |
12 | 14 | import com.uid2.shared.cloud.ICloudStorage; |
13 | 15 | import com.uid2.shared.secure.AttestationException; |
14 | 16 | import com.uid2.shared.secure.AttestationFailure; |
15 | 17 | import com.uid2.shared.secure.AttestationResult; |
16 | 18 | import com.uid2.shared.secure.ICoreAttestationService; |
17 | 19 | 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; |
18 | 23 | import io.vertx.core.*; |
19 | 24 | import io.vertx.core.buffer.Buffer; |
| 25 | +import io.vertx.core.json.Json; |
20 | 26 | import io.vertx.core.json.JsonArray; |
21 | 27 | import io.vertx.core.json.JsonObject; |
22 | 28 | import io.vertx.ext.web.client.HttpResponse; |
|
39 | 45 |
|
40 | 46 | import javax.crypto.Cipher; |
41 | 47 | import java.io.ByteArrayInputStream; |
| 48 | +import java.io.IOException; |
42 | 49 | import java.net.URL; |
| 50 | +import java.nio.file.Files; |
| 51 | +import java.nio.file.Paths; |
43 | 52 | import java.security.KeyPair; |
44 | 53 | import java.security.KeyPairGenerator; |
45 | 54 | import java.security.SecureRandom; |
| 55 | +import java.sql.SQLOutput; |
46 | 56 | import java.time.Instant; |
47 | 57 | import java.util.*; |
48 | 58 | import java.util.concurrent.Callable; |
@@ -75,7 +85,6 @@ public class TestCoreVerticle { |
75 | 85 |
|
76 | 86 | private static final String attestationProtocol = "test-attestation-protocol"; |
77 | 87 | private static final String attestationProtocolPublic = "trusted"; |
78 | | - |
79 | 88 | @BeforeEach |
80 | 89 | void deployVerticle(TestInfo info, Vertx vertx, VertxTestContext testContext) throws Throwable { |
81 | 90 | JsonObject config = new JsonObject(); |
@@ -874,4 +883,27 @@ void keysRefreshSuccessNoHeaderVersion(Vertx vertx, VertxTestContext testContext |
874 | 883 | } |
875 | 884 | }); |
876 | 885 | } |
| 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 | + } |
877 | 909 | } |
0 commit comments