Skip to content

Commit 8e562d5

Browse files
committed
TDD: Write DBCheckRepository test code
1 parent 3c4bc88 commit 8e562d5

File tree

4 files changed

+122
-8
lines changed

4 files changed

+122
-8
lines changed

Core/src/main/java/root/core/repository/constracts/DBCheckRepository.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package root.core.repository.constracts;
22

3+
import java.sql.Connection;
34
import java.util.List;
45

56
import root.core.domain.ASMDiskUsage;
@@ -9,9 +10,9 @@
910
public interface DBCheckRepository {
1011
String getDBName();
1112

12-
Object getTran();
13+
Connection getTran();
1314

14-
void endTran(Object conn);
15+
void endTran(Connection conn);
1516

1617
List<ArchiveUsage> checkArchiveUsage();
1718

Repository/.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
/build/
22
/bin/
3-
/report
3+
/report
4+
/src/test/resources/dbconfig.txt

Repository/src/main/java/root/repository/implement/DBCheckRepositoryImpl.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@
88
import java.util.Date;
99
import java.util.List;
1010

11+
import lombok.extern.slf4j.Slf4j;
1112
import root.common.database.contracts.AbstractDatabase;
1213
import root.core.domain.ASMDiskUsage;
1314
import root.core.domain.ArchiveUsage;
1415
import root.core.domain.TableSpaceUsage;
1516
import root.core.repository.constracts.DBCheckRepository;
1617

18+
@Slf4j
1719
public class DBCheckRepositoryImpl implements DBCheckRepository {
1820
private AbstractDatabase db;
1921

@@ -32,9 +34,9 @@ public Connection getTran() {
3234
}
3335

3436
@Override
35-
public void endTran(Object conn) {
37+
public void endTran(Connection conn) {
3638
if (conn != null)
37-
db.freeConn((Connection) conn);
39+
db.freeConn(conn);
3840
}
3941

4042
@Override
@@ -73,7 +75,7 @@ public List<ArchiveUsage> checkArchiveUsage() {
7375
}
7476

7577
} catch (SQLException e) {
76-
e.printStackTrace();
78+
log.error(e.getMessage());
7779
} finally {
7880
this.endTran(conn);
7981
}
@@ -124,7 +126,7 @@ public List<TableSpaceUsage> checkTableSpaceUsage() {
124126
}
125127

126128
} catch (SQLException e) {
127-
e.printStackTrace();
129+
log.error(e.getMessage());
128130
} finally {
129131
this.endTran(conn);
130132
}
@@ -185,7 +187,7 @@ public List<ASMDiskUsage> checkASMDiskUsage() {
185187
}
186188

187189
} catch (SQLException e) {
188-
e.printStackTrace();
190+
log.error(e.getMessage());
189191
} finally {
190192
this.endTran(conn);
191193
}
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
package root.repository.implement;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
import static org.junit.jupiter.api.Assertions.assertFalse;
5+
import static org.junit.jupiter.api.Assertions.assertNotNull;
6+
import static org.junit.jupiter.api.Assertions.fail;
7+
8+
import java.io.IOException;
9+
import java.nio.file.Files;
10+
import java.nio.file.Paths;
11+
import java.sql.Connection;
12+
import java.sql.SQLException;
13+
import java.util.HashMap;
14+
import java.util.List;
15+
import java.util.Map;
16+
17+
import org.junit.jupiter.api.BeforeAll;
18+
import org.junit.jupiter.api.Test;
19+
20+
import root.common.database.implement.JdbcConnectionInfo;
21+
import root.common.database.implement.JdbcDatabase;
22+
import root.core.domain.ASMDiskUsage;
23+
import root.core.domain.ArchiveUsage;
24+
import root.core.domain.TableSpaceUsage;
25+
import root.core.repository.constracts.DBCheckRepository;
26+
27+
public class DBCheckRepositoryTest {
28+
public static DBCheckRepository repo;
29+
30+
@BeforeAll
31+
public static void setup() {
32+
33+
// Load db config
34+
try {
35+
String str = Files.readString(Paths.get("src/test/resources/dbconfig.txt"));
36+
String[] split = str.split(",");
37+
Map<String, String> configMap = new HashMap<>();
38+
for (String s : split) {
39+
String[] split2 = s.split("=");
40+
configMap.put(split2[0], split2[1]);
41+
}
42+
43+
String jdbcDriver = configMap.get("jdbcDriver");
44+
String jdbcUrl = configMap.get("jdbcUrl");
45+
String jdbcId = configMap.get("jdbcId");
46+
String jdbcPw = configMap.get("jdbcPw");
47+
String jdbcValidation = configMap.get("jdbcValidation");
48+
int jdbcConnections = Integer.parseInt(configMap.get("jdbcConnections"));
49+
50+
JdbcConnectionInfo jdbc = new JdbcConnectionInfo(jdbcDriver, jdbcUrl, jdbcId, jdbcPw, jdbcValidation,
51+
jdbcConnections);
52+
jdbc.setJdbcDBName("testDB");
53+
JdbcDatabase db = new JdbcDatabase(jdbc);
54+
db.init();
55+
56+
repo = new DBCheckRepositoryImpl(db);
57+
58+
} catch (IOException e) {
59+
fail(e.getMessage());
60+
}
61+
}
62+
63+
@Test
64+
public void testGetDBName() {
65+
String result = repo.getDBName();
66+
assertEquals("testDB", result);
67+
}
68+
69+
@Test
70+
public void testGetTran() {
71+
Connection result = repo.getTran();
72+
assertNotNull(result);
73+
}
74+
75+
@Test
76+
public void testEndTran() throws SQLException {
77+
Connection conn = repo.getTran();
78+
repo.endTran(conn);
79+
assertFalse(conn.isClosed());
80+
81+
repo.endTran(null);
82+
}
83+
84+
@Test
85+
public void testCheckArchiveUsage() {
86+
// Act
87+
List<ArchiveUsage> result = repo.checkArchiveUsage();
88+
89+
// Assert
90+
assertNotNull(result);
91+
}
92+
93+
@Test
94+
public void testCheckTableSpaceUsage() {
95+
// Act
96+
List<TableSpaceUsage> result = repo.checkTableSpaceUsage();
97+
98+
// Assert
99+
assertNotNull(result);
100+
}
101+
102+
@Test
103+
public void testCheckASMDiskUsage() {
104+
// Act
105+
List<ASMDiskUsage> result = repo.checkASMDiskUsage();
106+
107+
// Assert
108+
assertNotNull(result);
109+
}
110+
}

0 commit comments

Comments
 (0)