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/14 05:58:29 UTC

[zeppelin] branch master updated: [ZEPPELIN-5959] migrate livy to JUnit5 (#4654)

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 c1659934c9 [ZEPPELIN-5959] migrate livy to JUnit5 (#4654)
c1659934c9 is described below

commit c1659934c96ffea9420e9b794bde7c0e9fcf0d07
Author: Philipp Dallig <ph...@gmail.com>
AuthorDate: Thu Sep 14 07:58:23 2023 +0200

    [ZEPPELIN-5959] migrate livy to JUnit5 (#4654)
---
 .../apache/zeppelin/livy/LivyInterpreterIT.java    | 115 +++++++++++----------
 .../zeppelin/livy/LivySQLInterpreterTest.java      |  22 ++--
 2 files changed, 70 insertions(+), 67 deletions(-)

diff --git a/livy/src/test/java/org/apache/zeppelin/livy/LivyInterpreterIT.java b/livy/src/test/java/org/apache/zeppelin/livy/LivyInterpreterIT.java
index 9421f021e0..a649085897 100644
--- a/livy/src/test/java/org/apache/zeppelin/livy/LivyInterpreterIT.java
+++ b/livy/src/test/java/org/apache/zeppelin/livy/LivyInterpreterIT.java
@@ -31,19 +31,20 @@ import org.apache.zeppelin.interpreter.InterpreterResultMessageOutput;
 import org.apache.zeppelin.interpreter.LazyOpenInterpreter;
 import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
 import org.apache.zeppelin.user.AuthenticationInfo;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.mock;
 
 public class LivyInterpreterIT {
@@ -51,7 +52,7 @@ public class LivyInterpreterIT {
   private static Cluster cluster;
   private static Properties properties;
 
-  @BeforeClass
+  @BeforeAll
   public static void setUp() {
     if (!checkPreCondition()) {
       return;
@@ -65,7 +66,7 @@ public class LivyInterpreterIT {
     properties.setProperty("zeppelin.livy.displayAppInfo", "false");
   }
 
-  @AfterClass
+  @AfterAll
   public static void tearDown() {
     if (cluster != null) {
       LOGGER.info("Shutting down livy at {}", cluster.livyEndpoint());
@@ -87,7 +88,7 @@ public class LivyInterpreterIT {
 
 
   @Test
-  public void testSparkInterpreter() throws InterpreterException {
+  void testSparkInterpreter() throws InterpreterException {
     if (!checkPreCondition()) {
       return;
     }
@@ -115,7 +116,7 @@ public class LivyInterpreterIT {
     try {
       // detect spark version
       InterpreterResult result = sparkInterpreter.interpret("sc.version", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(1, result.message().size());
 
       boolean isSpark2 = isSpark2(sparkInterpreter, context);
@@ -141,20 +142,20 @@ public class LivyInterpreterIT {
     ;
 
     InterpreterResult result = sparkInterpreter.interpret("sc.parallelize(1 to 10).sum()", context);
-    assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+    assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
     assertEquals(1, result.message().size());
     assertTrue(result.message().get(0).getData().contains("Double = 55.0"));
 
     // single line comment
     String singleLineComment = "println(1)// my comment";
     result = sparkInterpreter.interpret(singleLineComment, context);
-    assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+    assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
     assertEquals(1, result.message().size());
 
     // multiple line comment
     String multipleLineComment = "println(1)/* multiple \n" + "line \n" + "comment */";
     result = sparkInterpreter.interpret(multipleLineComment, context);
-    assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+    assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
     assertEquals(1, result.message().size());
 
     // multi-line string
@@ -162,7 +163,7 @@ public class LivyInterpreterIT {
         "line\"\"\"\n" +
         "println(str)";
     result = sparkInterpreter.interpret(multiLineString, context);
-    assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+    assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
     assertEquals(1, result.message().size());
     assertTrue(result.message().get(0).getData().contains("multiple\nline"));
 
@@ -171,14 +172,14 @@ public class LivyInterpreterIT {
         "name:String)\n" +
         "val p=Person(1, \"name_a\")";
     result = sparkInterpreter.interpret(caseClassCode, context);
-    assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+    assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
     assertEquals(1, result.message().size());
     assertTrue(result.message().get(0).getData().contains("p: Person = Person(1,name_a)"));
 
     // object class
     String objectClassCode = "object Person {}";
     result = sparkInterpreter.interpret(objectClassCode, context);
-    assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+    assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
     assertEquals(1, result.message().size());
     if (!isSpark2) {
       assertTrue(result.message().get(0).getData().contains("defined module Person"));
@@ -189,7 +190,7 @@ public class LivyInterpreterIT {
     // html output
     String htmlCode = "println(\"%html <h1> hello </h1>\")";
     result = sparkInterpreter.interpret(htmlCode, context);
-    assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+    assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
     assertEquals(1, result.message().size());
     assertEquals(InterpreterResult.Type.HTML, result.message().get(0).getType());
 
@@ -249,7 +250,7 @@ public class LivyInterpreterIT {
       result = sparkInterpreter.interpret(
           "val df=sqlContext.createDataFrame(Seq((\"hello\",20))).toDF(\"col_1\", \"col_2\")\n"
               + "df.collect()", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(1, result.message().size());
       assertTrue(result.message().get(0).getData()
           .contains("Array[org.apache.spark.sql.Row] = Array([hello,20])"));
@@ -257,7 +258,7 @@ public class LivyInterpreterIT {
       result = sparkInterpreter.interpret(
           "val df=spark.createDataFrame(Seq((\"hello\",20))).toDF(\"col_1\", \"col_2\")\n"
               + "df.collect()", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(1, result.message().size());
       assertTrue(result.message().get(0).getData()
           .contains("Array[org.apache.spark.sql.Row] = Array([hello,20])"));
@@ -265,25 +266,25 @@ public class LivyInterpreterIT {
     sparkInterpreter.interpret("df.registerTempTable(\"df\")", context);
     // test LivySparkSQLInterpreter which share the same SparkContext with LivySparkInterpreter
     result = sqlInterpreter.interpret("select * from df where col_1='hello'", context);
-    assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+    assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
     assertEquals(InterpreterResult.Type.TABLE, result.message().get(0).getType());
     assertEquals("col_1\tcol_2\nhello\t20", result.message().get(0).getData());
     // double quotes
     result = sqlInterpreter.interpret("select * from df where col_1=\"hello\"", context);
-    assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+    assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
     assertEquals(InterpreterResult.Type.TABLE, result.message().get(0).getType());
     assertEquals("col_1\tcol_2\nhello\t20", result.message().get(0).getData());
 
     // only enable this test in spark2 as spark1 doesn't work for this case
     if (isSpark2) {
       result = sqlInterpreter.interpret("select * from df where col_1=\"he\\\"llo\" ", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(InterpreterResult.Type.TABLE, result.message().get(0).getType());
     }
 
     // single quotes inside attribute value
     result = sqlInterpreter.interpret("select * from df where col_1=\"he'llo\"", context);
-    assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+    assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
     assertEquals(InterpreterResult.Type.TABLE, result.message().get(0).getType());
 
     // test sql with syntax error
@@ -328,7 +329,7 @@ public class LivyInterpreterIT {
           "val df=sqlContext.createDataFrame(Seq((\"12characters12characters\",20)))"
               + ".toDF(\"col_1\", \"col_2\")\n"
               + "df.collect()", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(1, result.message().size());
       assertTrue(result.message().get(0).getData()
           .contains("Array[org.apache.spark.sql.Row] = Array([12characters12characters,20])"));
@@ -337,7 +338,7 @@ public class LivyInterpreterIT {
           "val df=spark.createDataFrame(Seq((\"12characters12characters\",20)))"
               + ".toDF(\"col_1\", \"col_2\")\n"
               + "df.collect()", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(1, result.message().size());
       assertTrue(result.message().get(0).getData()
           .contains("Array[org.apache.spark.sql.Row] = Array([12characters12characters,20])"));
@@ -346,14 +347,14 @@ public class LivyInterpreterIT {
     // test LivySparkSQLInterpreter which share the same SparkContext with LivySparkInterpreter
     result = sqlInterpreter.interpret("select * from df where col_1='12characters12characters'",
         context);
-    assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+    assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
     assertEquals(InterpreterResult.Type.TABLE, result.message().get(0).getType());
     assertEquals("col_1\tcol_2\n12characters12cha...\t20", result.message().get(0).getData());
 
   }
 
   @Test
-  public void testPySparkInterpreter() throws InterpreterException {
+  void testPySparkInterpreter() throws InterpreterException {
     if (!checkPreCondition()) {
       return;
     }
@@ -405,14 +406,14 @@ public class LivyInterpreterIT {
 
     try {
       InterpreterResult result = pysparkInterpreter.interpret("sc.version", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(1, result.message().size());
 
       boolean isSpark2 = isSpark2(pysparkInterpreter, context);
 
       // test RDD api
       result = pysparkInterpreter.interpret("sc.range(1, 10).sum()", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(1, result.message().size());
       assertTrue(result.message().get(0).getData().contains("45"));
 
@@ -422,7 +423,7 @@ public class LivyInterpreterIT {
             + "sqlContext = SQLContext(sc)", context);
         result = pysparkInterpreter.interpret("df=sqlContext.createDataFrame([(\"hello\",20)])\n"
             + "df.collect()", context);
-        assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+        assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
         assertEquals(1, result.message().size());
         //python2 has u and python3 don't have u
         assertTrue(result.message().get(0).getData().contains("[Row(_1=u'hello', _2=20)]")
@@ -430,7 +431,7 @@ public class LivyInterpreterIT {
       } else {
         result = pysparkInterpreter.interpret("df=spark.createDataFrame([(\"hello\",20)])\n"
             + "df.collect()", context);
-        assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+        assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
         assertEquals(1, result.message().size());
         //python2 has u and python3 don't have u
         assertTrue(result.message().get(0).getData().contains("[Row(_1=u'hello', _2=20)]")
@@ -441,7 +442,7 @@ public class LivyInterpreterIT {
       pysparkInterpreter.interpret("t = [{\"name\":\"userA\", \"role\":\"roleA\"},"
           + "{\"name\":\"userB\", \"role\":\"roleB\"}]", context);
       result = pysparkInterpreter.interpret("%table t", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(1, result.message().size());
       assertEquals(InterpreterResult.Type.TABLE, result.message().get(0).getType());
       assertTrue(result.message().get(0).getData().contains("userA"));
@@ -482,7 +483,7 @@ public class LivyInterpreterIT {
   }
 
   @Test
-  public void testSparkInterpreterWithDisplayAppInfo_StringWithoutTruncation()
+  void testSparkInterpreterWithDisplayAppInfo_StringWithoutTruncation()
       throws InterpreterException {
     if (!checkPreCondition()) {
       return;
@@ -515,7 +516,7 @@ public class LivyInterpreterIT {
 
     try {
       InterpreterResult result = sparkInterpreter.interpret("sc.version", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(2, result.message().size());
       // check yarn appId and ensure it is not null
       assertTrue(result.message().get(1).getData().contains("Spark Application Id: application_"));
@@ -523,13 +524,13 @@ public class LivyInterpreterIT {
       // html output
       String htmlCode = "println(\"%html <h1> hello </h1>\")";
       result = sparkInterpreter.interpret(htmlCode, context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(2, result.message().size());
       assertEquals(InterpreterResult.Type.HTML, result.message().get(0).getType());
 
       // detect spark version
       result = sparkInterpreter.interpret("sc.version", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(2, result.message().size());
 
       boolean isSpark2 = isSpark2(sparkInterpreter, context);
@@ -539,7 +540,7 @@ public class LivyInterpreterIT {
             "val df=sqlContext.createDataFrame(Seq((\"12characters12characters\",20)))"
                 + ".toDF(\"col_1\", \"col_2\")\n"
                 + "df.collect()", context);
-        assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+        assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
         assertEquals(2, result.message().size());
         assertTrue(result.message().get(0).getData()
             .contains("Array[org.apache.spark.sql.Row] = Array([12characters12characters,20])"));
@@ -548,7 +549,7 @@ public class LivyInterpreterIT {
             "val df=spark.createDataFrame(Seq((\"12characters12characters\",20)))"
                 + ".toDF(\"col_1\", \"col_2\")\n"
                 + "df.collect()", context);
-        assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+        assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
         assertEquals(2, result.message().size());
         assertTrue(result.message().get(0).getData()
             .contains("Array[org.apache.spark.sql.Row] = Array([12characters12characters,20])"));
@@ -557,7 +558,7 @@ public class LivyInterpreterIT {
       // test LivySparkSQLInterpreter which share the same SparkContext with LivySparkInterpreter
       result = sqlInterpreter.interpret("select * from df where col_1='12characters12characters'",
           context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(InterpreterResult.Type.TABLE, result.message().get(0).getType());
       assertEquals("col_1\tcol_2\n12characters12characters\t20", result.message().get(0).getData());
     } finally {
@@ -567,7 +568,7 @@ public class LivyInterpreterIT {
   }
 
   @Test
-  public void testSparkRInterpreter() throws InterpreterException {
+  void testSparkRInterpreter() throws InterpreterException {
     if (!checkPreCondition()) {
       return;
     }
@@ -599,7 +600,7 @@ public class LivyInterpreterIT {
       // test DataFrame api
       if (isSpark2) {
         result = sparkRInterpreter.interpret("df <- as.DataFrame(faithful)\nhead(df)", context);
-        assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+        assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
         assertEquals(1, result.message().size());
         assertTrue(result.message().get(0).getData().contains("eruptions waiting"));
 
@@ -628,7 +629,7 @@ public class LivyInterpreterIT {
       } else {
         result = sparkRInterpreter.interpret("df <- createDataFrame(sqlContext, faithful)" +
             "\nhead(df)", context);
-        assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+        assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
         assertEquals(1, result.message().size());
         assertTrue(result.message().get(0).getData().contains("eruptions waiting"));
       }
@@ -644,7 +645,7 @@ public class LivyInterpreterIT {
   }
 
   @Test
-  public void testLivyTutorialNote() throws IOException, InterpreterException {
+  void testLivyTutorialNote() throws IOException, InterpreterException {
     if (!checkPreCondition()) {
       return;
     }
@@ -671,13 +672,15 @@ public class LivyInterpreterIT {
           .setInterpreterOut(output)
           .build();
 
-      String p1 = IOUtils.toString(getClass().getResourceAsStream("/livy_tutorial_1.scala"));
+      String p1 = IOUtils.toString(getClass().getResourceAsStream("/livy_tutorial_1.scala"),
+          StandardCharsets.UTF_8);
       InterpreterResult result = sparkInterpreter.interpret(p1, context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
 
-      String p2 = IOUtils.toString(getClass().getResourceAsStream("/livy_tutorial_2.sql"));
+      String p2 = IOUtils.toString(getClass().getResourceAsStream("/livy_tutorial_2.sql"),
+          StandardCharsets.UTF_8);
       result = sqlInterpreter.interpret(p2, context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(InterpreterResult.Type.TABLE, result.message().get(0).getType());
     } finally {
       sparkInterpreter.close();
@@ -686,7 +689,7 @@ public class LivyInterpreterIT {
   }
 
   @Test
-  public void testSharedInterpreter() throws InterpreterException {
+  void testSharedInterpreter() throws InterpreterException {
     if (!checkPreCondition()) {
       return;
     }
@@ -734,7 +737,7 @@ public class LivyInterpreterIT {
           .build();
       // detect spark version
       InterpreterResult result = sparkInterpreter.interpret("sc.version", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(1, result.message().size());
 
       boolean isSpark2 = isSpark2((BaseLivyInterpreter) sparkInterpreter.getInnerInterpreter(),
@@ -744,7 +747,7 @@ public class LivyInterpreterIT {
         result = sparkInterpreter.interpret(
             "val df=sqlContext.createDataFrame(Seq((\"hello\",20))).toDF(\"col_1\", \"col_2\")\n"
                 + "df.collect()", context);
-        assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+        assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
         assertEquals(1, result.message().size());
         assertTrue(result.message().get(0).getData()
             .contains("Array[org.apache.spark.sql.Row] = Array([hello,20])"));
@@ -753,7 +756,7 @@ public class LivyInterpreterIT {
         // access table from pyspark
         result = pysparkInterpreter.interpret("sqlContext.sql(\"select * from df\").show()",
             context);
-        assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+        assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
         assertEquals(1, result.message().size());
         assertTrue(result.message().get(0).getData()
             .contains("+-----+-----+\n" +
@@ -765,14 +768,14 @@ public class LivyInterpreterIT {
         // access table from sparkr
         result = sparkRInterpreter.interpret("head(sql(sqlContext, \"select * from df\"))",
             context);
-        assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+        assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
         assertEquals(1, result.message().size());
         assertTrue(result.message().get(0).getData().contains("col_1 col_2\n1 hello    20"));
       } else {
         result = sparkInterpreter.interpret(
             "val df=spark.createDataFrame(Seq((\"hello\",20))).toDF(\"col_1\", \"col_2\")\n"
                 + "df.collect()", context);
-        assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+        assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
         assertEquals(1, result.message().size());
         assertTrue(result.message().get(0).getData()
             .contains("Array[org.apache.spark.sql.Row] = Array([hello,20])"));
@@ -780,7 +783,7 @@ public class LivyInterpreterIT {
 
         // access table from pyspark
         result = pysparkInterpreter.interpret("spark.sql(\"select * from df\").show()", context);
-        assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+        assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
         assertEquals(1, result.message().size());
         assertTrue(result.message().get(0).getData()
             .contains("+-----+-----+\n" +
@@ -791,7 +794,7 @@ public class LivyInterpreterIT {
 
         // access table from sparkr
         result = sparkRInterpreter.interpret("head(sql(\"select * from df\"))", context);
-        assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+        assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
         assertEquals(1, result.message().size());
         assertTrue(result.message().get(0).getData().contains("col_1 col_2\n1 hello    20"));
       }
@@ -804,14 +807,14 @@ public class LivyInterpreterIT {
               "plt.figure()\n" +
               "plt.plot(data)\n" +
               "%matplot plt", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(1, result.message().size());
       assertEquals(InterpreterResult.Type.IMG, result.message().get(0).getType());
 
       // test plotting of R
       result = sparkRInterpreter.interpret(
           "hist(mtcars$mpg)", context);
-      assertEquals(result.toString(), InterpreterResult.Code.SUCCESS, result.code());
+      assertEquals(InterpreterResult.Code.SUCCESS, result.code(), result.toString());
       assertEquals(1, result.message().size());
       assertEquals(InterpreterResult.Type.IMG, result.message().get(0).getType());
 
diff --git a/livy/src/test/java/org/apache/zeppelin/livy/LivySQLInterpreterTest.java b/livy/src/test/java/org/apache/zeppelin/livy/LivySQLInterpreterTest.java
index 06f475d3a0..d9ba3f6921 100644
--- a/livy/src/test/java/org/apache/zeppelin/livy/LivySQLInterpreterTest.java
+++ b/livy/src/test/java/org/apache/zeppelin/livy/LivySQLInterpreterTest.java
@@ -17,24 +17,24 @@
 
 package org.apache.zeppelin.livy;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Before;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.List;
 import java.util.Properties;
 
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
 /**
  * Unit test for LivySQLInterpreter.
  */
-public class LivySQLInterpreterTest {
+class LivySQLInterpreterTest {
 
   private LivySparkSQLInterpreter sqlInterpreter;
 
-  @Before
+  @BeforeEach
   public void setUp() {
     Properties properties = new Properties();
     properties.setProperty("zeppelin.livy.url", "http://localhost:8998");
@@ -45,14 +45,14 @@ public class LivySQLInterpreterTest {
   }
 
   @Test
-  public void testHttpHeaders() {
+  void testHttpHeaders() {
     assertEquals(1, sqlInterpreter.getCustomHeaders().size());
     assertTrue(sqlInterpreter.getCustomHeaders().get("HEADER_1").startsWith("VALUE_1_"));
     assertNotEquals("VALUE_1_${HOME}", sqlInterpreter.getCustomHeaders().get("HEADER_1"));
   }
 
   @Test
-  public void testParseSQLOutput() {
+  void testParseSQLOutput() {
     // Empty sql output
     //    +---+---+
     //    |  a|  b|
@@ -173,7 +173,7 @@ public class LivySQLInterpreterTest {
   }
 
   @Test
-  public void parseSQLJsonOutput() {
+  void parseSQLJsonOutput() {
     //  Empty sql output
     //  id name
     List<String> rows = sqlInterpreter.parseSQLJsonOutput("\nid\tname\n");