diff --git a/pom.xml b/pom.xml
index 0e18883..037d81c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
21
21
4.5.13
- 8.1.25
+ 9.1.0
diff --git a/src/test/java/app/component/Core.java b/src/test/java/app/component/Core.java
index eb2299b..4b9677f 100644
--- a/src/test/java/app/component/Core.java
+++ b/src/test/java/app/component/Core.java
@@ -1,15 +1,17 @@
package app.component;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.uid2.shared.util.Mapper;
import common.Const;
import common.EnvUtil;
import common.HttpClient;
-import common.Mapper;
import com.fasterxml.jackson.databind.JsonNode;
import java.util.HashMap;
import java.util.Map;
public class Core extends App {
+ private static final ObjectMapper OBJECT_MAPPER = Mapper.getInstance();
private static final String OPERATOR_API_KEY = EnvUtil.getEnv(Const.Config.Core.OPERATOR_API_KEY);
private static final String OPTOUT_API_KEY = EnvUtil.getEnv(Const.Config.Core.OPTOUT_API_KEY);
public static final String CORE_URL = EnvUtil.getEnv(Const.Config.Core.CORE_URL);
@@ -25,7 +27,7 @@ public Core(String host, String name) {
public JsonNode attest(String attestationRequest) throws Exception {
String response = HttpClient.post(getBaseUrl() + "/attest", attestationRequest, OPERATOR_API_KEY);
- return Mapper.OBJECT_MAPPER.readTree(response);
+ return OBJECT_MAPPER.readTree(response);
}
public JsonNode getWithCoreApiToken(String path) throws Exception {
@@ -37,11 +39,11 @@ public JsonNode getWithCoreApiToken(String path, boolean encrypted) throws Excep
if (encrypted)
headers.put("Encrypted", "true");
String response = HttpClient.get(getBaseUrl() + path, OPERATOR_API_KEY, headers);
- return Mapper.OBJECT_MAPPER.readTree(response);
+ return OBJECT_MAPPER.readTree(response);
}
public JsonNode getWithOptOutApiToken(String path) throws Exception {
String response = HttpClient.get(getBaseUrl() + path, OPTOUT_API_KEY);
- return Mapper.OBJECT_MAPPER.readTree(response);
+ return OBJECT_MAPPER.readTree(response);
}
}
diff --git a/src/test/java/app/component/Operator.java b/src/test/java/app/component/Operator.java
index 0050949..99ebf3f 100644
--- a/src/test/java/app/component/Operator.java
+++ b/src/test/java/app/component/Operator.java
@@ -1,10 +1,12 @@
package app.component;
import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.uid2.client.IdentityScope;
import com.uid2.client.*;
+import com.uid2.shared.util.Mapper;
import common.*;
import lombok.Getter;
import okhttp3.Request;
@@ -66,6 +68,7 @@ private record V2Envelope(String envelope, byte[] nonce) {
// When running via IntelliJ, environment variables are defined in the uid2-dev-workspace repo under .idea/runConfigurations.
// Test data is defined in the uid2-admin repo.
+ private static final ObjectMapper OBJECT_MAPPER = Mapper.getInstance();
private static final SecureRandom SECURE_RANDOM = new SecureRandom();
private static final int TIMESTAMP_LENGTH = 8;
private static final int PUBLIC_KEY_PREFIX_LENGTH = 9;
@@ -340,14 +343,14 @@ private JsonNode v2DecryptEncryptedResponse(String encryptedResponse, byte[] non
cons.setAccessible(true);
Uid2Helper uid2Helper = cons.newInstance(secret);
String decryptedResponse = uid2Helper.decrypt(encryptedResponse, nonceInRequest);
- return Mapper.OBJECT_MAPPER.readTree(decryptedResponse);
+ return OBJECT_MAPPER.readTree(decryptedResponse);
}
private JsonNode v2DecryptResponseWithoutNonce(String response, byte[] key) throws Exception {
Method decryptTokenRefreshResponseMethod = Uid2Helper.class.getDeclaredMethod("decryptTokenRefreshResponse", String.class, byte[].class);
decryptTokenRefreshResponseMethod.setAccessible(true);
String decryptedResponse = (String) decryptTokenRefreshResponseMethod.invoke(Uid2Helper.class, response, key);
- return Mapper.OBJECT_MAPPER.readTree(decryptedResponse);
+ return OBJECT_MAPPER.readTree(decryptedResponse);
}
private byte[] encryptGDM(byte[] b, byte[] secretBytes) throws Exception {
diff --git a/src/test/java/common/EnvUtil.java b/src/test/java/common/EnvUtil.java
index e950c33..361ab78 100644
--- a/src/test/java/common/EnvUtil.java
+++ b/src/test/java/common/EnvUtil.java
@@ -2,6 +2,8 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.uid2.shared.util.Mapper;
import org.apache.commons.lang3.StringUtils;
import org.junit.platform.commons.logging.Logger;
import org.junit.platform.commons.logging.LoggerFactory;
@@ -11,6 +13,7 @@
public final class EnvUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(EnvUtil.class);
+ private static final ObjectMapper OBJECT_MAPPER = Mapper.getInstance();
private static final Map ARGS = new HashMap<>();
static {
@@ -20,7 +23,7 @@ public final class EnvUtil {
if (StringUtils.isNotBlank(args)) {
TypeReference> typeRef = new TypeReference<>() {
};
- ARGS.putAll(Mapper.OBJECT_MAPPER.readValue(args, typeRef));
+ ARGS.putAll(OBJECT_MAPPER.readValue(args, typeRef));
}
} catch (JsonProcessingException e) {
LOGGER.error(e::getMessage);
diff --git a/src/test/java/common/HttpClient.java b/src/test/java/common/HttpClient.java
index 396f69f..47ab050 100644
--- a/src/test/java/common/HttpClient.java
+++ b/src/test/java/common/HttpClient.java
@@ -1,12 +1,17 @@
package common;
import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.uid2.shared.util.Mapper;
+import lombok.Getter;
import okhttp3.*;
import java.util.Map;
import java.util.Objects;
public final class HttpClient {
+ private static final ObjectMapper OBJECT_MAPPER = Mapper.getInstance();
+
public static final OkHttpClient RAW_CLIENT = new OkHttpClient();
public static final MediaType JSON = MediaType.get("application/json; charset=utf-8");
@@ -15,6 +20,7 @@ public enum HttpMethod {
POST
}
+ @Getter
public static class HttpException extends Exception {
private final HttpMethod method;
private final String url;
@@ -32,28 +38,8 @@ public HttpException(HttpMethod method, String url, int code, String codeMessage
this.response = response;
}
- public HttpMethod getMethod() {
- return method;
- }
-
- public String getUrl() {
- return url;
- }
-
- public int getCode() {
- return code;
- }
-
- public String getCodeMessage() {
- return codeMessage;
- }
-
- public String getResponse() {
- return response;
- }
-
public JsonNode getResponseJson() throws Exception {
- return Mapper.OBJECT_MAPPER.readTree(response);
+ return OBJECT_MAPPER.readTree(response);
}
private static String createErrorMessage(HttpMethod method, String url, int code, String message, String response) {
diff --git a/src/test/java/common/Mapper.java b/src/test/java/common/Mapper.java
deleted file mode 100644
index 92d27b1..0000000
--- a/src/test/java/common/Mapper.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package common;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public final class Mapper {
- public static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
-
- private Mapper() {
- }
-}
diff --git a/src/test/java/suite/operator/V2ApiOperatorPublicOnlyTest.java b/src/test/java/suite/operator/V2ApiOperatorPublicOnlyTest.java
index 27dc3f9..db2a87a 100644
--- a/src/test/java/suite/operator/V2ApiOperatorPublicOnlyTest.java
+++ b/src/test/java/suite/operator/V2ApiOperatorPublicOnlyTest.java
@@ -1,13 +1,10 @@
package suite.operator;
import common.HttpClient;
-import common.Mapper;
import app.component.Operator;
import com.fasterxml.jackson.databind.JsonNode;
-import com.uid2.client.DecryptionResponse;
import com.uid2.client.IdentityTokens;
import com.uid2.client.TokenRefreshResponse;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.condition.EnabledIf;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
diff --git a/src/test/java/suite/operator/V2ApiOperatorTest.java b/src/test/java/suite/operator/V2ApiOperatorTest.java
index e87b190..af711d1 100644
--- a/src/test/java/suite/operator/V2ApiOperatorTest.java
+++ b/src/test/java/suite/operator/V2ApiOperatorTest.java
@@ -1,8 +1,9 @@
package suite.operator;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.uid2.shared.util.Mapper;
import common.Const;
import common.EnvUtil;
-import common.Mapper;
import app.component.Operator;
import com.fasterxml.jackson.databind.JsonNode;
import com.uid2.client.*;
@@ -25,6 +26,7 @@ public class V2ApiOperatorTest {
// The advertiser token will be different on every call due to randomness used in encryption,
// so we can't assert on it
+ private static final ObjectMapper OBJECT_MAPPER = Mapper.getInstance();
private static final String CLIENT_SITE_ID = EnvUtil.getEnv(Const.Config.Operator.CLIENT_SITE_ID);
@ParameterizedTest(name = "/v2/token/generate - {0} - {2}")
@@ -86,7 +88,7 @@ public void testV2TokenValidate(String label, Operator operator, String operator
String advertisingToken = currentIdentity.getAdvertisingToken();
JsonNode response = operator.v2TokenValidate(type, identity, advertisingToken);
- assertThat(response).isEqualTo(Mapper.OBJECT_MAPPER.readTree("{\"body\":true,\"status\":\"success\"}"));
+ assertThat(response).isEqualTo(OBJECT_MAPPER.readTree("{\"body\":true,\"status\":\"success\"}"));
}
@ParameterizedTest(name = "/v2/identity/map - {0} - {2}")
diff --git a/src/test/java/suite/optout/OptoutTest.java b/src/test/java/suite/optout/OptoutTest.java
index 2bac030..004e5a6 100644
--- a/src/test/java/suite/optout/OptoutTest.java
+++ b/src/test/java/suite/optout/OptoutTest.java
@@ -1,9 +1,10 @@
package suite.optout;
-import common.Mapper;
import app.component.Operator;
import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.uid2.client.IdentityTokens;
+import com.uid2.shared.util.Mapper;
import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
@@ -24,6 +25,7 @@
public class OptoutTest {
// TODO: Test failure case
+ private static final ObjectMapper OBJECT_MAPPER = Mapper.getInstance();
private static final int OPTOUT_DELAY_MS = 1000;
private static final int OPTOUT_WAIT_SECONDS = 300;
@@ -46,14 +48,14 @@ public void testV2LogoutWithV2TokenGenerate(String label, Operator operator, Str
IdentityTokens generateResponse = operator.v2TokenGenerate(type, identity, false).getIdentity();
Thread.sleep(OPTOUT_DELAY_MS);
JsonNode logoutResponse = operator.v2TokenLogout(type, identity);
- assertThat(logoutResponse).isEqualTo(Mapper.OBJECT_MAPPER.readTree("{\"body\":{\"optout\":\"OK\"},\"status\":\"success\"}"));
+ assertThat(logoutResponse).isEqualTo(OBJECT_MAPPER.readTree("{\"body\":{\"optout\":\"OK\"},\"status\":\"success\"}"));
addToken(
label,
operator,
"v2",
"v2",
generateResponse.getRefreshToken(),
- Mapper.OBJECT_MAPPER.readTree(generateResponse.getJsonString()).at("/refresh_response_key").asText()
+ OBJECT_MAPPER.readTree(generateResponse.getJsonString()).at("/refresh_response_key").asText()
);
}
@@ -67,14 +69,14 @@ public void testV2LogoutWithV2TokenGenerateOldParticipant(String label, Operator
IdentityTokens generateResponse = operator.v2TokenGenerate(type, identity, true).getIdentity();
Thread.sleep(OPTOUT_DELAY_MS);
JsonNode logoutResponse = operator.v2TokenLogout(type, identity);
- assertThat(logoutResponse).isEqualTo(Mapper.OBJECT_MAPPER.readTree("{\"body\":{\"optout\":\"OK\"},\"status\":\"success\"}"));
+ assertThat(logoutResponse).isEqualTo(OBJECT_MAPPER.readTree("{\"body\":{\"optout\":\"OK\"},\"status\":\"success\"}"));
addToken(
"old participant " + label,
operator,
"v2",
"v2",
generateResponse.getRefreshToken(),
- Mapper.OBJECT_MAPPER.readTree(generateResponse.getJsonString()).at("/refresh_response_key").asText()
+ OBJECT_MAPPER.readTree(generateResponse.getJsonString()).at("/refresh_response_key").asText()
);
}
@@ -92,7 +94,7 @@ public void testV2LogoutWithV2IdentityMap(String label, Operator operator, Strin
if (toOptOut) {
Thread.sleep(OPTOUT_DELAY_MS);
JsonNode logoutResponse = operator.v2TokenLogout(type, emailOrPhone);
- assertThat(logoutResponse).isEqualTo(Mapper.OBJECT_MAPPER.readTree("{\"body\":{\"optout\":\"OK\"},\"status\":\"success\"}"));
+ assertThat(logoutResponse).isEqualTo(OBJECT_MAPPER.readTree("{\"body\":{\"optout\":\"OK\"},\"status\":\"success\"}"));
}
outputAdvertisingIdArgs.add(Arguments.of(label, operator, operatorName, rawUID, toOptOut, beforeOptOutTimestamp));
}
@@ -105,7 +107,7 @@ public void testV2LogoutWithV2IdentityMap(String label, Operator operator, Strin
public void testV2TokenRefreshAfterOptOut(String label, Operator operator, String tokenGenerateVersion, String tokenLogoutVersion, String refreshToken, String refreshResponseKey) throws Exception {
assumeThat(tokenGenerateVersion).isEqualTo("v2");
- with().pollInterval(5, TimeUnit.SECONDS).await("Get V2 Token Response").atMost(OPTOUT_WAIT_SECONDS, TimeUnit.SECONDS).until(() -> operator.v2TokenRefresh(refreshToken, refreshResponseKey).equals(Mapper.OBJECT_MAPPER.readTree("{\"status\":\"optout\"}")));
+ with().pollInterval(5, TimeUnit.SECONDS).await("Get V2 Token Response").atMost(OPTOUT_WAIT_SECONDS, TimeUnit.SECONDS).until(() -> operator.v2TokenRefresh(refreshToken, refreshResponseKey).equals(OBJECT_MAPPER.readTree("{\"status\":\"optout\"}")));
}
@Order(5)
@@ -164,7 +166,7 @@ private void addToken(String label, Operator operator, String tokenGenerateVersi
private void waitForOptOutResponse(Function tokenRefreshFunction, String refreshToken, String expectedResponse) {
with().pollInterval(5, TimeUnit.SECONDS).await("Get Token Response").atMost(OPTOUT_WAIT_SECONDS, TimeUnit.SECONDS).until(() -> {
JsonNode response = tokenRefreshFunction.apply(refreshToken);
- return response.equals(Mapper.OBJECT_MAPPER.readTree(expectedResponse));
+ return response.equals(OBJECT_MAPPER.readTree(expectedResponse));
});
}
}