diff --git a/pom.xml b/pom.xml
index 7887265..6083eaf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,12 +8,28 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma
jar
2.0.2
uJETL
-
+ https://github.com/rasilon/ujetl
+
+
+ UTF-8
+
- junit
- junit
- 4.12
+ org.junit.jupiter
+ junit-jupiter-api
+ 5.4.2
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.4.2
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+ 5.4.2
test
@@ -37,7 +53,6 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma
commons-configuration2
2.4
-
commons-beanutils
commons-beanutils
@@ -95,6 +110,10 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma
+
+ maven-surefire-plugin
+ 2.22.0
+
diff --git a/src/test/java/com/rasilon/ujetl/TestJob.java b/src/test/java/com/rasilon/ujetl/TestJob.java
new file mode 100644
index 0000000..7b9141e
--- /dev/null
+++ b/src/test/java/com/rasilon/ujetl/TestJob.java
@@ -0,0 +1,60 @@
+package com.rasilon.ujetl;
+
+import java.sql.*;
+
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.MethodOrderer.Alphanumeric;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
+
+
+public class TestJob {
+
+ private static String jdbcURL = "jdbc:h2:mem:dbtest";
+ @Test
+ public void test002verifyH2Works() {
+ try {
+ Connection conn = DriverManager.getConnection(jdbcURL, "sa", "");
+ conn.close();
+ } catch(Exception e) {
+ fail(e.toString());
+ }
+ }
+
+ @Test
+ public void testJob() {
+ try (
+ Connection src = DriverManager.getConnection(jdbcURL, "sa", "");
+ Connection dest = DriverManager.getConnection(jdbcURL, "sa", "");
+
+ ) {
+ src.createStatement().executeUpdate("CREATE TABLE src(id bigint not null primary key, dat varchar);");
+ dest.createStatement().executeUpdate("CREATE TABLE dest(id bigint not null primary key, dat varchar);");
+ PreparedStatement inserter = src.prepareStatement("INSERT INTO src(id,dat) VALUES(?,'banana')");
+ for(int i=0; i<10000; i++) {
+ inserter.setInt(1,i);
+ inserter.executeUpdate();
+ }
+
+ Job j = new Job(
+ src,
+ dest,
+ "jUnit Test Config",
+ "jUnit Test Job",
+ "SELECT -1 AS key",
+ "SELECT id,dat FROM src WHERE id > ?",
+ "INSERT INTO dest VALUES(?,?)",
+ 100,
+ 100,
+ 100
+ );
+ j.start();
+ j.join();
+ // do stuff
+ } catch(Exception e) {
+ e.printStackTrace();
+ fail(e.toString());
+ }
+ }
+}
diff --git a/src/test/java/com/rasilon/ujetl/TestParser.java b/src/test/java/com/rasilon/ujetl/TestParser.java
new file mode 100644
index 0000000..13366fd
--- /dev/null
+++ b/src/test/java/com/rasilon/ujetl/TestParser.java
@@ -0,0 +1,30 @@
+package com.rasilon.ujetl;
+
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.MethodOrderer.Alphanumeric;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
+
+
+public class TestParser {
+
+ @Test
+ public void test001Parset() {
+ try {
+ String[] args = {
+ "--log4j",
+ "log4j_test_banana.xml",
+ "--config",
+ "config_test_banana.xml"
+ };
+ CopyingAppCommandParser p = new CopyingAppCommandParser(args);
+
+ assertEquals(p.getConfigFile(),"config_test_banana.xml");
+ assertEquals(p.getLog4jConfigFile(),"log4j_test_banana.xml");
+
+ } catch(Exception e) {
+ fail(e.toString());
+ }
+ }
+}