Skip to content
Snippets Groups Projects
Commit 433bedc3 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Improved test DataSource generation. Added JobDAOTest

parent 30a1b3ce
No related branches found
No related tags found
No related merge requests found
...@@ -10,10 +10,10 @@ import java.nio.file.Files; ...@@ -10,10 +10,10 @@ import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.sql.Connection; import java.sql.Connection;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import javax.sql.DataSource; import javax.sql.DataSource;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.test.context.TestConfiguration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
...@@ -72,12 +72,16 @@ public class DataSourceConfig { ...@@ -72,12 +72,16 @@ public class DataSourceConfig {
try ( Connection conn = dataSource.getConnection()) { try ( Connection conn = dataSource.getConnection()) {
File currentDir = new File(DataSourceConfig.class.getClassLoader().getResource(".").getFile()); 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) { File[] scripts = scriptDir.listFiles(f -> f.getName().endsWith(".sql"));
ByteArrayResource scriptResource = replaceDollarQuoting(scriptDir.resolve(script)); Arrays.sort(scripts); // sort alphabetically
for (File script : scripts) {
ByteArrayResource scriptResource = replaceDollarQuoting(script.toPath());
ScriptUtils.executeSqlScript(conn, scriptResource); ScriptUtils.executeSqlScript(conn, scriptResource);
} }
} }
......
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());
}
}
init_database_scripts_path=../../../vospace-transfer-service/file_catalog init_database_scripts_path=../../../vospace-file-catalog
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment