You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by pd...@apache.org on 2023/09/13 07:09:50 UTC

[zeppelin] branch master updated: [ZEPPELIN-5961] migrate markdown interpreter to JUnit5 (#4656)

This is an automated email from the ASF dual-hosted git repository.

pdallig pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git


The following commit(s) were added to refs/heads/master by this push:
     new 1c42e00530 [ZEPPELIN-5961] migrate markdown interpreter to JUnit5 (#4656)
1c42e00530 is described below

commit 1c42e0053038ea4a99ead16ec0385c7b8d2c11fe
Author: Philipp Dallig <ph...@gmail.com>
AuthorDate: Wed Sep 13 09:09:44 2023 +0200

    [ZEPPELIN-5961] migrate markdown interpreter to JUnit5 (#4656)
---
 .../zeppelin/markdown/FlexmarkParserTest.java      | 90 ++++++++++++----------
 .../zeppelin/markdown/Markdown4jParserTest.java    | 16 ++--
 .../org/apache/zeppelin/markdown/MarkdownTest.java | 19 ++---
 3 files changed, 68 insertions(+), 57 deletions(-)

diff --git a/markdown/src/test/java/org/apache/zeppelin/markdown/FlexmarkParserTest.java b/markdown/src/test/java/org/apache/zeppelin/markdown/FlexmarkParserTest.java
index 530ba0377c..ef9327e89e 100644
--- a/markdown/src/test/java/org/apache/zeppelin/markdown/FlexmarkParserTest.java
+++ b/markdown/src/test/java/org/apache/zeppelin/markdown/FlexmarkParserTest.java
@@ -18,12 +18,9 @@
 package org.apache.zeppelin.markdown;
 
 import org.apache.zeppelin.interpreter.InterpreterResult;
-import org.hamcrest.CoreMatchers;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ErrorCollector;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -31,18 +28,17 @@ import java.util.ArrayList;
 import java.util.Properties;
 
 import static org.apache.zeppelin.markdown.FlexmarkParser.wrapWithMarkdownClassDiv;
-import static org.junit.Assert.assertEquals;
-import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
-public class FlexmarkParserTest {
+class FlexmarkParserTest {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(FlexmarkParserTest.class);
   Markdown md;
 
-  @Rule
-  public ErrorCollector collector = new ErrorCollector();
 
-  @Before
+  @BeforeEach
   public void setUp() throws Exception {
     Properties props = new Properties();
     props.put(Markdown.MARKDOWN_PARSER_TYPE, Markdown.PARSER_TYPE_FLEXMARK);
@@ -50,28 +46,16 @@ public class FlexmarkParserTest {
     md.open();
   }
 
-  @After
+  @AfterEach
   public void tearDown() throws Exception {
     md.close();
   }
 
   @Test
-  public void testMultipleThread() {
-    ArrayList<Thread> arrThreads = new ArrayList<Thread>();
+  void testMultipleThread() {
+    ArrayList<MarkdownThread> arrThreads = new ArrayList<MarkdownThread>();
     for (int i = 0; i < 10; i++) {
-      Thread t = new Thread() {
-        @Override
-        public void run() {
-          String r1 = null;
-          try {
-            r1 = md.interpret("# H1", null).code().name();
-          } catch (Exception e) {
-            LOGGER.error("testTestMultipleThread failed to interpret", e);
-          }
-          collector.checkThat("SUCCESS",
-              CoreMatchers.containsString(r1));
-        }
-      };
+      MarkdownThread t = new MarkdownThread(md);
       t.start();
       arrThreads.add(t);
     }
@@ -80,20 +64,47 @@ public class FlexmarkParserTest {
       try {
         arrThreads.get(i).join();
       } catch (InterruptedException e) {
-        LOGGER.error("testTestMultipleThread failed to join threads", e);
+        fail("testTestMultipleThread failed to join threads", e);
       }
     }
+    for (MarkdownThread mdt : arrThreads) {
+      assertTrue(mdt.getResult().contains("SUCCESS"));
+    }
+  }
+
+  private class MarkdownThread extends Thread {
+    private String result;
+    private final Markdown md;
+
+    MarkdownThread(Markdown md) {
+      this.md = md;
+    }
+
+    @Override
+    public void run() {
+      String r1 = null;
+      try {
+        r1 = md.interpret("# H1", null).code().name();
+      } catch (Exception e) {
+        LOGGER.error("testTestMultipleThread failed to interpret", e);
+      }
+      result = r1;
+    }
+
+    public String getResult() {
+      return result;
+    }
   }
 
   @Test
-  public void testStrikethrough() {
+  void testStrikethrough() {
     InterpreterResult result = md.interpret("This is ~~deleted~~ text", null);
     assertEquals(wrapWithMarkdownClassDiv("<p>This is <del>deleted</del> text</p>\n"),
         result.message().get(0).getData());
   }
 
   @Test
-  public void testHeader() {
+  void testHeader() {
     InterpreterResult r1 = md.interpret("# H1", null);
     assertEquals(wrapWithMarkdownClassDiv("<h1>H1</h1>\n"), r1.message().get(0).getData());
 
@@ -120,7 +131,7 @@ public class FlexmarkParserTest {
   }
 
   @Test
-  public void testItalics() {
+  void testItalics() {
     InterpreterResult result = md.interpret("This is *italics* text", null);
 
     assertEquals(
@@ -129,7 +140,7 @@ public class FlexmarkParserTest {
   }
 
   @Test
-  public void testStrongEmphasis() {
+  void testStrongEmphasis() {
     InterpreterResult result = md.interpret("This is **strong emphasis** text", null);
     assertEquals(
         wrapWithMarkdownClassDiv("<p>This is <strong>strong emphasis</strong> text</p>\n"),
@@ -137,7 +148,7 @@ public class FlexmarkParserTest {
   }
 
   @Test
-  public void testOrderedList() {
+  void testOrderedList() {
     String input =
         new StringBuilder()
             .append("1. First ordered list item\n")
@@ -159,7 +170,7 @@ public class FlexmarkParserTest {
   }
 
   @Test
-  public void testUnorderedList() {
+  void testUnorderedList() {
     String input =
         new StringBuilder()
             .append("* Unordered list can use asterisks\n")
@@ -186,7 +197,7 @@ public class FlexmarkParserTest {
   }
 
   @Test
-  public void testYumlPlugin() {
+  void testYumlPlugin() {
     String input = new StringBuilder()
         .append("%%% yuml style=nofunky scale=120 format=svg\n")
         .append("[Customer]<>-orders>[Order]\n")
@@ -196,12 +207,11 @@ public class FlexmarkParserTest {
         .toString();
 
     InterpreterResult result = md.interpret(input, null);
-    assertThat(result.message().get(0).getData(), CoreMatchers
-        .containsString("<img src=\"http://yuml.me/diagram/"));
+    assertTrue(result.message().get(0).getData().contains("<img src=\"http://yuml.me/diagram/"));
   }
 
   @Test
-  public void testWebsequencePlugin() {
+  void testWebsequencePlugin() {
     String input =
         new StringBuilder()
             .append("%%% sequence style=modern-blue\n")
@@ -225,7 +235,7 @@ public class FlexmarkParserTest {
   }
 
   @Test
-  public void testEscapeHtml() {
+  void testEscapeHtml() {
     String input =
             new StringBuilder()
                     .append("This is\n")
diff --git a/markdown/src/test/java/org/apache/zeppelin/markdown/Markdown4jParserTest.java b/markdown/src/test/java/org/apache/zeppelin/markdown/Markdown4jParserTest.java
index fe381eebbf..8c0ef966d5 100644
--- a/markdown/src/test/java/org/apache/zeppelin/markdown/Markdown4jParserTest.java
+++ b/markdown/src/test/java/org/apache/zeppelin/markdown/Markdown4jParserTest.java
@@ -17,20 +17,20 @@
 
 package org.apache.zeppelin.markdown;
 
-import static org.junit.Assert.assertEquals;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.Properties;
 
 import org.apache.zeppelin.interpreter.InterpreterResult;
 
-public class Markdown4jParserTest {
+class Markdown4jParserTest {
   Markdown md;
 
-  @Before
+  @BeforeEach
   public void setUp() {
     Properties props = new Properties();
     props.put(Markdown.MARKDOWN_PARSER_TYPE, Markdown.PARSER_TYPE_MARKDOWN4J);
@@ -38,13 +38,13 @@ public class Markdown4jParserTest {
     md.open();
   }
 
-  @After
+  @AfterEach
   public void tearDown() {
     md.close();
   }
 
   @Test
-  public void testStrikethrough() {
+  void testStrikethrough() {
     InterpreterResult result = md.interpret("This is ~~deleted~~ text", null);
     assertEquals("<p>This is <s>deleted</s> text</p>\n", result.message().get(0).getData());
   }
diff --git a/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java b/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java
index d9d3425dee..0ed8ce132d 100644
--- a/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java
+++ b/markdown/src/test/java/org/apache/zeppelin/markdown/MarkdownTest.java
@@ -17,19 +17,20 @@
 
 package org.apache.zeppelin.markdown;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.Properties;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
 
-public class MarkdownTest {
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+class MarkdownTest {
 
   Markdown md;
 
-  @Before
+  @BeforeEach
   public void setUp() {
     Properties props = new Properties();
     props.put(Markdown.MARKDOWN_PARSER_TYPE, Markdown.PARSER_TYPE_MARKDOWN4J);
@@ -37,13 +38,13 @@ public class MarkdownTest {
     md.open();
   }
 
-  @After
+  @AfterEach
   public void tearDown() {
     md.close();
   }
 
   @Test
-  public void sanitizeInput() {
+  void sanitizeInput() {
     String input = "This is "
         + "<script>alert(1);</script> "
         + "<div onclick='alert(2)'>this is div</div> "