1
2
3
4
5
6
7
8
9
10
11 package psiprobe.beans.accessors;
12
13 import static org.junit.jupiter.api.Assertions.assertEquals;
14 import static org.junit.jupiter.api.Assertions.assertFalse;
15 import static org.junit.jupiter.api.Assertions.assertNotNull;
16 import static org.junit.jupiter.api.Assertions.assertNull;
17 import static org.junit.jupiter.api.Assertions.assertTrue;
18 import static org.mockito.Mockito.mock;
19 import static org.mockito.Mockito.when;
20
21 import org.apache.tomee.jdbc.TomEEDataSourceCreator;
22 import org.junit.jupiter.api.BeforeEach;
23 import org.junit.jupiter.api.Test;
24
25 import psiprobe.model.DataSourceInfo;
26
27
28
29
30 class TomEeJdbcPoolDatasourceAccessorTest {
31
32
33 private TomEeJdbcPoolDatasourceAccessor accessor;
34
35
36
37
38 @BeforeEach
39 void setUp() {
40 accessor = new TomEeJdbcPoolDatasourceAccessor();
41 }
42
43
44
45
46 @Test
47 void testGetInfoWithValidResource() {
48 TomEEDataSourceCreator.TomEEDataSource ds = mock(TomEEDataSourceCreator.TomEEDataSource.class);
49 when(ds.getNumActive()).thenReturn(2);
50 when(ds.getNumIdle()).thenReturn(3);
51 when(ds.getMaxActive()).thenReturn(10);
52 when(ds.getUrl()).thenReturn("jdbc:h2:mem:test");
53 when(ds.getUsername()).thenReturn("user");
54
55 DataSourceInfo info = accessor.getInfo(ds);
56
57 assertNotNull(info);
58 assertEquals(2, info.getBusyConnections());
59 assertEquals(5, info.getEstablishedConnections());
60 assertEquals(10, info.getMaxConnections());
61 assertEquals("jdbc:h2:mem:test", info.getJdbcUrl());
62 assertEquals("user", info.getUsername());
63 assertFalse(info.isResettable());
64 assertEquals("tomcat-jdbc", info.getType());
65 }
66
67
68
69
70 @Test
71 void testGetInfoWithInvalidResource() {
72 Object notDs = new Object();
73 DataSourceInfo info = accessor.getInfo(notDs);
74 assertNull(info);
75 }
76
77
78
79
80 @Test
81 void testResetAlwaysReturnsFalse() {
82 Object any = new Object();
83 assertFalse(accessor.reset(any));
84 }
85
86
87
88
89 @Test
90 void testCanMapWithValidResource() {
91 TomEEDataSourceCreator.TomEEDataSource ds = mock(TomEEDataSourceCreator.TomEEDataSource.class);
92 assertTrue(accessor.canMap(ds));
93 }
94
95
96
97
98 @Test
99 void testCanMapWithInvalidResource() {
100 Object notDs = new Object();
101 assertFalse(accessor.canMap(notDs));
102 }
103
104 }