Skip to content

Commit d1d2d93

Browse files
committed
remove forkmode try restoring security manager
1 parent a4eaf90 commit d1d2d93

File tree

2 files changed

+49
-35
lines changed

2 files changed

+49
-35
lines changed

pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,6 @@
285285
<value>file:/dev/./urandom</value>
286286
</property>
287287
</systemProperties>
288-
<forkMode>once</forkMode>
289288
</configuration>
290289
</plugin>
291290
<plugin>

src/test/java/com/uid2/operator/OperatorShutdownHandlerTest.java

Lines changed: 49 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -58,56 +58,71 @@ void afterEach() throws Exception {
5858

5959
@Test
6060
void shutdownOn401(Vertx vertx, VertxTestContext testContext) {
61-
System.setSecurityManager(new NoExitSecurityManager());
62-
63-
ListAppender<ILoggingEvent> logWatcher = new ListAppender<>();
64-
logWatcher.start();
65-
((Logger) LoggerFactory.getLogger(OperatorShutdownHandler.class)).addAppender(logWatcher);
66-
67-
// Revoke auth
61+
SecurityManager origSecurityManager = System.getSecurityManager();
6862
try {
69-
this.operatorShutdownHandler.handleResponse(Pair.of(401, "Unauthorized"));
70-
} catch (RuntimeException e) {
71-
Assertions.assertTrue(logWatcher.list.get(0).getFormattedMessage().contains("core attestation failed with 401, shutting down operator, core response: "));
72-
testContext.completeNow();
63+
System.setSecurityManager(new NoExitSecurityManager());
64+
65+
ListAppender<ILoggingEvent> logWatcher = new ListAppender<>();
66+
logWatcher.start();
67+
((Logger) LoggerFactory.getLogger(OperatorShutdownHandler.class)).addAppender(logWatcher);
68+
69+
// Revoke auth
70+
try {
71+
this.operatorShutdownHandler.handleResponse(Pair.of(401, "Unauthorized"));
72+
} catch (RuntimeException e) {
73+
Assertions.assertTrue(logWatcher.list.get(0).getFormattedMessage().contains("core attestation failed with 401, shutting down operator, core response: "));
74+
testContext.completeNow();
75+
}
76+
} finally {
77+
System.setSecurityManager(origSecurityManager);
7378
}
7479
}
7580

7681
@Test
7782
void shutdownOnFailedTooLong(Vertx vertx, VertxTestContext testContext) {
78-
System.setSecurityManager(new NoExitSecurityManager());
79-
80-
ListAppender<ILoggingEvent> logWatcher = new ListAppender<>();
81-
logWatcher.start();
82-
((Logger) LoggerFactory.getLogger(OperatorShutdownHandler.class)).addAppender(logWatcher);
83+
SecurityManager origSecurityManager = System.getSecurityManager();
84+
try {
85+
System.setSecurityManager(new NoExitSecurityManager());
8386

84-
this.operatorShutdownHandler.handleResponse(Pair.of(500, ""));
87+
ListAppender<ILoggingEvent> logWatcher = new ListAppender<>();
88+
logWatcher.start();
89+
((Logger) LoggerFactory.getLogger(OperatorShutdownHandler.class)).addAppender(logWatcher);
8590

86-
when(clock.instant()).thenAnswer(i -> Instant.now().plus(12, ChronoUnit.HOURS));
87-
try {
8891
this.operatorShutdownHandler.handleResponse(Pair.of(500, ""));
89-
} catch (RuntimeException e) {
90-
Assertions.assertTrue(logWatcher.list.get(0).getFormattedMessage().contains("core attestation has been in failed state for too long. shutting down operator"));
91-
testContext.completeNow();
92+
93+
when(clock.instant()).thenAnswer(i -> Instant.now().plus(12, ChronoUnit.HOURS));
94+
try {
95+
this.operatorShutdownHandler.handleResponse(Pair.of(500, ""));
96+
} catch (RuntimeException e) {
97+
Assertions.assertTrue(logWatcher.list.get(0).getFormattedMessage().contains("core attestation has been in failed state for too long. shutting down operator"));
98+
testContext.completeNow();
99+
}
100+
} finally {
101+
System.setSecurityManager(origSecurityManager);
92102
}
93103
}
94104

95105
@Test
96106
void attestRecoverOnSuccess(Vertx vertx, VertxTestContext testContext) {
97-
System.setSecurityManager(new NoExitSecurityManager());
98-
99-
ListAppender<ILoggingEvent> logWatcher = new ListAppender<>();
100-
logWatcher.start();
101-
((Logger) LoggerFactory.getLogger(OperatorShutdownHandler.class)).addAppender(logWatcher);
107+
SecurityManager origSecurityManager = System.getSecurityManager();
108+
try {
109+
System.setSecurityManager(new NoExitSecurityManager());
102110

103-
this.operatorShutdownHandler.handleResponse(Pair.of(500, ""));
104-
when(clock.instant()).thenAnswer(i -> Instant.now().plus(6, ChronoUnit.HOURS));
105-
this.operatorShutdownHandler.handleResponse(Pair.of(200, ""));
111+
ListAppender<ILoggingEvent> logWatcher = new ListAppender<>();
112+
logWatcher.start();
113+
((Logger) LoggerFactory.getLogger(OperatorShutdownHandler.class)).addAppender(logWatcher);
106114

107-
when(clock.instant()).thenAnswer(i -> Instant.now().plus(12, ChronoUnit.HOURS));
108-
assertDoesNotThrow(() -> {
109115
this.operatorShutdownHandler.handleResponse(Pair.of(500, ""));
110-
});
111-
testContext.completeNow();
116+
when(clock.instant()).thenAnswer(i -> Instant.now().plus(6, ChronoUnit.HOURS));
117+
this.operatorShutdownHandler.handleResponse(Pair.of(200, ""));
118+
119+
when(clock.instant()).thenAnswer(i -> Instant.now().plus(12, ChronoUnit.HOURS));
120+
assertDoesNotThrow(() -> {
121+
this.operatorShutdownHandler.handleResponse(Pair.of(500, ""));
122+
});
123+
testContext.completeNow();
124+
} finally {
125+
System.setSecurityManager(origSecurityManager);
126+
}
112127
}
113128
}

0 commit comments

Comments
 (0)