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 22ae6cdcd1 [ZEPPELIN-5907][JUnit 5 Migration] Module zeppelin-interpreter (#4595) 22ae6cdcd1 is described below commit 22ae6cdcd1f526b66808c2b994b53f808f390cfe Author: Philipp Dallig <philipp.dal...@gmail.com> AuthorDate: Wed May 10 08:11:29 2023 +0200 [ZEPPELIN-5907][JUnit 5 Migration] Module zeppelin-interpreter (#4595) * Migrate zeppelin-interpreter to JUnit5 * Stabilize the tests --- zeppelin-interpreter/pom.xml | 6 -- .../InterpreterOutputChangeWatcher.java | 7 +- .../zeppelin/cluster/ClusterMultiNodeTest.java | 20 ++--- .../zeppelin/cluster/ClusterSingleNodeTest.java | 27 +++---- .../zeppelin/conf/ZeppelinConfigurationTest.java | 25 +++--- .../java/org/apache/zeppelin/dep/BooterTest.java | 31 ++++---- .../zeppelin/dep/DependencyResolverTest.java | 57 +++++++------- .../display/AngularObjectRegistryTest.java | 15 ++-- .../apache/zeppelin/display/AngularObjectTest.java | 16 ++-- .../java/org/apache/zeppelin/display/GUITest.java | 42 +++++----- .../org/apache/zeppelin/display/InputTest.java | 17 ++-- .../zeppelin/helium/ApplicationLoaderTest.java | 26 +++---- .../apache/zeppelin/helium/HeliumPackageTest.java | 22 +++--- .../interpreter/InterpreterContextTest.java | 10 +-- .../interpreter/InterpreterHookRegistryTest.java | 26 ++++--- .../InterpreterOutputChangeWatcherTest.java | 63 ++++++--------- .../interpreter/InterpreterOutputTest.java | 41 +++++----- .../interpreter/InterpreterResultTest.java | 64 +++++++-------- .../zeppelin/interpreter/InterpreterTest.java | 12 +-- .../interpreter/LazyOpenInterpreterTest.java | 16 ++-- .../SingleRowInterpreterResultTest.java | 10 +-- .../zeppelin/interpreter/ZeppCtxtVariableTest.java | 91 ++++++++++------------ .../zeppelin/interpreter/ZeppelinContextTest.java | 15 ++-- .../launcher/InterpreterLauncherTest.java | 4 +- .../remote/RemoteInterpreterServerTest.java | 38 +++++---- .../remote/RemoteInterpreterUtilsTest.java | 8 +- .../interpreter/util/ByteBufferUtilTest.java | 9 ++- .../zeppelin/interpreter/util/SqlSplitterTest.java | 24 +++--- .../zeppelin/resource/LocalResourcePoolTest.java | 14 ++-- .../apache/zeppelin/resource/ResourceSetTest.java | 10 +-- .../org/apache/zeppelin/resource/ResourceTest.java | 37 +++++---- .../zeppelin/scheduler/FIFOSchedulerTest.java | 24 +++--- .../org/apache/zeppelin/scheduler/JobTest.java | 34 ++++---- .../zeppelin/scheduler/ParallelSchedulerTest.java | 13 ++-- .../tabledata/InterpreterResultTableDataTest.java | 11 +-- .../zeppelin/tabledata/TableDataProxyTest.java | 18 ++--- .../zeppelin/tabledata/TableDataUtilsTest.java | 12 +-- 37 files changed, 458 insertions(+), 457 deletions(-) diff --git a/zeppelin-interpreter/pom.xml b/zeppelin-interpreter/pom.xml index c5ce5360ab..34bfd17e9d 100644 --- a/zeppelin-interpreter/pom.xml +++ b/zeppelin-interpreter/pom.xml @@ -207,12 +207,6 @@ <scope>test</scope> </dependency> - <dependency> - <groupId>org.junit.vintage</groupId> - <artifactId>junit-vintage-engine</artifactId> - <scope>test</scope> - </dependency> - <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterOutputChangeWatcher.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterOutputChangeWatcher.java index 1cb9c23ee6..14eb7414b4 100644 --- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterOutputChangeWatcher.java +++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterOutputChangeWatcher.java @@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory; * Watch the change for the development mode support */ public class InterpreterOutputChangeWatcher extends Thread { - Logger logger = LoggerFactory.getLogger(InterpreterOutputChangeWatcher.class); + private static final Logger LOGGER = LoggerFactory.getLogger(InterpreterOutputChangeWatcher.class); private WatchService watcher; private final List<File> watchFiles = new LinkedList<>(); @@ -68,7 +68,7 @@ public class InterpreterOutputChangeWatcher extends Thread { } Path dir = FileSystems.getDefault().getPath(dirString); - logger.info("watch " + dir); + LOGGER.info("watch {}", dir); WatchKey key = dir.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY); synchronized (watchKeys) { watchKeys.put(key, new File(dirString)); @@ -93,6 +93,7 @@ public class InterpreterOutputChangeWatcher extends Thread { watcher.close(); } + @Override public void run() { while (!stop) { WatchKey key = null; @@ -122,7 +123,7 @@ public class InterpreterOutputChangeWatcher extends Thread { } else { changedFile = new File(watchKeys.get(key), filename.toString()); } - logger.info("File change detected " + changedFile.getAbsolutePath()); + LOGGER.info("File change detected {}", changedFile.getAbsolutePath()); if (listener != null) { listener.fileChanged(changedFile); } diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/cluster/ClusterMultiNodeTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/cluster/ClusterMultiNodeTest.java index f5c79421a5..8f4108e408 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/cluster/ClusterMultiNodeTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/cluster/ClusterMultiNodeTest.java @@ -19,21 +19,21 @@ package org.apache.zeppelin.cluster; import org.apache.zeppelin.cluster.meta.ClusterMetaType; import org.apache.zeppelin.conf.ZeppelinConfiguration; import org.apache.zeppelin.interpreter.remote.RemoteInterpreterUtils; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.io.IOException; import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.List; import java.util.Map; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - public class ClusterMultiNodeTest { private static Logger LOGGER = LoggerFactory.getLogger(ClusterMultiNodeTest.class); @@ -43,8 +43,8 @@ public class ClusterMultiNodeTest { static final String metaKey = "ClusterMultiNodeTestKey"; - @BeforeClass - public static void startCluster() throws IOException, InterruptedException { + @BeforeAll + static void startCluster() throws IOException, InterruptedException { LOGGER.info("startCluster >>>"); String clusterAddrList = ""; @@ -109,8 +109,8 @@ public class ClusterMultiNodeTest { getClusterServerMeta(); } - @AfterClass - public static void stopCluster() { + @AfterAll + static void stopCluster() { LOGGER.info("stopCluster >>>"); if (null != clusterClient) { clusterClient.shutdown(); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/cluster/ClusterSingleNodeTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/cluster/ClusterSingleNodeTest.java index 26d7bf9eb6..e1cc4a1764 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/cluster/ClusterSingleNodeTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/cluster/ClusterSingleNodeTest.java @@ -20,21 +20,22 @@ import org.apache.zeppelin.cluster.meta.ClusterMeta; import org.apache.zeppelin.cluster.meta.ClusterMetaType; import org.apache.zeppelin.conf.ZeppelinConfiguration; import org.apache.zeppelin.interpreter.remote.RemoteInterpreterUtils; -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 static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.io.IOException; import java.util.HashMap; import java.util.Map; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -public class ClusterSingleNodeTest { +class ClusterSingleNodeTest { private static Logger LOGGER = LoggerFactory.getLogger(ClusterSingleNodeTest.class); private static ZeppelinConfiguration zconf; @@ -45,8 +46,8 @@ public class ClusterSingleNodeTest { static int zServerPort; static final String metaKey = "ClusterSingleNodeTestKey"; - @BeforeClass - public static void startCluster() throws IOException, InterruptedException { + @BeforeAll + static void startCluster() throws IOException, InterruptedException { LOGGER.info("startCluster >>>"); zconf = ZeppelinConfiguration.create("zeppelin-site-test.xml"); @@ -83,8 +84,8 @@ public class ClusterSingleNodeTest { LOGGER.info("startCluster <<<"); } - @AfterClass - public static void stopCluster() { + @AfterAll + static void stopCluster() { if (null != clusterClient) { clusterClient.shutdown(); } @@ -96,7 +97,7 @@ public class ClusterSingleNodeTest { } @Test - public void getServerMeta() { + void getServerMeta() { LOGGER.info("getServerMeta >>>"); // Get metadata for all services @@ -118,7 +119,7 @@ public class ClusterSingleNodeTest { } @Test - public void putIntpProcessMeta() { + void putIntpProcessMeta() { // mock IntpProcess Meta Map<String, Object> meta = new HashMap<>(); meta.put(ClusterMeta.SERVER_HOST, zServerHost); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/conf/ZeppelinConfigurationTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/conf/ZeppelinConfigurationTest.java index c72dc3070a..55c68d48a2 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/conf/ZeppelinConfigurationTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/conf/ZeppelinConfigurationTest.java @@ -16,29 +16,34 @@ */ package org.apache.zeppelin.conf; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.time.format.DateTimeParseException; -import static org.junit.Assert.*; +import org.junit.jupiter.api.Test; -public class ZeppelinConfigurationTest { +class ZeppelinConfigurationTest { @Test - public void testTimeUnitToMill() { + void testTimeUnitToMill() { assertEquals(10L, ZeppelinConfiguration.timeUnitToMill("10ms")); assertEquals(2000L, ZeppelinConfiguration.timeUnitToMill("2s")); assertEquals(60000L, ZeppelinConfiguration.timeUnitToMill("1m")); assertEquals(3600000L, ZeppelinConfiguration.timeUnitToMill("1h")); } - @Test(expected = DateTimeParseException.class) - public void testTimeUnitToMill_WithoutUnit_1() { - assertEquals(DateTimeParseException.class, ZeppelinConfiguration.timeUnitToMill("60000")); + @Test + void testTimeUnitToMill_WithoutUnit_1() { + assertThrows(DateTimeParseException.class, () -> { + ZeppelinConfiguration.timeUnitToMill("60000"); + }); } - @Test(expected = DateTimeParseException.class) - public void testTimeUnitToMill_WithoutUnit_2() { - assertEquals(DateTimeParseException.class, ZeppelinConfiguration.timeUnitToMill("0")); + @Test + void testTimeUnitToMill_WithoutUnit_2() { + assertThrows(DateTimeParseException.class, () -> { + ZeppelinConfiguration.timeUnitToMill("0"); + }); } } diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/dep/BooterTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/dep/BooterTest.java index 21a8d1a3da..1a9e98e16e 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/dep/BooterTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/dep/BooterTest.java @@ -19,42 +19,43 @@ package org.apache.zeppelin.dep; import org.apache.zeppelin.conf.ZeppelinConfiguration; import org.eclipse.aether.repository.RemoteRepository; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.nio.file.Paths; import java.util.List; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; -public class BooterTest { +class BooterTest { @Test - public void should_return_absolute_path() { + void should_return_absolute_path() { String resolvedPath = Booter.resolveLocalRepoPath("path"); assertTrue(Paths.get(resolvedPath).isAbsolute()); } @Test - public void should_not_change_absolute_path() { + void should_not_change_absolute_path() { String absolutePath = Paths.get("first", "second").toAbsolutePath().toString(); String resolvedPath = Booter.resolveLocalRepoPath(absolutePath); - - assertThat(resolvedPath, equalTo(absolutePath)); + assertEquals(absolutePath, resolvedPath); } - @Test(expected = NullPointerException.class) - public void should_throw_exception_for_null() { - Booter.resolveLocalRepoPath(null); + @Test + void should_throw_exception_for_null() { + assertThrows(NullPointerException.class, () -> { + Booter.resolveLocalRepoPath(null); + }); + } @Test - public void getInterpreterMvnRepoPathTest() { + void getInterpreterMvnRepoPathTest() { ZeppelinConfiguration.reset(); ZeppelinConfiguration.create("zeppelin-site-test.xml"); List<RemoteRepository> remoteRepositories = Booter.newCentralRepositorys(null); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/dep/DependencyResolverTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/dep/DependencyResolverTest.java index ceeecd9fe7..c43ce8e410 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/dep/DependencyResolverTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/dep/DependencyResolverTest.java @@ -18,30 +18,28 @@ package org.apache.zeppelin.dep; import org.apache.commons.io.FileUtils; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; import org.eclipse.aether.RepositoryException; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.io.File; import java.io.FileNotFoundException; import java.util.Collections; -import static org.junit.Assert.assertEquals; -public class DependencyResolverTest { +class DependencyResolverTest { private static DependencyResolver resolver; private static String testPath; private static File testCopyPath; private static File tmpDir; - @Rule - public ExpectedException expectedException = ExpectedException.none(); - @BeforeClass - public static void setUp() throws Exception { + @BeforeAll + static void setUp() throws Exception { tmpDir = new File(System.getProperty("java.io.tmpdir") + "/ZeppelinLTest_" + System.currentTimeMillis()); testPath = tmpDir.getAbsolutePath() + "/test-repo"; @@ -49,23 +47,21 @@ public class DependencyResolverTest { resolver = new DependencyResolver(testPath); } - @AfterClass - public static void tearDown() throws Exception { + @AfterAll + static void tearDown() throws Exception { FileUtils.deleteDirectory(tmpDir); } - @Rule - public final ExpectedException exception = ExpectedException.none(); @Test - public void testAddRepo() { + void testAddRepo() { int reposCnt = resolver.getRepos().size(); resolver.addRepo("securecentral", "https://repo1.maven.org/maven2", false); assertEquals(reposCnt + 1, resolver.getRepos().size()); } @Test - public void testDelRepo() { + void testDelRepo() { resolver.addRepo("securecentral", "https://repo1.maven.org/maven2", false); int reposCnt = resolver.getRepos().size(); resolver.delRepo("securecentral"); @@ -74,23 +70,23 @@ public class DependencyResolverTest { } @Test - public void testLoad() throws Exception { + void testLoad() throws Exception { // basic load resolver.load("com.databricks:spark-csv_2.10:1.3.0", testCopyPath); - assertEquals(testCopyPath.list().length, 4); + assertEquals(4, testCopyPath.list().length); FileUtils.cleanDirectory(testCopyPath); // load with exclusions parameter resolver.load("com.databricks:spark-csv_2.10:1.3.0", Collections.singletonList("org.scala-lang:scala-library"), testCopyPath); - assertEquals(testCopyPath.list().length, 3); + assertEquals(3, testCopyPath.list().length); FileUtils.cleanDirectory(testCopyPath); // load from added http repository resolver.addRepo("httpmvn", "http://insecure.repo1.maven.org/maven2/", false); resolver.load("com.databricks:spark-csv_2.10:1.3.0", testCopyPath); - assertEquals(testCopyPath.list().length, 4); + assertEquals(4, testCopyPath.list().length); FileUtils.cleanDirectory(testCopyPath); resolver.delRepo("httpmvn"); @@ -98,20 +94,21 @@ public class DependencyResolverTest { resolver.addRepo("sonatype", "https://oss.sonatype.org/content/repositories/ksoap2-android-releases/", false); resolver.load("com.google.code.ksoap2-android:ksoap2-jsoup:3.6.3", testCopyPath); - assertEquals(testCopyPath.list().length, 10); + assertEquals(10, testCopyPath.list().length); // load invalid artifact - resolver.delRepo("sonatype"); - exception.expect(RepositoryException.class); - resolver.load("com.agimatec:agimatec-validation:0.12.0", testCopyPath); + assertThrows(RepositoryException.class, () -> { + resolver.delRepo("sonatype"); + resolver.load("com.agimatec:agimatec-validation:0.12.0", testCopyPath); + }); } @Test - public void should_throw_exception_if_dependency_not_found() throws Exception { - expectedException.expectMessage("Source 'one.two:1.0' does not exist"); - expectedException.expect(FileNotFoundException.class); - - resolver.load("one.two:1.0", testCopyPath); + void should_throw_exception_if_dependency_not_found() throws Exception { + FileNotFoundException exception = assertThrows(FileNotFoundException.class, () -> { + resolver.load("one.two:1.0", testCopyPath); + }); + assertEquals("Source 'one.two:1.0' does not exist", exception.getMessage()); } } diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/AngularObjectRegistryTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/AngularObjectRegistryTest.java index 988e6eaa8e..a271117d09 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/AngularObjectRegistryTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/AngularObjectRegistryTest.java @@ -18,17 +18,18 @@ package org.apache.zeppelin.display; import org.apache.thrift.TException; -import org.junit.Test; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; import java.util.concurrent.atomic.AtomicInteger; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -public class AngularObjectRegistryTest { +class AngularObjectRegistryTest { @Test - public void testBasic() throws TException { + void testBasic() throws TException { final AtomicInteger onAdd = new AtomicInteger(0); final AtomicInteger onUpdate = new AtomicInteger(0); final AtomicInteger onRemove = new AtomicInteger(0); @@ -77,7 +78,7 @@ public class AngularObjectRegistryTest { } @Test - public void testGetDependOnScope() throws TException { + void testGetDependOnScope() throws TException { AngularObjectRegistry registry = new AngularObjectRegistry("intpId", null); AngularObject ao1 = registry.add("name1", "o1", "noteId1", "paragraphId1"); AngularObject ao2 = registry.add("name2", "o2", "noteId1", "paragraphId1"); @@ -96,7 +97,7 @@ public class AngularObjectRegistryTest { } @Test - public void testGetAllDependOnScope() throws TException { + void testGetAllDependOnScope() throws TException { AngularObjectRegistry registry = new AngularObjectRegistry("intpId", null); AngularObject ao1 = registry.add("name1", "o", "noteId1", "paragraphId1"); AngularObject ao2 = registry.add("name2", "o", "noteId1", "paragraphId1"); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/AngularObjectTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/AngularObjectTest.java index b30439a400..4e86d49526 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/AngularObjectTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/AngularObjectTest.java @@ -19,17 +19,17 @@ package org.apache.zeppelin.display; import org.apache.thrift.TException; import org.apache.zeppelin.interpreter.InterpreterContext; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import java.util.concurrent.atomic.AtomicInteger; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotSame; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotSame; +import java.util.concurrent.atomic.AtomicInteger; -public class AngularObjectTest { +class AngularObjectTest { @Test - public void testEquals() { + void testEquals() { assertEquals( new AngularObject("name", "value", "note1", null, null), new AngularObject("name", "value", "note1", null, null) @@ -79,7 +79,7 @@ public class AngularObjectTest { } @Test - public void testListener() throws TException { + void testListener() throws TException { final AtomicInteger updated = new AtomicInteger(0); AngularObject ao = new AngularObject("name", "value", "note1", null, new AngularObjectListener() { @@ -104,7 +104,7 @@ public class AngularObjectTest { } @Test - public void testWatcher() throws InterruptedException, TException { + void testWatcher() throws InterruptedException, TException { final AtomicInteger updated = new AtomicInteger(0); final AtomicInteger onWatch = new AtomicInteger(0); AngularObject ao = new AngularObject("name", "value", "note1", null, diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/GUITest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/GUITest.java index 363afe1adb..e4e67e85b0 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/GUITest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/GUITest.java @@ -21,17 +21,19 @@ import org.apache.zeppelin.display.ui.CheckBox; import org.apache.zeppelin.display.ui.OptionInput.ParamOption; import org.apache.zeppelin.display.ui.Select; import org.apache.zeppelin.display.ui.TextBox; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -public class GUITest { +class GUITest { private ParamOption[] options = new ParamOption[]{ new ParamOption("1", "value_1"), @@ -40,14 +42,14 @@ public class GUITest { private List<Object> checkedItems; - @Before - public void setUp() { + @BeforeEach + void setUp() { checkedItems = new ArrayList<>(); checkedItems.add("1"); } @Test - public void testSelect() { + void testSelect() { GUI gui = new GUI(); Object selected = gui.select("list_1", options, null); // use the first one as the default value @@ -63,11 +65,11 @@ public class GUITest { } @Test - public void testGson() { + void testGson() { GUI gui = new GUI(); gui.textbox("textbox_1", "default_text_1"); gui.select("select_1", options, "1"); - List<Object> list = new ArrayList(); + List<Object> list = new ArrayList<>(); list.add("1"); gui.checkbox("checkbox_1", options, list); @@ -75,13 +77,11 @@ public class GUITest { System.out.println(json); GUI gui2 = GUI.fromJson(json); assertEquals(gui2.toJson(), json); - assertEquals(gui2.forms, gui2.forms); - assertEquals(gui2.params, gui2.params); } // Case 1. Old input forms are created in backend, in this case type is always set @Test - public void testOldGson_1() throws IOException { + void testOldGson_1() throws IOException { GUI gui = new GUI(); gui.forms.put("textbox_1", new OldInput.OldTextBox("textbox_1", "default_text_1")); @@ -94,19 +94,19 @@ public class GUITest { // convert to new input forms GUI gui2 = GUI.fromJson(json); - assertTrue(3 == gui2.forms.size()); + assertEquals(3, gui2.forms.size()); assertTrue(gui2.forms.get("textbox_1") instanceof TextBox); assertEquals("default_text_1", gui2.forms.get("textbox_1").getDefaultValue()); assertTrue(gui2.forms.get("select_1") instanceof Select); - assertEquals(options, ((Select) gui2.forms.get("select_1")).getOptions()); + assertArrayEquals(options, ((Select) gui2.forms.get("select_1")).getOptions()); assertTrue(gui2.forms.get("checkbox_1") instanceof CheckBox); - assertEquals(options, ((CheckBox) gui2.forms.get("checkbox_1")).getOptions()); + assertArrayEquals(options, ((CheckBox) gui2.forms.get("checkbox_1")).getOptions()); } // Case 2. Old input forms are created in frontend, in this case type is only set for checkbox // Actually this is a bug due to method Input#getInputForm @Test - public void testOldGson_2() throws IOException { + void testOldGson_2() throws IOException { GUI gui = new GUI(); gui.forms.put("textbox_1", new OldInput("textbox_1", "default_text_1")); @@ -119,18 +119,18 @@ public class GUITest { // convert to new input forms GUI gui2 = GUI.fromJson(json); - assertTrue(3 == gui2.forms.size()); + assertEquals(3, gui2.forms.size()); assertTrue(gui2.forms.get("textbox_1") instanceof TextBox); assertEquals("default_text_1", gui2.forms.get("textbox_1").getDefaultValue()); assertTrue(gui2.forms.get("select_1") instanceof Select); - assertEquals(options, ((Select) gui2.forms.get("select_1")).getOptions()); + assertArrayEquals(options, ((Select) gui2.forms.get("select_1")).getOptions()); assertTrue(gui2.forms.get("checkbox_1") instanceof CheckBox); - assertEquals(options, ((CheckBox) gui2.forms.get("checkbox_1")).getOptions()); + assertArrayEquals(options, ((CheckBox) gui2.forms.get("checkbox_1")).getOptions()); } // load old json file and will convert it into new forms of Input @Test - public void testOldGson_3() throws IOException { + void testOldGson_3() throws IOException { String oldJson = "{\n" + " \"params\": {\n" + " \"maxAge\": \"35\"\n" + diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/InputTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/InputTest.java index 18f9840cc9..8e7cdbf140 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/InputTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/display/InputTest.java @@ -22,20 +22,19 @@ import org.apache.zeppelin.display.ui.OptionInput.ParamOption; import org.apache.zeppelin.display.ui.Password; import org.apache.zeppelin.display.ui.Select; import org.apache.zeppelin.display.ui.TextBox; -import org.junit.Test; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.HashMap; import java.util.Map; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - -public class InputTest { +class InputTest { @Test - public void testFormExtraction() { + void testFormExtraction() { // textbox form String script = "${input_form=}"; Map<String, Input> forms = Input.extractSimpleQueryForm(script, false); @@ -117,7 +116,7 @@ public class InputTest { @Test - public void testFormSubstitution() { + void testFormSubstitution() { // test form substitution without new forms String script = "INPUT=${input_form=}SELECTED=${select_form(Selection Form)=" + ",s_op1|s_op2|s_op3}\nCHECKED=${checkbox:checkbox_form=c_op1|c_op2,c_op1|c_op2|c_op3}"; diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/helium/ApplicationLoaderTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/helium/ApplicationLoaderTest.java index 0cbfc9019d..21d3d751b8 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/helium/ApplicationLoaderTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/helium/ApplicationLoaderTest.java @@ -21,34 +21,34 @@ import org.apache.commons.io.FileUtils; import org.apache.zeppelin.dep.DependencyResolver; import org.apache.zeppelin.interpreter.InterpreterOutput; import org.apache.zeppelin.resource.LocalResourcePool; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.File; import java.io.IOException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -public class ApplicationLoaderTest { +class ApplicationLoaderTest { private File tmpDir; - @Before - public void setUp() { + @BeforeEach + void setUp() { tmpDir = new File(System.getProperty("java.io.tmpdir") + "/ZeppelinLTest_" + System.currentTimeMillis()); tmpDir.mkdirs(); } - @After - public void tearDown() throws IOException { + @AfterEach + void tearDown() throws IOException { FileUtils.deleteDirectory(tmpDir); } @Test - public void loadUnloadApplication() throws Exception { + void loadUnloadApplication() throws Exception { // given LocalResourcePool resourcePool = new LocalResourcePool("pool1"); DependencyResolver dep = new DependencyResolver(tmpDir.getAbsolutePath()); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/helium/HeliumPackageTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/helium/HeliumPackageTest.java index e810742461..1d168d1448 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/helium/HeliumPackageTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/helium/HeliumPackageTest.java @@ -17,16 +17,16 @@ package org.apache.zeppelin.helium; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.Map; -import static org.junit.Assert.assertEquals; +import org.junit.jupiter.api.Test; -public class HeliumPackageTest { +class HeliumPackageTest { @Test - public void parseSpellPackageInfo() { + void parseSpellPackageInfo() { String examplePackage = "{\n" + " \"type\" : \"SPELL\",\n" + " \"name\" : \"echo-spell\",\n" + @@ -41,12 +41,12 @@ public class HeliumPackageTest { "}"; HeliumPackage p = HeliumPackage.fromJson(examplePackage); - assertEquals(p.getSpellInfo().getMagic(), "%echo"); - assertEquals(p.getSpellInfo().getUsage(), "%echo <TEXT>"); + assertEquals("%echo", p.getSpellInfo().getMagic()); + assertEquals("%echo <TEXT>", p.getSpellInfo().getUsage()); } @Test - public void parseConfig() { + void parseConfig() { String examplePackage = "{\n" + " \"type\" : \"SPELL\",\n" + " \"name\" : \"translator-spell\",\n" + @@ -71,10 +71,8 @@ public class HeliumPackageTest { Map<String, Object> config = p.getConfig(); Map<String, Object> accessToken = (Map<String, Object>) config.get("access-token"); - assertEquals((String) accessToken.get("type"), "string"); - assertEquals((String) accessToken.get("description"), - "access token for Google Translation API"); - assertEquals((String) accessToken.get("defaultValue"), - "EXAMPLE-TOKEN"); + assertEquals("string", accessToken.get("type")); + assertEquals("access token for Google Translation API", accessToken.get("description")); + assertEquals("EXAMPLE-TOKEN", accessToken.get("defaultValue")); } } diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterContextTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterContextTest.java index 62b4035ec0..ba10e20b1b 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterContextTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterContextTest.java @@ -17,15 +17,15 @@ package org.apache.zeppelin.interpreter; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import org.junit.jupiter.api.Test; -public class InterpreterContextTest { +class InterpreterContextTest { @Test - public void testThreadLocal() { + void testThreadLocal() { InterpreterContext.remove(); assertNull(InterpreterContext.get()); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterHookRegistryTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterHookRegistryTest.java index 2381dc336b..94b9e9befe 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterHookRegistryTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterHookRegistryTest.java @@ -17,19 +17,20 @@ package org.apache.zeppelin.interpreter; -import org.junit.Test; - import static org.apache.zeppelin.interpreter.InterpreterHookRegistry.HookType.POST_EXEC; import static org.apache.zeppelin.interpreter.InterpreterHookRegistry.HookType.POST_EXEC_DEV; import static org.apache.zeppelin.interpreter.InterpreterHookRegistry.HookType.PRE_EXEC; import static org.apache.zeppelin.interpreter.InterpreterHookRegistry.HookType.PRE_EXEC_DEV; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; + +import org.junit.jupiter.api.Test; -public class InterpreterHookRegistryTest { +class InterpreterHookRegistryTest { @Test - public void testBasic() throws InvalidHookException { + void testBasic() throws InvalidHookException { final String GLOBAL_KEY = InterpreterHookRegistry.GLOBAL_KEY; final String noteId = "note"; final String className = "class"; @@ -64,12 +65,15 @@ public class InterpreterHookRegistryTest { assertEquals(registry.get(GLOBAL_KEY, className, PRE_EXEC.getName()), preExecHook); } - @Test(expected = InvalidHookException.class) - public void testValidEventCode() throws InvalidHookException { - InterpreterHookRegistry registry = new InterpreterHookRegistry(); + @Test + void testValidEventCode() { + assertThrows(InvalidHookException.class, () -> { + InterpreterHookRegistry registry = new InterpreterHookRegistry(); + // Test that only valid event codes ("pre_exec", "post_exec") are accepted + registry.register("foo", "bar", "baz", "whatever"); + }); + - // Test that only valid event codes ("pre_exec", "post_exec") are accepted - registry.register("foo", "bar", "baz", "whatever"); } } diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterOutputChangeWatcherTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterOutputChangeWatcherTest.java index 2dbbbf8380..b4027f1db0 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterOutputChangeWatcherTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterOutputChangeWatcherTest.java @@ -16,72 +16,58 @@ */ package org.apache.zeppelin.interpreter; -import org.junit.After; -import org.junit.Before; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.concurrent.atomic.AtomicInteger; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import org.apache.commons.io.FileUtils; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -public class InterpreterOutputChangeWatcherTest implements InterpreterOutputChangeListener { - private File tmpDir; +class InterpreterOutputChangeWatcherTest implements InterpreterOutputChangeListener { + private Path tmpDir; private File fileChanged; private AtomicInteger numChanged; private InterpreterOutputChangeWatcher watcher; - @Before - public void setUp() throws Exception { + @BeforeEach + void setUp() throws Exception { watcher = new InterpreterOutputChangeWatcher(this); watcher.start(); - tmpDir = new File(System.getProperty("java.io.tmpdir") + "/ZeppelinLTest_" + - System.currentTimeMillis()); - tmpDir.mkdirs(); + tmpDir = Files.createTempDirectory("ZeppelinLTest"); fileChanged = null; numChanged = new AtomicInteger(0); } - @After - public void tearDown() throws Exception { + @AfterEach + void tearDown() throws Exception { watcher.shutdown(); - delete(tmpDir); + FileUtils.deleteDirectory(tmpDir.toFile()); } - private void delete(File file) { - if (file.isFile()) { - file.delete(); - } else if (file.isDirectory()) { - File[] files = file.listFiles(); - if (files != null && files.length > 0) { - for (File f : files) { - delete(f); - } - } - file.delete(); - } - } + @Test + void test() throws IOException, InterruptedException { - - // @Test - public void test() throws IOException, InterruptedException { assertNull(fileChanged); assertEquals(0, numChanged.get()); - - Thread.sleep(1000); // create new file - File file1 = new File(tmpDir, "test1"); + File file1 = new File(tmpDir.toFile(), "test1"); file1.createNewFile(); - File file2 = new File(tmpDir, "test2"); + File file2 = new File(tmpDir.toFile(), "test2"); file2.createNewFile(); watcher.watch(file1); - Thread.sleep(1000); FileOutputStream out1 = new FileOutputStream(file1); out1.write(1); @@ -96,7 +82,8 @@ public class InterpreterOutputChangeWatcherTest implements InterpreterOutputChan } assertNotNull(fileChanged); - assertEquals(1, numChanged.get()); + assertEquals(fileChanged, file1); + assertTrue(numChanged.get() >= 1, "Changes: " + numChanged.get()); } @@ -106,7 +93,7 @@ public class InterpreterOutputChangeWatcherTest implements InterpreterOutputChan numChanged.incrementAndGet(); synchronized (this) { - notify(); + notifyAll(); } } diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterOutputTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterOutputTest.java index e07ec62e30..e219297cfb 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterOutputTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterOutputTest.java @@ -16,35 +16,34 @@ */ package org.apache.zeppelin.interpreter; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; - -public class InterpreterOutputTest implements InterpreterOutputListener { +class InterpreterOutputTest implements InterpreterOutputListener { private InterpreterOutput out; int numAppendEvent; int numUpdateEvent; - @Before - public void setUp() { + @BeforeEach + void setUp() { out = new InterpreterOutput(this); numAppendEvent = 0; numUpdateEvent = 0; } - @After - public void tearDown() throws IOException { + @AfterEach + void tearDown() throws IOException { out.close(); } @Test - public void testDetectNewline() throws IOException { + void testDetectNewline() throws IOException { out.write("hello\nworld"); assertEquals(1, out.size()); assertEquals(InterpreterResult.Type.TEXT, out.getOutputAt(0).getType()); @@ -59,7 +58,7 @@ public class InterpreterOutputTest implements InterpreterOutputListener { } @Test - public void testFlush() throws IOException { + void testFlush() throws IOException { out.write("hello\nworld"); assertEquals("hello\n", new String(out.getOutputAt(0).toByteArray())); assertEquals(1, numAppendEvent); @@ -81,7 +80,7 @@ public class InterpreterOutputTest implements InterpreterOutputListener { @Test - public void testType() throws IOException { + void testType() throws IOException { // default output stream type is TEXT out.write("Text\n"); assertEquals(InterpreterResult.Type.TEXT, out.getOutputAt(0).getType()); @@ -113,13 +112,13 @@ public class InterpreterOutputTest implements InterpreterOutputListener { } @Test - public void testChangeTypeInTheBeginning() throws IOException { + void testChangeTypeInTheBeginning() throws IOException { out.write("%html\nHello"); assertEquals(InterpreterResult.Type.HTML, out.getOutputAt(0).getType()); } @Test - public void testChangeTypeWithMultipleNewline() throws IOException { + void testChangeTypeWithMultipleNewline() throws IOException { out.write("%html\n"); assertEquals(InterpreterResult.Type.HTML, out.getOutputAt(0).getType()); @@ -137,14 +136,14 @@ public class InterpreterOutputTest implements InterpreterOutputListener { } @Test - public void testChangeTypeWithoutData() throws IOException { + void testChangeTypeWithoutData() throws IOException { out.write("%html\n%table\n"); assertEquals(InterpreterResult.Type.HTML, out.getOutputAt(0).getType()); assertEquals(InterpreterResult.Type.TABLE, out.getOutputAt(1).getType()); } @Test - public void testMagicData() throws IOException { + void testMagicData() throws IOException { out.write("%table col1\tcol2\n\n%html <h3> This is a hack </h3>\t234\n".getBytes()); assertEquals(InterpreterResult.Type.TABLE, out.getOutputAt(0).getType()); assertEquals(InterpreterResult.Type.HTML, out.getOutputAt(1).getType()); @@ -155,7 +154,7 @@ public class InterpreterOutputTest implements InterpreterOutputListener { @Test - public void testTableCellFormatting() throws IOException { + void testTableCellFormatting() throws IOException { out.write("%table col1\tcol2\n\n%html val1\tval2\n".getBytes()); assertEquals(InterpreterResult.Type.TABLE, out.getOutputAt(0).getType()); assertEquals("col1\tcol2\n", new String(out.getOutputAt(0).toByteArray())); @@ -164,7 +163,7 @@ public class InterpreterOutputTest implements InterpreterOutputListener { } @Test - public void testMixTableText() throws IOException { + void testMixTableText() throws IOException { out.write("%table col1\tcol2\n\n%text val1".getBytes()); assertEquals(InterpreterResult.Type.TABLE, out.getOutputAt(0).getType()); assertEquals("col1\tcol2\n", new String(out.getOutputAt(0).toByteArray())); @@ -174,7 +173,7 @@ public class InterpreterOutputTest implements InterpreterOutputListener { } @Test - public void testTruncate() throws IOException { + void testTruncate() throws IOException { // output is truncated after the new line InterpreterOutput.LIMIT = 3; out = new InterpreterOutput(this); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterResultTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterResultTest.java index 84805acd73..dc54f58182 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterResultTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterResultTest.java @@ -17,27 +17,26 @@ package org.apache.zeppelin.interpreter; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.Assert.assertEquals; +import org.junit.jupiter.api.Test; - -public class InterpreterResultTest { +class InterpreterResultTest { @Test - public void testTextType() { + void testTextType() { InterpreterResult result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "this is a TEXT type"); - assertEquals("No magic", InterpreterResult.Type.TEXT, result.message().get(0).getType()); + assertEquals(InterpreterResult.Type.TEXT, result.message().get(0).getType(), "No magic"); result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "%this is a TEXT type"); - assertEquals("No magic", InterpreterResult.Type.TEXT, result.message().get(0).getType()); + assertEquals(InterpreterResult.Type.TEXT, result.message().get(0).getType(), "No magic"); result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "%\n"); assertEquals(0, result.message().size()); } @Test - public void testSimpleMagicType() { + void testSimpleMagicType() { InterpreterResult result = null; result = new InterpreterResult(InterpreterResult.Code.SUCCESS, @@ -52,61 +51,62 @@ public class InterpreterResultTest { } @Test - public void testComplexMagicType() { + void testComplexMagicType() { InterpreterResult result = null; result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "some text before %table col1\tcol2\naaa\t123\n"); - assertEquals("some text before magic return magic", - InterpreterResult.Type.TEXT, result.message().get(0).getType()); + assertEquals(InterpreterResult.Type.TEXT, result.message().get(0).getType(), + "some text before magic return magic"); result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "some text before\n%table col1\tcol2\naaa\t123\n"); - assertEquals("some text before magic return magic", - InterpreterResult.Type.TEXT, result.message().get(0).getType()); - assertEquals("some text before magic return magic", - InterpreterResult.Type.TABLE, result.message().get(1).getType()); + assertEquals(InterpreterResult.Type.TEXT, result.message().get(0).getType(), + "some text before magic return magic"); + assertEquals(InterpreterResult.Type.TABLE, result.message().get(1).getType(), + "some text before magic return magic"); result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "%html <h3> This is a hack </h3> %table\n col1\tcol2\naaa\t123\n"); - assertEquals("magic A before magic B return magic A", - InterpreterResult.Type.HTML, result.message().get(0).getType()); + assertEquals(InterpreterResult.Type.HTML, result.message().get(0).getType(), + "magic A before magic B return magic A"); result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "some text before magic word %table col1\tcol2\naaa\t123\n %html " + "<h3> This is a hack </h3>"); - assertEquals("text & magic A before magic B return magic A", - InterpreterResult.Type.TEXT, result.message().get(0).getType()); + assertEquals(InterpreterResult.Type.TEXT, result.message().get(0).getType(), + "text & magic A before magic B return magic A"); result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "%table col1\tcol2\naaa\t123\n %html <h3> This is a hack </h3> %table col1\naaa\n123\n"); - assertEquals("magic A, magic B, magic a' return magic A", - InterpreterResult.Type.TABLE, result.message().get(0).getType()); + assertEquals(InterpreterResult.Type.TABLE, result.message().get(0).getType(), + "magic A, magic B, magic a' return magic A"); } @Test - public void testSimpleMagicData() { + void testSimpleMagicData() { InterpreterResult result = null; result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "%table col1\tcol2\naaa\t123\n"); - assertEquals("%table col1\tcol2\naaa\t123\n", - "col1\tcol2\naaa\t123\n", result.message().get(0).getData()); + assertEquals("col1\tcol2\naaa\t123\n", result.message().get(0).getData(), + "%table col1\tcol2\naaa\t123\n"); result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "%table\ncol1\tcol2\naaa\t123\n"); - assertEquals("%table\ncol1\tcol2\naaa\t123\n", - "col1\tcol2\naaa\t123\n", result.message().get(0).getData()); + assertEquals("col1\tcol2\naaa\t123\n", result.message().get(0).getData(), + "%table\ncol1\tcol2\naaa\t123\n"); result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "some text before magic word\n%table col1\tcol2\naaa\t123\n"); - assertEquals("some text before magic word\n%table col1\tcol2\naaa\t123\n", - "col1\tcol2\naaa\t123\n", result.message().get(1).getData()); + assertEquals("col1\tcol2\naaa\t123\n", result.message().get(1).getData(), + "some text before magic word\n%table col1\tcol2\naaa\t123\n"); } - public void testComplexMagicData() { + @Test + void testComplexMagicData() { InterpreterResult result = null; result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "some text before\n%table col1\tcol2\naaa\t123\n"); - assertEquals("text before %table", "some text before\n", result.message().get(0).getData()); - assertEquals("text after %table", "col1\tcol2\naaa\t123\n", result.message().get(1).getData()); + assertEquals("some text before\n", result.message().get(0).getData(), "text before %table"); + assertEquals("col1\tcol2\naaa\t123\n", result.message().get(1).getData(), "text after %table"); result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "%html <h3> This is a hack </h3>\n%table\ncol1\tcol2\naaa\t123\n"); assertEquals(" <h3> This is a hack </h3>\n", result.message().get(0).getData()); @@ -125,7 +125,7 @@ public class InterpreterResultTest { } @Test - public void testToString() { + void testToString() { assertEquals("%html hello", new InterpreterResult(InterpreterResult.Code.SUCCESS, "%html hello").toString()); } diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterTest.java index 72b9f58fe6..b734095609 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/InterpreterTest.java @@ -17,17 +17,17 @@ package org.apache.zeppelin.interpreter; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.Properties; -import static org.junit.Assert.assertEquals; +import org.junit.jupiter.api.Test; //TODO(zjffdu) add more test for Interpreter which is a very important class -public class InterpreterTest { +class InterpreterTest { @Test - public void testDefaultProperty() { + void testDefaultProperty() { Properties p = new Properties(); p.put("p1", "v1"); Interpreter intp = new DummyInterpreter(p); @@ -38,7 +38,7 @@ public class InterpreterTest { } @Test - public void testOverriddenProperty() { + void testOverriddenProperty() { Properties p = new Properties(); p.put("p1", "v1"); Interpreter intp = new DummyInterpreter(p); @@ -52,7 +52,7 @@ public class InterpreterTest { } @Test - public void testPropertyWithReplacedContextFields() { + void testPropertyWithReplacedContextFields() { String noteId = "testNoteId"; String paragraphTitle = "testParagraphTitle"; String paragraphText = "testParagraphText"; diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/LazyOpenInterpreterTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/LazyOpenInterpreterTest.java index fe5cc8a3ad..edc873615b 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/LazyOpenInterpreterTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/LazyOpenInterpreterTest.java @@ -17,28 +17,28 @@ package org.apache.zeppelin.interpreter; -import org.junit.Test; - -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 static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -public class LazyOpenInterpreterTest { +import org.junit.jupiter.api.Test; + +class LazyOpenInterpreterTest { Interpreter interpreter = mock(Interpreter.class); @Test - public void isOpenTest() throws InterpreterException { + void isOpenTest() throws InterpreterException { InterpreterResult interpreterResult = new InterpreterResult(InterpreterResult.Code.SUCCESS, ""); when(interpreter.interpret(any(String.class), any(InterpreterContext.class))) .thenReturn(interpreterResult); LazyOpenInterpreter lazyOpenInterpreter = new LazyOpenInterpreter(interpreter); - assertFalse("Interpreter is not open", lazyOpenInterpreter.isOpen()); + assertFalse(lazyOpenInterpreter.isOpen(), "Interpreter is not open"); InterpreterContext interpreterContext = mock(InterpreterContext.class); lazyOpenInterpreter.interpret("intp 1", interpreterContext); - assertTrue("Interpeter is open", lazyOpenInterpreter.isOpen()); + assertTrue(lazyOpenInterpreter.isOpen(), "Interpeter is open"); } } diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/SingleRowInterpreterResultTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/SingleRowInterpreterResultTest.java index a83c685fa6..bbdbc72408 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/SingleRowInterpreterResultTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/SingleRowInterpreterResultTest.java @@ -17,17 +17,17 @@ package org.apache.zeppelin.interpreter; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.Arrays; import java.util.List; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class SingleRowInterpreterResultTest { +class SingleRowInterpreterResultTest { @Test - public void testHtml() { + void testHtml() { List<Object> list = Arrays.asList("2020-01-01", 10); String template = "Total count:{1} for {0}"; InterpreterContext context = InterpreterContext.builder().build(); @@ -37,7 +37,7 @@ public class SingleRowInterpreterResultTest { } @Test - public void testAngular() { + void testAngular() { List<Object> list = Arrays.asList("2020-01-01", 10); String template = "Total count:{1} for {0}"; InterpreterContext context = InterpreterContext.builder().build(); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/ZeppCtxtVariableTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/ZeppCtxtVariableTest.java index e5ea4d2c5a..f80c47266a 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/ZeppCtxtVariableTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/ZeppCtxtVariableTest.java @@ -17,138 +17,133 @@ package org.apache.zeppelin.interpreter; +import static org.junit.jupiter.api.Assertions.assertEquals; + import org.apache.zeppelin.resource.LocalResourcePool; import org.apache.zeppelin.resource.ResourcePool; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -public class ZeppCtxtVariableTest { +class ZeppCtxtVariableTest { private ResourcePool resourcePool; - @Before - public void setUp() throws Exception { + @BeforeEach + void setUp() throws Exception { resourcePool = new LocalResourcePool("ZeppelinContextVariableInterpolationTest"); resourcePool.put("PI", "3.1415"); } - @After - public void tearDown() throws Exception { - } - @Test - public void stringWithoutPatterns() { + void stringWithoutPatterns() { String result = AbstractInterpreter.interpolate("The value of PI is not exactly 3.14", resourcePool); - assertEquals("String without patterns", "The value of PI is not exactly 3.14", result); + assertEquals("The value of PI is not exactly 3.14", result); } @Test - public void substitutionInTheMiddle() { + void substitutionInTheMiddle() { String result = AbstractInterpreter.interpolate("The value of {{PI}} is {PI} now", resourcePool); - assertEquals("Substitution in the middle", "The value of {PI} is 3.1415 now", result); + assertEquals("The value of {PI} is 3.1415 now", result); } @Test - public void substitutionAtTheEnds() { + void substitutionAtTheEnds() { String result = AbstractInterpreter.interpolate("{{PI}} is now {PI}", resourcePool); - assertEquals("Substitution at the ends", "{PI} is now 3.1415", result); + assertEquals("{PI} is now 3.1415", result); } @Test - public void multiLineSubstitutionSuccessful1() { + void multiLineSubstitutionSuccessful1() { String result = AbstractInterpreter.interpolate("{{PI}}\n{PI}\n{{PI}}\n{PI}", resourcePool); - assertEquals("multiLineSubstitutionSuccessful1", "{PI}\n3.1415\n{PI}\n3.1415", result); + assertEquals("{PI}\n3.1415\n{PI}\n3.1415", result); } @Test - public void multiLineSubstitutionSuccessful2() { + void multiLineSubstitutionSuccessful2() { String result = AbstractInterpreter.interpolate("prefix {PI} {{PI\n}} suffix", resourcePool); - assertEquals("multiLineSubstitutionSuccessful2", "prefix 3.1415 {PI\n} suffix", result); + assertEquals("prefix 3.1415 {PI\n} suffix", result); } @Test - public void multiLineSubstitutionSuccessful3() { + void multiLineSubstitutionSuccessful3() { String result = AbstractInterpreter.interpolate("prefix {{\nPI}} {PI} suffix", resourcePool); - assertEquals("multiLineSubstitutionSuccessful3", "prefix {\nPI} 3.1415 suffix", result); + assertEquals("prefix {\nPI} 3.1415 suffix", result); } @Test - public void multiLineSubstitutionFailure2() { + void multiLineSubstitutionFailure2() { String result = AbstractInterpreter.interpolate("prefix {PI\n} suffix", resourcePool); - assertEquals("multiLineSubstitutionFailure2", "prefix {PI\n} suffix", result); + assertEquals("prefix {PI\n} suffix", result); } @Test - public void multiLineSubstitutionFailure3() { + void multiLineSubstitutionFailure3() { String result = AbstractInterpreter.interpolate("prefix {\nPI} suffix", resourcePool); - assertEquals("multiLineSubstitutionFailure3", "prefix {\nPI} suffix", result); + assertEquals("prefix {\nPI} suffix", result); } @Test - public void noUndefinedVariableError() { + void noUndefinedVariableError() { String result = AbstractInterpreter.interpolate("This {pi} will pass silently", resourcePool); - assertEquals("No partial substitution", "This {pi} will pass silently", result); + assertEquals("This {pi} will pass silently", result); } @Test - public void noPartialSubstitution() { + void noPartialSubstitution() { String result = AbstractInterpreter.interpolate("A {PI} and a {PIE} are different", resourcePool); - assertEquals("No partial substitution", "A {PI} and a {PIE} are different", result); + assertEquals("A {PI} and a {PIE} are different", result); } @Test - public void substitutionAndEscapeMixed() { + void substitutionAndEscapeMixed() { String result = AbstractInterpreter.interpolate("A {PI} is not a {{PIE}}", resourcePool); - assertEquals("Substitution and escape mixed", "A 3.1415 is not a {PIE}", result); + assertEquals("A 3.1415 is not a {PIE}", result); } @Test - public void unbalancedBracesOne() { + void unbalancedBracesOne() { String result = AbstractInterpreter.interpolate("A {PI} and a {{PIE} remain unchanged", resourcePool); - assertEquals("Unbalanced braces - one", "A {PI} and a {{PIE} remain unchanged", result); + assertEquals("A {PI} and a {{PIE} remain unchanged", result); } @Test - public void unbalancedBracesTwo() { + void unbalancedBracesTwo() { String result = AbstractInterpreter.interpolate("A {PI} and a {PIE}} remain unchanged", resourcePool); - assertEquals("Unbalanced braces - one", "A {PI} and a {PIE}} remain unchanged", result); + assertEquals("A {PI} and a {PIE}} remain unchanged", result); } @Test - public void tooManyBraces() { + void tooManyBraces() { String result = AbstractInterpreter.interpolate("This {{{PI}}} remain unchanged", resourcePool); - assertEquals("Too many braces", "This {{{PI}}} remain unchanged", result); + assertEquals("This {{{PI}}} remain unchanged", result); } @Test - public void randomBracesOne() { + void randomBracesOne() { String result = AbstractInterpreter.interpolate("A {{ starts an escaped sequence", resourcePool); - assertEquals("Random braces - one", "A {{ starts an escaped sequence", result); + assertEquals("A {{ starts an escaped sequence", result); } @Test - public void randomBracesTwo() { + void randomBracesTwo() { String result = AbstractInterpreter.interpolate("A }} ends an escaped sequence", resourcePool); - assertEquals("Random braces - two", "A }} ends an escaped sequence", result); + assertEquals("A }} ends an escaped sequence", result); } @Test - public void randomBracesThree() { + void randomBracesThree() { String result = AbstractInterpreter.interpolate("Paired { begin an escaped sequence", resourcePool); - assertEquals("Random braces - three", "Paired { begin an escaped sequence", result); + assertEquals("Paired { begin an escaped sequence", result); } @Test - public void randomBracesFour() { + void randomBracesFour() { String result = AbstractInterpreter.interpolate("Paired } end an escaped sequence", resourcePool); - assertEquals("Random braces - four", "Paired } end an escaped sequence", result); + assertEquals("Paired } end an escaped sequence", result); } } diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/ZeppelinContextTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/ZeppelinContextTest.java index 506f437e90..855e4c0d86 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/ZeppelinContextTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/ZeppelinContextTest.java @@ -17,19 +17,18 @@ package org.apache.zeppelin.interpreter; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.HashMap; import java.util.List; import java.util.Map; -import static org.junit.Assert.assertEquals; +import org.junit.jupiter.api.Test; - -public class ZeppelinContextTest { +class ZeppelinContextTest { @Test - public void testHooks() throws InvalidHookException { + void testHooks() throws InvalidHookException { InterpreterHookRegistry hookRegistry = new InterpreterHookRegistry(); TestZeppelinContext z = new TestZeppelinContext(hookRegistry, 10); InterpreterContext context = InterpreterContext.builder() @@ -43,11 +42,7 @@ public class ZeppelinContextTest { // get note name via InterpreterContext String note_name = z.getInterpreterContext().getNoteName(); - assertEquals( - String.format("Actual note name: %s, but expected %s", note_name, "note_name_1"), - "note_name_1", - note_name - ); + assertEquals("note_name_1", note_name); // register global hook for current interpreter z.registerHook(InterpreterHookRegistry.HookType.PRE_EXEC.getName(), "pre_cmd"); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/launcher/InterpreterLauncherTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/launcher/InterpreterLauncherTest.java index 7c348a626a..e736608fdf 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/launcher/InterpreterLauncherTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/launcher/InterpreterLauncherTest.java @@ -17,9 +17,9 @@ package org.apache.zeppelin.interpreter.launcher; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.Assert.assertEquals; +import org.junit.jupiter.api.Test; public class InterpreterLauncherTest { diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterServerTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterServerTest.java index 7f6e0e5d2d..c1700cdef1 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterServerTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterServerTest.java @@ -25,7 +25,9 @@ import org.apache.zeppelin.interpreter.InterpreterResult; import org.apache.zeppelin.interpreter.LazyOpenInterpreter; import org.apache.zeppelin.interpreter.thrift.RemoteInterpreterContext; import org.apache.zeppelin.interpreter.thrift.RemoteInterpreterResult; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.HashMap; @@ -34,16 +36,18 @@ import java.util.Properties; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.mock; -public class RemoteInterpreterServerTest { +class RemoteInterpreterServerTest { + + private static final Logger LOGGER = LoggerFactory.getLogger(RemoteInterpreterServerTest.class); @Test - public void testStartStop() throws Exception { + void testStartStop() throws Exception { RemoteInterpreterServer server = new RemoteInterpreterServer("localhost", RemoteInterpreterUtils.findRandomAvailablePortOnAllLocalInterfaces(), ":", "groupId", true); @@ -52,7 +56,7 @@ public class RemoteInterpreterServerTest { } @Test - public void testStartStopWithQueuedEvents() throws Exception { + void testStartStopWithQueuedEvents() throws Exception { RemoteInterpreterServer server = new RemoteInterpreterServer("localhost", RemoteInterpreterUtils.findRandomAvailablePortOnAllLocalInterfaces(), ":", "groupId", true); server.intpEventClient = mock(RemoteInterpreterEventClient.class); @@ -99,7 +103,7 @@ public class RemoteInterpreterServerTest { } @Test - public void testInterpreter() throws Exception { + void testInterpreter() throws Exception { final RemoteInterpreterServer server = new RemoteInterpreterServer("localhost", RemoteInterpreterUtils.findRandomAvailablePortOnAllLocalInterfaces(), ":", "groupId", true); server.init(new HashMap<>()); @@ -206,6 +210,8 @@ public class RemoteInterpreterServerTest { server.close("session_1", Test2Interpreter.class.getName()); assertEquals(1, server.getInterpreterGroup().get("session_1").size()); + // // Close is async process + Thread.sleep(100); // after close -> thread of Test1Interpreter is not running assertEquals(false, isThreadRunning(interpreter1.getScheduler().getName())); } @@ -245,14 +251,18 @@ public class RemoteInterpreterServerTest { try { context.out.write("INTERPRETER_OUT"); } catch (IOException e) { - e.printStackTrace(); + LOGGER.error("IO Error", e); } return new InterpreterResult(InterpreterResult.Code.SUCCESS, "SINGLE_OUTPUT_SUCCESS"); } else if (st.equals("SLEEP")) { - try { - Thread.sleep(3 * 1000); - } catch (InterruptedException e) { - e.printStackTrace(); + int count = 0; + while (!cancelled.get() || count > 30) { + try { + Thread.sleep(100); + } catch (InterruptedException e) { + return new InterpreterResult(InterpreterResult.Code.ERROR, "SLEEP_SUCCESS"); + } + ++count; } return new InterpreterResult(InterpreterResult.Code.SUCCESS, "SLEEP_SUCCESS"); } diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterUtilsTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterUtilsTest.java index 1d6fb521ee..85f4284c50 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterUtilsTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterUtilsTest.java @@ -17,16 +17,16 @@ package org.apache.zeppelin.interpreter.remote; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; -import static org.junit.Assert.assertTrue; +import org.junit.jupiter.api.Test; -public class RemoteInterpreterUtilsTest { +class RemoteInterpreterUtilsTest { @Test - public void testfindAvailablePort() throws IOException { + void testfindAvailablePort() throws IOException { assertTrue(RemoteInterpreterUtils.findAvailablePort(":") > 0); String portRange = ":30000"; diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/util/ByteBufferUtilTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/util/ByteBufferUtilTest.java index 3a0a7f432d..d41c365af2 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/util/ByteBufferUtilTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/util/ByteBufferUtilTest.java @@ -18,16 +18,17 @@ package org.apache.zeppelin.interpreter.util; +import static org.junit.jupiter.api.Assertions.assertEquals; + import java.nio.ByteBuffer; import java.nio.charset.Charset; -import org.junit.Test; -import static org.junit.Assert.assertEquals; +import org.junit.jupiter.api.Test; -public class ByteBufferUtilTest { +class ByteBufferUtilTest { @Test - public void fromByteBufferToByteBuffer() { + void fromByteBufferToByteBuffer() { String str = "Hello world"; ByteBuffer byteBuffer = ByteBufferUtils.stringToByteBuffer(str, Charset.defaultCharset()); assertEquals(str, ByteBufferUtils.ByteBufferToString(byteBuffer, Charset.defaultCharset())); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/util/SqlSplitterTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/util/SqlSplitterTest.java index 03cfef4aa2..0efdd28cd8 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/util/SqlSplitterTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/util/SqlSplitterTest.java @@ -18,16 +18,16 @@ package org.apache.zeppelin.interpreter.util; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.List; -import static org.junit.Assert.assertEquals; +import org.junit.jupiter.api.Test; -public class SqlSplitterTest { +class SqlSplitterTest { @Test - public void testNormalSql() { + void testNormalSql() { SqlSplitter sqlSplitter = new SqlSplitter(); List<String> sqls = sqlSplitter.splitSql("show tables"); assertEquals(1, sqls.size()); @@ -63,7 +63,7 @@ public class SqlSplitterTest { } @Test - public void testSingleLineComment() { + void testSingleLineComment() { SqlSplitter sqlSplitter = new SqlSplitter(); List<String> sqls = sqlSplitter.splitSql("show tables;\n--comment_1"); assertEquals(1, sqls.size()); @@ -122,7 +122,7 @@ public class SqlSplitterTest { } @Test - public void testMultipleLineComment() { + void testMultipleLineComment() { SqlSplitter sqlSplitter = new SqlSplitter(); List<String> sqls = sqlSplitter.splitSql("show tables;\n/*comment_1*/"); assertEquals(1, sqls.size()); @@ -181,7 +181,7 @@ public class SqlSplitterTest { } @Test - public void testInvalidSql() { + void testInvalidSql() { SqlSplitter sqlSplitter = new SqlSplitter(); List<String> sqls = sqlSplitter.splitSql("select a from table_1 where a=' and b=1"); assertEquals(1, sqls.size()); @@ -197,7 +197,7 @@ public class SqlSplitterTest { } @Test - public void testComplexSql() { + void testComplexSql() { SqlSplitter sqlSplitter = new SqlSplitter(); String text = "/* ; */\n" + "-- /* comment\n" + @@ -232,7 +232,7 @@ public class SqlSplitterTest { } @Test - public void testCustomSplitter_1() { + void testCustomSplitter_1() { SqlSplitter sqlSplitter = new SqlSplitter("//"); List<String> sqls = sqlSplitter.splitSql("show tables;\n//comment_1"); assertEquals(1, sqls.size()); @@ -282,7 +282,7 @@ public class SqlSplitterTest { } @Test - public void testCustomSplitter_2() { + void testCustomSplitter_2() { SqlSplitter sqlSplitter = new SqlSplitter("#"); List<String> sqls = sqlSplitter.splitSql("show tables;\n#comment_1"); assertEquals(1, sqls.size()); @@ -332,7 +332,7 @@ public class SqlSplitterTest { } @Test - public void testQuoteInComment() { + void testQuoteInComment() { SqlSplitter sqlSplitter = new SqlSplitter(); List<String> sqls = sqlSplitter.splitSql("show tables;-- comment_1'\ndescribe table_1"); assertEquals(2, sqls.size()); @@ -356,7 +356,7 @@ public class SqlSplitterTest { } @Test - public void testCommentAtEnd() { + void testCommentAtEnd() { String sql = "\n" + "select\n" + " 'one'\n" + diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/resource/LocalResourcePoolTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/resource/LocalResourcePoolTest.java index 8b42dc8b2f..688ac90817 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/resource/LocalResourcePoolTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/resource/LocalResourcePoolTest.java @@ -16,20 +16,20 @@ */ package org.apache.zeppelin.resource; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; +import org.junit.jupiter.api.Test; /** * Unittest for LocalResourcePool */ -public class LocalResourcePoolTest { +class LocalResourcePoolTest { @Test - public void testGetPutResourcePool() { + void testGetPutResourcePool() { LocalResourcePool pool = new LocalResourcePool("pool1"); assertEquals("pool1", pool.id()); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/resource/ResourceSetTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/resource/ResourceSetTest.java index cc1cad1911..cb383b9ad8 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/resource/ResourceSetTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/resource/ResourceSetTest.java @@ -16,17 +16,17 @@ */ package org.apache.zeppelin.resource; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.Assert.assertEquals; +import org.junit.jupiter.api.Test; /** * Unit test for ResourceSet */ -public class ResourceSetTest { +class ResourceSetTest { @Test - public void testFilterByName() { + void testFilterByName() { ResourceSet set = new ResourceSet(); set.add(new Resource(null, new ResourceId("poo1", "resource1"), "value1")); @@ -39,7 +39,7 @@ public class ResourceSetTest { } @Test - public void testFilterByClassName() { + void testFilterByClassName() { ResourceSet set = new ResourceSet(); set.add(new Resource(null, new ResourceId("poo1", "resource1"), "value1")); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/resource/ResourceTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/resource/ResourceTest.java index 0445229cff..965f6f9bb6 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/resource/ResourceTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/resource/ResourceTest.java @@ -19,32 +19,35 @@ package org.apache.zeppelin.resource; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.Arrays; -import org.junit.Test; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.io.IOException; import java.nio.ByteBuffer; -import static org.junit.Assert.assertEquals; - /** * Test for Resource */ -public class ResourceTest { +class ResourceTest { @Test - public void testSerializeDeserialize() throws IOException, ClassNotFoundException { + void testSerializeDeserialize() throws IOException, ClassNotFoundException { ByteBuffer buffer = Resource.serializeObject("hello"); assertEquals("hello", Resource.deserializeObject(buffer)); } @Test - public void testInvokeMethod_shouldAbleToInvokeMethodWithNoParams() { + void testInvokeMethod_shouldAbleToInvokeMethodWithNoParams() { Resource r = new Resource(null, new ResourceId("pool1", "name1"), "object"); assertEquals(6, r.invokeMethod("length")); assertEquals(6, r.invokeMethod("length", new Class[]{}, new Object[]{})); } @Test - public void testInvokeMethod_shouldAbleToInvokeMethodWithTypeInference() throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException { + void testInvokeMethod_shouldAbleToInvokeMethodWithTypeInference() throws ClassNotFoundException, + NoSuchMethodException, InvocationTargetException, IllegalAccessException { Resource r = new Resource(null, new ResourceId("pool1", "name1"), "object"); assertEquals("ect", r.invokeMethod("substring", new Object[]{3})); assertEquals("obj", r.invokeMethod("substring", new Object[]{0,3})); @@ -58,14 +61,21 @@ public class ResourceTest { assertEquals(true, r.invokeMethod("startsWith", new ArrayList<>(Arrays.asList("obj")))); } - @Test(expected = ClassNotFoundException.class) - public void testInvokeMethod_shouldNotAbleToInvokeMethodWithTypeInference() throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException { - Resource r = new Resource(null, new ResourceId("pool1", "name1"), "object"); - r.invokeMethod("indexOf", new Object[]{"ct",3,4}); + @Test + void testInvokeMethod_shouldNotAbleToInvokeMethodWithTypeInference() + throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, + IllegalAccessException { + assertThrows(ClassNotFoundException.class, () -> { + Resource r = new Resource(null, new ResourceId("pool1", "name1"), "object"); + r.invokeMethod("indexOf", new Object[] { "ct", 3, 4 }); + }); + } @Test - public void testInvokeMethod_shouldAbleToInvokeMethodWithParamClassName() throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException { + void testInvokeMethod_shouldAbleToInvokeMethodWithParamClassName() + throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, + IllegalAccessException { Resource r = new Resource(null, new ResourceId("pool1", "name1"), "object"); assertEquals("ect", r.invokeMethod("substring", new String[]{"int"}, new Object[]{3})); assertEquals(true, r.invokeMethod("startsWith", new String[]{"java.lang.String"}, new Object[]{"obj"})); @@ -75,7 +85,8 @@ public class ResourceTest { } @Test - public void testInvokeMethod_shouldAbleToInvokeMethodWithClass() throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException { + void testInvokeMethod_shouldAbleToInvokeMethodWithClass() throws ClassNotFoundException, + NoSuchMethodException, InvocationTargetException, IllegalAccessException { Resource r = new Resource(null, new ResourceId("pool1", "name1"), "object"); assertEquals(true, r.invokeMethod("startsWith", new Class[]{ java.lang.String.class }, new Object[]{"obj"})); } diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/scheduler/FIFOSchedulerTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/scheduler/FIFOSchedulerTest.java index f383d411e7..9bef1e7b94 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/scheduler/FIFOSchedulerTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/scheduler/FIFOSchedulerTest.java @@ -17,25 +17,25 @@ package org.apache.zeppelin.scheduler; -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 org.apache.zeppelin.scheduler.Job.Status; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; -public class FIFOSchedulerTest { +class FIFOSchedulerTest { - private SchedulerFactory schedulerSvc; + private static SchedulerFactory schedulerSvc; - @Before - public void setUp() { + @BeforeAll + static void setUp() { schedulerSvc = SchedulerFactory.singleton(); } @Test - public void testRun() throws InterruptedException { - Scheduler s = schedulerSvc.createOrGetFIFOScheduler("test"); + void testRun() throws InterruptedException { + Scheduler s = schedulerSvc.createOrGetFIFOScheduler("testRun"); Job<?> job1 = new SleepingJob("job1", null, 500); Job<?> job2 = new SleepingJob("job2", null, 500); @@ -55,8 +55,8 @@ public class FIFOSchedulerTest { } @Test - public void testAbort() throws InterruptedException { - Scheduler s = schedulerSvc.createOrGetFIFOScheduler("test"); + void testAbort() throws InterruptedException { + Scheduler s = schedulerSvc.createOrGetFIFOScheduler("testAbort"); Job<?> job1 = new SleepingJob("job1", null, 500); Job<?> job2 = new SleepingJob("job2", null, 500); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/scheduler/JobTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/scheduler/JobTest.java index b6eb5227b5..e340866df0 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/scheduler/JobTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/scheduler/JobTest.java @@ -23,29 +23,29 @@ import org.apache.zeppelin.interpreter.InterpreterException; import org.apache.zeppelin.interpreter.InterpreterResult; import org.apache.zeppelin.interpreter.InterpreterResult.Code; import org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer.InterpretJob; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; -@RunWith(MockitoJUnitRunner.class) -public class JobTest { +class JobTest { - @Mock private JobListener mockJobListener; - @Mock private Interpreter mockInterpreter; - @Mock private InterpreterContext mockInterpreterContext; + private JobListener mockJobListener; + private Interpreter mockInterpreter; + private InterpreterContext mockInterpreterContext; private InterpretJob spyInterpretJob; - @Before - public void setUp() throws Exception { + @BeforeEach + void setUp() throws Exception { + mockJobListener = mock(JobListener.class); + mockInterpreter = mock(Interpreter.class); + mockInterpreterContext = mock(InterpreterContext.class); InterpretJob interpretJob = new InterpretJob( "jobid", @@ -58,7 +58,7 @@ public class JobTest { } @Test - public void testNormalCase() throws Throwable { + void testNormalCase() throws Throwable { InterpreterResult successInterpreterResult = new InterpreterResult(Code.SUCCESS, "success result"); @@ -70,7 +70,7 @@ public class JobTest { } @Test - public void testErrorCase() throws Throwable { + void testErrorCase() throws Throwable { String failedMessage = "failed message"; InterpreterException interpreterException = new InterpreterException(failedMessage); doThrow(interpreterException).when(spyInterpretJob).jobRun(); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/scheduler/ParallelSchedulerTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/scheduler/ParallelSchedulerTest.java index fc8fa88d02..3cc0022c3a 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/scheduler/ParallelSchedulerTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/scheduler/ParallelSchedulerTest.java @@ -17,24 +17,25 @@ package org.apache.zeppelin.scheduler; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import org.apache.zeppelin.scheduler.Job.Status; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + public class ParallelSchedulerTest { private static SchedulerFactory schedulerSvc; - @BeforeClass + @BeforeAll public static void setUp() { schedulerSvc = SchedulerFactory.singleton(); } @Test - public void testRun() throws InterruptedException { - Scheduler s = schedulerSvc.createOrGetParallelScheduler("test", 2); + void testRun() throws InterruptedException { + Scheduler s = schedulerSvc.createOrGetParallelScheduler("testRun", 2); Job<?> job1 = new SleepingJob("job1", null, 500); Job<?> job2 = new SleepingJob("job2", null, 500); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/tabledata/InterpreterResultTableDataTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/tabledata/InterpreterResultTableDataTest.java index 0618d3b305..b278fda8b2 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/tabledata/InterpreterResultTableDataTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/tabledata/InterpreterResultTableDataTest.java @@ -18,16 +18,17 @@ package org.apache.zeppelin.tabledata; import org.apache.zeppelin.interpreter.InterpreterResult; import org.apache.zeppelin.interpreter.InterpreterResultMessage; -import org.junit.Test; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; import java.util.Iterator; -import static junit.framework.TestCase.assertFalse; -import static org.junit.Assert.assertEquals; -public class InterpreterResultTableDataTest { +class InterpreterResultTableDataTest { @Test - public void test() { + void test() { InterpreterResultMessage msg = new InterpreterResultMessage( InterpreterResult.Type.TABLE, "key\tvalue\nsun\t100\nmoon\t200\n"); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/tabledata/TableDataProxyTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/tabledata/TableDataProxyTest.java index a4a8ffe9c1..48c3938dcc 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/tabledata/TableDataProxyTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/tabledata/TableDataProxyTest.java @@ -19,24 +19,24 @@ package org.apache.zeppelin.tabledata; import org.apache.zeppelin.interpreter.InterpreterResult; import org.apache.zeppelin.interpreter.InterpreterResultMessage; import org.apache.zeppelin.resource.LocalResourcePool; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -import java.util.Iterator; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; +import java.util.Iterator; -public class TableDataProxyTest { +class TableDataProxyTest { private LocalResourcePool pool; - @Before - public void setUp() { + @BeforeEach + void setUp() { pool = new LocalResourcePool("p1"); } @Test - public void testProxyTable() { + void testProxyTable() { InterpreterResultMessage msg = new InterpreterResultMessage( InterpreterResult.Type.TABLE, "key\tvalue\nsun\t100\nmoon\t200\n"); diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/tabledata/TableDataUtilsTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/tabledata/TableDataUtilsTest.java index 5ff6fba60b..966b996780 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/tabledata/TableDataUtilsTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/tabledata/TableDataUtilsTest.java @@ -17,16 +17,16 @@ package org.apache.zeppelin.tabledata; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.Arrays; -public class TableDataUtilsTest { +import org.junit.jupiter.api.Test; + +class TableDataUtilsTest { @Test - public void testColumn() { + void testColumn() { assertEquals("hello world", TableDataUtils.normalizeColumn("hello\tworld")); assertEquals("hello world", TableDataUtils.normalizeColumn("hello\nworld")); assertEquals("hello world", TableDataUtils.normalizeColumn("hello\r\nworld")); @@ -36,7 +36,7 @@ public class TableDataUtilsTest { } @Test - public void testColumns() { + void testColumns() { assertEquals(Arrays.asList("hello world", "hello world"), TableDataUtils.normalizeColumns(new Object[]{"hello\tworld", "hello\nworld"}));