diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/server/IndexHtmlServletTest.java b/zeppelin-server/src/test/java/org/apache/zeppelin/server/IndexHtmlServletTest.java
index 22af77db147..70e75adef21 100644
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/server/IndexHtmlServletTest.java
+++ b/zeppelin-server/src/test/java/org/apache/zeppelin/server/IndexHtmlServletTest.java
@@ -17,6 +17,7 @@
package org.apache.zeppelin.server;
import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.endsWith;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -24,12 +25,12 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
-import java.net.URL;
-
+import java.nio.file.Files;
+import java.nio.file.Path;
import org.apache.zeppelin.conf.ZeppelinConfiguration;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletContext;
@@ -42,9 +43,8 @@ class IndexHtmlServletTest {
private final static String TEST_BODY_ADDON = "";
private final static String TEST_HEAD_ADDON = "";
- private final static String FILE_PATH_INDEX_HTML_ZEPPELIN_WEB = "../zeppelin-web/dist/index.html";
- private final static String FILE_PATH_INDEX_HTML_ZEPPELIN_WEB_ANGULAR = "../zeppelin-web-angular/dist/zeppelin/index.html";
-
+ @TempDir
+ Path tempDir;
@Test
void testZeppelinWebHtmlAddon() throws IOException, ServletException {
@@ -52,10 +52,18 @@ void testZeppelinWebHtmlAddon() throws IOException, ServletException {
when(zConf.getHtmlBodyAddon()).thenReturn(TEST_BODY_ADDON);
when(zConf.getHtmlHeadAddon()).thenReturn(TEST_HEAD_ADDON);
+ Path indexHtml = tempDir.resolve("index.html");
+ Files.writeString(
+ indexHtml,
+ "\n"
+ + "\n"
+ + "
Zeppelin\n"
+ + " \n");
+
ServletConfig sc = mock(ServletConfig.class);
ServletContext ctx = mock(ServletContext.class);
when(ctx.getResource("/index.html"))
- .thenReturn(new URL("file:" + FILE_PATH_INDEX_HTML_ZEPPELIN_WEB));
+ .thenReturn(indexHtml.toUri().toURL());
when(sc.getServletContext()).thenReturn(ctx);
IndexHtmlServlet servlet = new IndexHtmlServlet(zConf, null);
@@ -74,22 +82,30 @@ void testZeppelinWebHtmlAddon() throws IOException, ServletException {
// Get Content
String content = new String(out.toString());
- assertThat(content, containsString(TEST_BODY_ADDON));
- assertThat(content, containsString(TEST_HEAD_ADDON));
+ assertThat(content, containsString(TEST_HEAD_ADDON + ""));
+ assertThat(content, endsWith(TEST_BODY_ADDON));
}
@Test
- @Disabled("ignored due to zeppelin-web-angular not build for core tests")
void testZeppelinWebAngularHtmlAddon() throws IOException, ServletException {
ZeppelinConfiguration zConf = mock(ZeppelinConfiguration.class);
when(zConf.getHtmlBodyAddon()).thenReturn(TEST_BODY_ADDON);
when(zConf.getHtmlHeadAddon()).thenReturn(TEST_HEAD_ADDON);
+ Path indexHtml = tempDir.resolve("index.html");
+ Files.writeString(
+ indexHtml,
+ "\n"
+ + "\n"
+ + " Zeppelin\n"
+ + " \n"
+ + "\n");
+
ServletConfig sc = mock(ServletConfig.class);
ServletContext ctx = mock(ServletContext.class);
when(ctx.getResource("/index.html"))
- .thenReturn(new URL("file:" + FILE_PATH_INDEX_HTML_ZEPPELIN_WEB_ANGULAR));
+ .thenReturn(indexHtml.toUri().toURL());
when(sc.getServletContext()).thenReturn(ctx);
IndexHtmlServlet servlet = new IndexHtmlServlet(zConf, null);
@@ -106,8 +122,7 @@ void testZeppelinWebAngularHtmlAddon() throws IOException, ServletException {
// Get Content
String content = new String(out.toString());
- assertThat(content, containsString(TEST_BODY_ADDON));
- assertThat(content, containsString(TEST_HEAD_ADDON));
-
+ assertThat(content, containsString(TEST_HEAD_ADDON + ""));
+ assertThat(content, containsString(TEST_BODY_ADDON + ""));
}
}