Skip to content

Commit 764e385

Browse files
committed
creating flag to forcec dns server start even when in test mode
1 parent 2e98222 commit 764e385

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

src/main/java/com/mageddo/dnsproxyserver/server/Starter.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
import javax.inject.Inject;
1111
import javax.inject.Singleton;
12-
1312
import java.util.Set;
1413

1514
import static com.mageddo.dnsproxyserver.quarkus.Quarkus.isTest;
@@ -19,21 +18,36 @@
1918
@RequiredArgsConstructor(onConstructor = @__({@Inject}))
2019
public class Starter {
2120

21+
public static final String DNS_SERVER_MUST_START_FLAG = "mg.server.server.must-start";
2222
private final ServerStarter dnsServerStarter;
2323
private final WebServer webServer;
2424
private final Set<StartupEvent> startupEvents;
2525

2626
public void start() {
27-
if(isTest()){
28-
log.warn("status=onTest, disabled=[dnsServer, startupEvents]");
27+
if (isTest()) {
28+
log.warn("status=onTest, disabled=[startupEvents]");
2929
} else {
3030
this.startupEvents.forEach(StartupEvent::onStart);
31+
}
32+
if (shouldStartDnsServer()) {
3133
this.dnsServerStarter.start();
3234
}
3335
this.webServer.start(Configs.getInstance().getWebServerPort());
3436
}
3537

36-
public void stop(){
38+
private static boolean shouldStartDnsServer() {
39+
return !isTest() || isMustStartFlagActive();
40+
}
41+
42+
private static boolean isMustStartFlagActive() {
43+
return Boolean.getBoolean(DNS_SERVER_MUST_START_FLAG);
44+
}
45+
46+
public static void setMustStartFlagActive(boolean b) {
47+
System.setProperty(DNS_SERVER_MUST_START_FLAG, String.valueOf(b));
48+
}
49+
50+
public void stop() {
3751
this.dnsServerStarter.stop();
3852
this.webServer.stop();
3953
}

0 commit comments

Comments
 (0)