64 lines
1.4 KiB
Java
64 lines
1.4 KiB
Java
package dev.peerat.backend;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.File;
|
|
import java.io.FileReader;
|
|
import java.lang.reflect.Field;
|
|
import java.lang.reflect.Method;
|
|
import java.sql.Connection;
|
|
import java.sql.SQLException;
|
|
|
|
import dev.peerat.backend.repository.DatabaseRepository;
|
|
|
|
public class TestDatabaseRepository extends DatabaseRepository{
|
|
|
|
private Connection con;
|
|
private String schem;
|
|
|
|
public TestDatabaseRepository(Configuration config, File databaseSchem){
|
|
super(config);
|
|
|
|
try{
|
|
schem = "";
|
|
BufferedReader reader = new BufferedReader(new FileReader(databaseSchem));
|
|
String line;
|
|
while((line = reader.readLine()) != null) schem+=line;
|
|
reader.close();
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
public void init(){
|
|
try {
|
|
Method method = DatabaseRepository.class.getDeclaredMethod("ensureConnection");
|
|
method.setAccessible(true);
|
|
method.invoke(this);
|
|
|
|
Field field = DatabaseRepository.class.getDeclaredField("con");
|
|
field.setAccessible(true);
|
|
this.con = (Connection) field.get(this);
|
|
}catch(Exception e){
|
|
e.getCause().printStackTrace();
|
|
}
|
|
}
|
|
|
|
public void close(){
|
|
try {
|
|
this.con.close();
|
|
} catch (SQLException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
public void reset(){
|
|
try{
|
|
String[] split = schem.split(";");
|
|
for(String statment : split){
|
|
this.con.prepareStatement(statment).execute();
|
|
}
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|