From 22ed711b8e12df8a13015546984e975beb44553a Mon Sep 17 00:00:00 2001 From: Katherine Chen Date: Wed, 16 Apr 2025 09:00:44 +1000 Subject: [PATCH 1/3] Add E2E test for remote config --- src/test/java/app/component/Core.java | 12 ++++++++ src/test/java/suite/core/CoreTest.java | 42 ++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/src/test/java/app/component/Core.java b/src/test/java/app/component/Core.java index 4b9677f..d659f10 100644 --- a/src/test/java/app/component/Core.java +++ b/src/test/java/app/component/Core.java @@ -46,4 +46,16 @@ public JsonNode getWithOptOutApiToken(String path) throws Exception { String response = HttpClient.get(getBaseUrl() + path, OPTOUT_API_KEY); return OBJECT_MAPPER.readTree(response); } + + public JsonNode getOperatorConfig() throws Exception { + return getOperatorConfig(false); + } + + public JsonNode getOperatorConfig(boolean encrypted) throws Exception { + Map headers = new HashMap<>(); + if (encrypted) + headers.put("Encrypted", "true"); + String response = HttpClient.get(getBaseUrl() + "/operator/config", OPERATOR_API_KEY, headers); + return OBJECT_MAPPER.readTree(response); + } } diff --git a/src/test/java/suite/core/CoreTest.java b/src/test/java/suite/core/CoreTest.java index 4ee9c0e..c9a1cd8 100644 --- a/src/test/java/suite/core/CoreTest.java +++ b/src/test/java/suite/core/CoreTest.java @@ -70,4 +70,46 @@ public void testAttest_ValidAttestationRequest(Core core) throws Exception { private static JsonObject getConfig() { return new JsonObject("{ \"aws_kms_jwt_signing_public_keys\": \"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmvwB41qI5Fe41PDbXqcX5uOvSvfKh8l9QV0O3M+NsB4lKqQEP0t1hfoiXTpOgKz1ArYxHsQ2LeXifX4uwEbYJFlpVM+tyQkTWQjBOw6fsLYK2Xk4X2ylNXUUf7x3SDiOVxyvTh3OZW9kqrDBN9JxSoraNLyfw0hhW0SHpfs699SehgbQ7QWep/gVlKRLIz0XAXaZNw24s79ORcQlrCE6YD0PgQmpI/dK5xMML82n6y3qcTlywlGaU7OGIMdD+CTXA3BcOkgXeqZTXNaX1u6jCTa1lvAczun6avp5VZ4TFiuPo+y4rJ3GU+14cyT5NckEcaTKSvd86UdwK5Id9tl3bQIDAQAB\"}"); } + + @ParameterizedTest(name = "/operator/config - {0}") + @MethodSource({ + "suite.core.TestData#baseArgs" + }) + public void testOpertorConfig_ValidRequest(Core core) throws Exception { + JsonNode response = core.getOperatorConfig(); + + assertAll("testOpertorConfig_ValidRequest has valid response", + () -> assertNotNull(response), + () -> assertEquals(1, response.get("version").asInt()), // Changed to asInt() + () -> { + JsonNode runtimeConfig = response.get("runtime_config"); + assertNotNull(runtimeConfig, "runtime_config should not be null"); + assertEquals(3600, runtimeConfig.get("identity_token_expires_after_seconds").asInt(), "identity_token_expires_after_seconds"); + assertEquals(86400, runtimeConfig.get("refresh_token_expires_after_seconds").asInt(), "refresh_token_expires_after_seconds"); + assertEquals(900, runtimeConfig.get("refresh_identity_token_after_seconds").asInt(), "refresh_identity_token_after_seconds"); + assertEquals(2592000, runtimeConfig.get("sharing_token_expiry_seconds").asInt(), "sharing_token_expiry_seconds"); + } + ); + } + + @ParameterizedTest(name = "/operator/config - {0}") + @MethodSource({ + "suite.core.TestData#baseArgs" + }) + public void testOpertorConfig_ValidEncryptedRequest(Core core) throws Exception { + JsonNode response = core.getOperatorConfig(true); + + assertAll("testOpertorConfig_ValidEncryptedRequest has valid response", + () -> assertNotNull(response), + () -> assertEquals(1, response.get("version").asInt()), // Changed to asInt() + () -> { + JsonNode runtimeConfig = response.get("runtime_config"); + assertNotNull(runtimeConfig, "runtime_config should not be null"); + assertEquals(3600, runtimeConfig.get("identity_token_expires_after_seconds").asInt(), "identity_token_expires_after_seconds"); + assertEquals(86400, runtimeConfig.get("refresh_token_expires_after_seconds").asInt(), "refresh_token_expires_after_seconds"); + assertEquals(900, runtimeConfig.get("refresh_identity_token_after_seconds").asInt(), "refresh_identity_token_after_seconds"); + assertEquals(2592000, runtimeConfig.get("sharing_token_expiry_seconds").asInt(), "sharing_token_expiry_seconds"); + } + ); + } } From f6fcc21605c06f8ed03558b5a65f9ebcc3d620f9 Mon Sep 17 00:00:00 2001 From: Katherine Chen Date: Wed, 16 Apr 2025 14:06:49 +1000 Subject: [PATCH 2/3] Remove encrypted check --- src/test/java/app/component/Core.java | 6 ------ src/test/java/suite/core/CoreTest.java | 27 +------------------------- 2 files changed, 1 insertion(+), 32 deletions(-) diff --git a/src/test/java/app/component/Core.java b/src/test/java/app/component/Core.java index d659f10..27f32cd 100644 --- a/src/test/java/app/component/Core.java +++ b/src/test/java/app/component/Core.java @@ -48,13 +48,7 @@ public JsonNode getWithOptOutApiToken(String path) throws Exception { } public JsonNode getOperatorConfig() throws Exception { - return getOperatorConfig(false); - } - - public JsonNode getOperatorConfig(boolean encrypted) throws Exception { Map headers = new HashMap<>(); - if (encrypted) - headers.put("Encrypted", "true"); String response = HttpClient.get(getBaseUrl() + "/operator/config", OPERATOR_API_KEY, headers); return OBJECT_MAPPER.readTree(response); } diff --git a/src/test/java/suite/core/CoreTest.java b/src/test/java/suite/core/CoreTest.java index c9a1cd8..9b9fc20 100644 --- a/src/test/java/suite/core/CoreTest.java +++ b/src/test/java/suite/core/CoreTest.java @@ -80,35 +80,10 @@ public void testOpertorConfig_ValidRequest(Core core) throws Exception { assertAll("testOpertorConfig_ValidRequest has valid response", () -> assertNotNull(response), - () -> assertEquals(1, response.get("version").asInt()), // Changed to asInt() + () -> assertInstanceOf(Integer.class, response.get("version").asInt()), () -> { JsonNode runtimeConfig = response.get("runtime_config"); assertNotNull(runtimeConfig, "runtime_config should not be null"); - assertEquals(3600, runtimeConfig.get("identity_token_expires_after_seconds").asInt(), "identity_token_expires_after_seconds"); - assertEquals(86400, runtimeConfig.get("refresh_token_expires_after_seconds").asInt(), "refresh_token_expires_after_seconds"); - assertEquals(900, runtimeConfig.get("refresh_identity_token_after_seconds").asInt(), "refresh_identity_token_after_seconds"); - assertEquals(2592000, runtimeConfig.get("sharing_token_expiry_seconds").asInt(), "sharing_token_expiry_seconds"); - } - ); - } - - @ParameterizedTest(name = "/operator/config - {0}") - @MethodSource({ - "suite.core.TestData#baseArgs" - }) - public void testOpertorConfig_ValidEncryptedRequest(Core core) throws Exception { - JsonNode response = core.getOperatorConfig(true); - - assertAll("testOpertorConfig_ValidEncryptedRequest has valid response", - () -> assertNotNull(response), - () -> assertEquals(1, response.get("version").asInt()), // Changed to asInt() - () -> { - JsonNode runtimeConfig = response.get("runtime_config"); - assertNotNull(runtimeConfig, "runtime_config should not be null"); - assertEquals(3600, runtimeConfig.get("identity_token_expires_after_seconds").asInt(), "identity_token_expires_after_seconds"); - assertEquals(86400, runtimeConfig.get("refresh_token_expires_after_seconds").asInt(), "refresh_token_expires_after_seconds"); - assertEquals(900, runtimeConfig.get("refresh_identity_token_after_seconds").asInt(), "refresh_identity_token_after_seconds"); - assertEquals(2592000, runtimeConfig.get("sharing_token_expiry_seconds").asInt(), "sharing_token_expiry_seconds"); } ); } From c20c359f489f2eee4f07dc6950c588613c105cdd Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Wed, 16 Apr 2025 05:43:18 +0000 Subject: [PATCH 3/3] [CI Pipeline] Released Snapshot version: 4.0.1-alpha-66-SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index eed1e4f..537b473 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.uid2 uid2-e2e - 4.0.0 + 4.0.1-alpha-66-SNAPSHOT 21