diff --git a/pom.xml b/pom.xml
index 5a8363e44..59daeb5fe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.uid2
uid2-operator
- 5.40.106
+ 5.40.107-alpha-111-SNAPSHOT
UTF-8
@@ -22,7 +22,7 @@
2.1.0
2.1.0
2.1.0
- 7.19.0
+ 7.20.0
${project.version}
21
21
diff --git a/src/main/java/com/uid2/operator/Main.java b/src/main/java/com/uid2/operator/Main.java
index dad32611d..6aa069604 100644
--- a/src/main/java/com/uid2/operator/Main.java
+++ b/src/main/java/com/uid2/operator/Main.java
@@ -467,14 +467,14 @@ public DistributionStatisticConfig configure(Meter.Id id, DistributionStatisticC
.register(globalRegistry);
}
- private Map.Entry createUidClients(Vertx vertx, String attestationUrl, String clientApiToken, Handler> responseWatcher) throws Exception {
+ private Map.Entry createUidClients(Vertx vertx, String attestationUrl, String clientApiToken, Handler> responseWatcher) throws Exception {
AttestationResponseHandler attestationResponseHandler = getAttestationTokenRetriever(vertx, attestationUrl, clientApiToken, responseWatcher);
UidCoreClient coreClient = new UidCoreClient(clientApiToken, CloudUtils.defaultProxy, attestationResponseHandler);
UidOptOutClient optOutClient = new UidOptOutClient(clientApiToken, CloudUtils.defaultProxy, attestationResponseHandler);
return new AbstractMap.SimpleEntry<>(coreClient, optOutClient);
}
- private AttestationResponseHandler getAttestationTokenRetriever(Vertx vertx, String attestationUrl, String clientApiToken, Handler> responseWatcher) throws Exception {
+ private AttestationResponseHandler getAttestationTokenRetriever(Vertx vertx, String attestationUrl, String clientApiToken, Handler> responseWatcher) throws Exception {
String enclavePlatform = this.config.getString(Const.Config.EnclavePlatformProp);
String operatorType = this.config.getString(Const.Config.OperatorTypeProp, "");
diff --git a/src/main/java/com/uid2/operator/vertx/OperatorShutdownHandler.java b/src/main/java/com/uid2/operator/vertx/OperatorShutdownHandler.java
index 113c14d3e..84075fb03 100644
--- a/src/main/java/com/uid2/operator/vertx/OperatorShutdownHandler.java
+++ b/src/main/java/com/uid2/operator/vertx/OperatorShutdownHandler.java
@@ -1,6 +1,8 @@
package com.uid2.operator.vertx;
import com.uid2.operator.service.ShutdownService;
+import com.uid2.shared.attest.AttestationResponseCode;
+import lombok.extern.java.Log;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.utils.Pair;
@@ -52,12 +54,12 @@ public void logSaltFailureAtInterval() {
}
}
- public void handleAttestResponse(Pair response) {
- if (response.left() == 401) {
- LOGGER.error("core attestation failed with 401, shutting down operator, core response: " + response.right());
+ public void handleAttestResponse(Pair response) {
+ if (response.left() == AttestationResponseCode.AttestationFailure) {
+ LOGGER.error("core attestation failed with AttestationFailure, shutting down operator, core response: {}", response.right());
this.shutdownService.Shutdown(1);
}
- if (response.left() == 200) {
+ if (response.left() == AttestationResponseCode.Success) {
attestFailureStartTime.set(null);
} else {
Instant t = attestFailureStartTime.get();
diff --git a/src/test/java/com/uid2/operator/OperatorShutdownHandlerTest.java b/src/test/java/com/uid2/operator/OperatorShutdownHandlerTest.java
index e4323226c..10a00b813 100644
--- a/src/test/java/com/uid2/operator/OperatorShutdownHandlerTest.java
+++ b/src/test/java/com/uid2/operator/OperatorShutdownHandlerTest.java
@@ -5,6 +5,7 @@
import ch.qos.logback.core.read.ListAppender;
import com.uid2.operator.service.ShutdownService;
import com.uid2.operator.vertx.OperatorShutdownHandler;
+import com.uid2.shared.attest.AttestationResponseCode;
import io.vertx.core.Vertx;
import io.vertx.junit5.VertxExtension;
import io.vertx.junit5.VertxTestContext;
@@ -51,17 +52,18 @@ void afterEach() throws Exception {
}
@Test
- void shutdownOnAttest401(VertxTestContext testContext) {
+ void shutdownOnAttestFailure(VertxTestContext testContext) {
ListAppender logWatcher = new ListAppender<>();
logWatcher.start();
((Logger) LoggerFactory.getLogger(OperatorShutdownHandler.class)).addAppender(logWatcher);
// Revoke auth
try {
- this.operatorShutdownHandler.handleAttestResponse(Pair.of(401, "Unauthorized"));
+ this.operatorShutdownHandler.handleAttestResponse(Pair.of(AttestationResponseCode.AttestationFailure, "Unauthorized"));
} catch (RuntimeException e) {
verify(shutdownService).Shutdown(1);
- Assertions.assertTrue(logWatcher.list.get(0).getFormattedMessage().contains("core attestation failed with 401, shutting down operator, core response: "));
+ String message = logWatcher.list.get(0).getFormattedMessage();
+ Assertions.assertEquals("core attestation failed with AttestationFailure, shutting down operator, core response: Unauthorized", logWatcher.list.get(0).getFormattedMessage());
testContext.completeNow();
}
}
@@ -72,11 +74,11 @@ void shutdownOnAttestFailedTooLong(VertxTestContext testContext) {
logWatcher.start();
((Logger) LoggerFactory.getLogger(OperatorShutdownHandler.class)).addAppender(logWatcher);
- this.operatorShutdownHandler.handleAttestResponse(Pair.of(500, ""));
+ this.operatorShutdownHandler.handleAttestResponse(Pair.of(AttestationResponseCode.RetryableFailure, ""));
when(clock.instant()).thenAnswer(i -> Instant.now().plus(12, ChronoUnit.HOURS).plusSeconds(60));
try {
- this.operatorShutdownHandler.handleAttestResponse(Pair.of(500, ""));
+ this.operatorShutdownHandler.handleAttestResponse(Pair.of(AttestationResponseCode.RetryableFailure, ""));
} catch (RuntimeException e) {
verify(shutdownService).Shutdown(1);
Assertions.assertTrue(logWatcher.list.get(0).getFormattedMessage().contains("core attestation has been in failed state for too long. shutting down operator"));
@@ -90,13 +92,13 @@ void attestRecoverOnSuccess(VertxTestContext testContext) {
logWatcher.start();
((Logger) LoggerFactory.getLogger(OperatorShutdownHandler.class)).addAppender(logWatcher);
- this.operatorShutdownHandler.handleAttestResponse(Pair.of(500, ""));
+ this.operatorShutdownHandler.handleAttestResponse(Pair.of(AttestationResponseCode.RetryableFailure, ""));
when(clock.instant()).thenAnswer(i -> Instant.now().plus(6, ChronoUnit.HOURS));
- this.operatorShutdownHandler.handleAttestResponse(Pair.of(200, ""));
+ this.operatorShutdownHandler.handleAttestResponse(Pair.of(AttestationResponseCode.Success, ""));
when(clock.instant()).thenAnswer(i -> Instant.now().plus(12, ChronoUnit.HOURS));
assertDoesNotThrow(() -> {
- this.operatorShutdownHandler.handleAttestResponse(Pair.of(500, ""));
+ this.operatorShutdownHandler.handleAttestResponse(Pair.of(AttestationResponseCode.RetryableFailure, ""));
});
verify(shutdownService, never()).Shutdown(anyInt());
testContext.completeNow();