Fix unit tests always seeing Mojang server as unavailable

This commit is contained in:
md_5 2024-04-25 16:26:03 +10:00
parent 7c7ac5eb24
commit 590cf09a8e
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11

View File

@ -2,6 +2,7 @@ package org.bukkit.support.condition;
import com.mojang.authlib.yggdrasil.YggdrasilEnvironment; import com.mojang.authlib.yggdrasil.YggdrasilEnvironment;
import java.net.InetAddress; import java.net.InetAddress;
import java.net.URI;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import org.junit.jupiter.api.extension.ConditionEvaluationResult; import org.junit.jupiter.api.extension.ConditionEvaluationResult;
import org.junit.jupiter.api.extension.ExecutionCondition; import org.junit.jupiter.api.extension.ExecutionCondition;
@ -12,7 +13,8 @@ public class EnableIfMojangServerAvailableCondition implements ExecutionConditio
@Override @Override
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext extensionContext) { public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext extensionContext) {
try { try {
InetAddress address = InetAddress.getByName(YggdrasilEnvironment.PROD.getEnvironment().servicesHost()); URI url = new URI(YggdrasilEnvironment.PROD.getEnvironment().servicesHost());
InetAddress address = InetAddress.getByName(url.getHost());
if (!address.isReachable((int) TimeUnit.SECONDS.toMillis(1))) { if (!address.isReachable((int) TimeUnit.SECONDS.toMillis(1))) {
return ConditionEvaluationResult.disabled("Mojang server is not available"); return ConditionEvaluationResult.disabled("Mojang server is not available");