Adding a test to demonstrate programmatic registration.
This commit is contained in:
parent
97022ca7d3
commit
0dd99df208
|
@ -0,0 +1,42 @@
|
|||
package com.baeldung;
|
||||
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
import com.baeldung.helpers.Employee;
|
||||
import com.baeldung.extensions.EmployeeDaoParameterResolver;
|
||||
import com.baeldung.extensions.EmployeeDatabaseSetupExtension;
|
||||
import com.baeldung.extensions.EnvironmentExtension;
|
||||
import com.baeldung.helpers.EmployeeJdbcDao;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
@ExtendWith({ EnvironmentExtension.class, EmployeeDaoParameterResolver.class })
|
||||
public class ProgrammaticEmployeesUnitTest {
|
||||
|
||||
private EmployeeJdbcDao employeeDao;
|
||||
|
||||
@RegisterExtension static EmployeeDatabaseSetupExtension DB =
|
||||
new EmployeeDatabaseSetupExtension("jdbc:h2:mem:AnotherDb;DB_CLOSE_DELAY=-1", "org.h2.Driver", "sa", "");
|
||||
|
||||
public ProgrammaticEmployeesUnitTest(EmployeeJdbcDao employeeDao) {
|
||||
this.employeeDao = employeeDao;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenAddEmployee_thenGetEmployee() throws SQLException {
|
||||
Employee emp = new Employee(1, "john");
|
||||
employeeDao.add(emp);
|
||||
assertEquals(1, employeeDao.findAll()
|
||||
.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenGetEmployees_thenEmptyList() throws SQLException {
|
||||
assertEquals(0, employeeDao.findAll()
|
||||
.size());
|
||||
}
|
||||
}
|
|
@ -11,7 +11,7 @@ public class JdbcConnectionUtil {
|
|||
private static Connection con;
|
||||
|
||||
public static Connection getConnection() {
|
||||
if (con == null) {
|
||||
if (con == null || isClosed(con)) {
|
||||
try {
|
||||
Properties props = new Properties();
|
||||
props.load(JdbcConnectionUtil.class.getResourceAsStream("jdbc.properties"));
|
||||
|
@ -32,7 +32,7 @@ public class JdbcConnectionUtil {
|
|||
}
|
||||
|
||||
public static Connection getConnection(String jdbcUrl, String driver, String username, String password) {
|
||||
if (con == null) {
|
||||
if (con == null || isClosed(con)) {
|
||||
try {
|
||||
Class.forName(driver);
|
||||
con = DriverManager.getConnection(jdbcUrl, username, password);
|
||||
|
@ -48,4 +48,12 @@ public class JdbcConnectionUtil {
|
|||
|
||||
return con;
|
||||
}
|
||||
|
||||
private static boolean isClosed(Connection con) {
|
||||
try {
|
||||
return con.isClosed();
|
||||
} catch (SQLException e) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue