mirror of
https://github.com/Melledy/Grasscutter.git
synced 2024-11-22 15:38:24 +00:00
Create a basic test for Grasscutter's HTTP server
This commit is contained in:
parent
2081087c76
commit
877937bfbb
67
src/test/java/io/grasscutter/GrasscutterTest.java
Normal file
67
src/test/java/io/grasscutter/GrasscutterTest.java
Normal file
@ -0,0 +1,67 @@
|
||||
package io.grasscutter;
|
||||
|
||||
import com.mchange.util.AssertException;
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.config.Configuration;
|
||||
import lombok.Getter;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Request;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* Testing entrypoint for {@link Grasscutter}.
|
||||
*/
|
||||
public final class GrasscutterTest {
|
||||
@Getter private static final OkHttpClient httpClient
|
||||
= new OkHttpClient();
|
||||
|
||||
@Getter private static int httpPort = -1;
|
||||
@Getter private static int gamePort = -1;
|
||||
|
||||
/**
|
||||
* Creates an HTTP URL.
|
||||
*
|
||||
* @param route The route to use.
|
||||
* @return The URL.
|
||||
*/
|
||||
public static String http(String route) {
|
||||
return "http://127.0.0.1:" + GrasscutterTest.httpPort + "/" + route;
|
||||
}
|
||||
|
||||
@BeforeAll
|
||||
public static void main() {
|
||||
try {
|
||||
// Start Grasscutter.
|
||||
Grasscutter.main(new String[]{"-test"});
|
||||
} catch (Exception ignored) {
|
||||
throw new AssertException("Grasscutter failed to start.");
|
||||
}
|
||||
|
||||
// Set the ports.
|
||||
GrasscutterTest.httpPort = Configuration.SERVER.http.bindPort;
|
||||
GrasscutterTest.gamePort = Configuration.SERVER.game.bindPort;
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("HTTP server check")
|
||||
public void checkHttpServer() {
|
||||
// Create a request.
|
||||
var request = new Request.Builder()
|
||||
.url(GrasscutterTest.http(""))
|
||||
.build();
|
||||
|
||||
// Perform the request.
|
||||
try (var response = GrasscutterTest.httpClient
|
||||
.newCall(request).execute()) {
|
||||
// Check the response.
|
||||
Assertions.assertTrue(response.isSuccessful());
|
||||
} catch (IOException exception) {
|
||||
throw new AssertionError(exception);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user