diff --git a/src/test/java/it/inaf/oats/vospace/persistence/DataSourceConfig.java b/src/test/java/it/inaf/oats/vospace/persistence/DataSourceConfig.java
index d533bf8918095ed3e1fc259be440f2e0273214b1..9ba7203d9eba1decfd7b1875d1fd23f7af4ab95b 100644
--- a/src/test/java/it/inaf/oats/vospace/persistence/DataSourceConfig.java
+++ b/src/test/java/it/inaf/oats/vospace/persistence/DataSourceConfig.java
@@ -10,10 +10,10 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.sql.Connection;
 import java.util.Arrays;
-import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import javax.sql.DataSource;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.test.context.TestConfiguration;
 import org.springframework.context.annotation.Bean;
@@ -72,12 +72,16 @@ public class DataSourceConfig {
         try ( Connection conn = dataSource.getConnection()) {
 
             File currentDir = new File(DataSourceConfig.class.getClassLoader().getResource(".").getFile());
-            Path scriptDir = currentDir.toPath().resolve(scriptPath);
+            File scriptDir = currentDir.toPath().resolve(scriptPath).toFile().getCanonicalFile();
 
-            List<String> scripts = Arrays.asList("00-init.sql", "01-pgsql_path.sql", "02-indexes.sql", "03-os_path_view.sql", "05-data.sql");
+            assertTrue(scriptDir.exists(), "DAO tests require " + scriptDir.getAbsolutePath() + " to exists.\n"
+                    + "Please clone the repository from https://www.ict.inaf.it/gitlab/ia2/vospace-file-catalog.git");
 
-            for (String script : scripts) {
-                ByteArrayResource scriptResource = replaceDollarQuoting(scriptDir.resolve(script));
+            File[] scripts = scriptDir.listFiles(f -> f.getName().endsWith(".sql"));
+            Arrays.sort(scripts); // sort alphabetically
+
+            for (File script : scripts) {
+                ByteArrayResource scriptResource = replaceDollarQuoting(script.toPath());
                 ScriptUtils.executeSqlScript(conn, scriptResource);
             }
         }
diff --git a/src/test/java/it/inaf/oats/vospace/persistence/JobDAOTest.java b/src/test/java/it/inaf/oats/vospace/persistence/JobDAOTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..4134c206bde4c8658e6dc21fb36e3619bb38a5ea
--- /dev/null
+++ b/src/test/java/it/inaf/oats/vospace/persistence/JobDAOTest.java
@@ -0,0 +1,57 @@
+package it.inaf.oats.vospace.persistence;
+
+import javax.sql.DataSource;
+import net.ivoa.xml.uws.v1.ExecutionPhase;
+import net.ivoa.xml.uws.v1.JobSummary;
+import net.ivoa.xml.vospace.v2.ContainerNode;
+import net.ivoa.xml.vospace.v2.Transfer;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
+
+@ExtendWith(SpringExtension.class)
+@ContextConfiguration(classes = {DataSourceConfig.class})
+@TestPropertySource(locations = "classpath:test.properties")
+public class JobDAOTest {
+
+    @Autowired
+    private DataSource dataSource;
+    private JobDAO dao;
+
+    @BeforeEach
+    public void init() {
+        dao = new JobDAO(dataSource);
+    }
+
+    @Test
+    public void testJob() {
+
+        Transfer transfer = new Transfer();
+        transfer.setDirection("pushToVoSpace");
+        transfer.setTarget("vos://example.com!vospace/mynode");
+
+        JobSummary job = new JobSummary();
+        job.setJobId("123");
+        job.setOwnerId("owner");
+        job.setPhase(ExecutionPhase.PENDING);
+        JobSummary.JobInfo jobInfo = new JobSummary.JobInfo();
+        jobInfo.getAny().add(transfer);
+        job.setJobInfo(jobInfo);
+
+        dao.createJob(job);
+
+        assertTrue(dao.getJob("123").isPresent());
+        assertEquals(ExecutionPhase.PENDING, dao.getJob("123").get().getPhase());
+
+        job.setPhase(ExecutionPhase.EXECUTING);
+        dao.updateJob(job);
+
+        assertEquals(ExecutionPhase.EXECUTING, dao.getJob("123").get().getPhase());
+    }
+}
diff --git a/src/test/resources/test.properties b/src/test/resources/test.properties
index c633d739745a86c8eee86db5c5528799e3480dd4..0662056805c5f0ee2c47560b2dd2bb7d9f050886 100644
--- a/src/test/resources/test.properties
+++ b/src/test/resources/test.properties
@@ -1 +1 @@
-init_database_scripts_path=../../../vospace-transfer-service/file_catalog
+init_database_scripts_path=../../../vospace-file-catalog