plantuml-server/src/test/java/net/sourceforge/plantuml/servlet/TestDependencies.java

54 lines
1.9 KiB
Java

package net.sourceforge.plantuml.servlet;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import net.sourceforge.plantuml.servlet.utils.TestUtils;
import net.sourceforge.plantuml.servlet.utils.WebappTestCase;
public class TestDependencies extends WebappTestCase {
/**
* Verifies that Graphviz is installed and can be found
*/
@Test
@Tag("graphviz-test")
public void testGraphviz() throws IOException {
final URL url = new URL(getServerUrl() + "/txt/" + TestUtils.VERSION);
final HttpURLConnection conn = (HttpURLConnection)url.openConnection();
// Analyze response
// Verifies HTTP status code and the Content-Type
Assertions.assertEquals(200, conn.getResponseCode(), "Bad HTTP status received");
Assertions.assertEquals(
"text/plain;charset=utf-8",
conn.getContentType().toLowerCase(),
"Response content type is not TEXT PLAIN or UTF-8"
);
// Get the content and check installation status
String diagram = getContentText(conn);
Assertions.assertTrue(
diagram.contains("Installation seems OK. File generation OK"),
"Version diagram was:\n" + diagram
);
}
/**
* Verifies that the Monaco Editor webjar can be loaded
*/
@Test
public void testMonacoEditorWebJar() throws IOException {
final URL url = new URL(getServerUrl() + "/webjars/monaco-editor/0.36.1/min/vs/loader.js");
final HttpURLConnection conn = (HttpURLConnection)url.openConnection();
// Analyze response
// Verifies HTTP status code and the Content-Type
Assertions.assertEquals(200, conn.getResponseCode(), "Bad HTTP status received");
}
}