|
11 | 11 | import static org.assertj.core.api.Assertions.assertThat; |
12 | 12 | import static org.junit.jupiter.api.Assertions.assertEquals; |
13 | 13 |
|
14 | | -public class ConnectionPoolOfflineTest { |
| 14 | +public class ConnectionPoolOfflineTest implements WaitFor { |
15 | 15 |
|
16 | 16 | private static final Logger log = LoggerFactory.getLogger(ConnectionPoolOfflineTest.class); |
17 | 17 |
|
@@ -39,44 +39,47 @@ public void testOffline() throws InterruptedException, SQLException { |
39 | 39 | assertThat(pool.isOnline()).isFalse(); |
40 | 40 | assertThat(pool.size()).isEqualTo(0); |
41 | 41 | log.info("pool created "); |
42 | | - Thread.sleep(3000); |
43 | | - |
44 | | - assertEquals(0, pool.getStatus(false).getFree()); |
45 | | - assertEquals(0, pool.getStatus(false).getBusy()); |
46 | | - assertThat(pool.size()).isEqualTo(0); |
47 | 42 |
|
| 43 | + waitFor(() -> { |
| 44 | + assertEquals(0, pool.getStatus(false).getFree()); |
| 45 | + assertEquals(0, pool.getStatus(false).getBusy()); |
| 46 | + assertThat(pool.size()).isEqualTo(0); |
| 47 | + }); |
| 48 | + |
48 | 49 | pool.online(); |
49 | 50 | log.info("pool online"); |
50 | 51 | assertThat(pool.isOnline()).isTrue(); |
51 | 52 | assertEquals(2, pool.getStatus(false).getFree()); |
52 | 53 | assertEquals(0, pool.getStatus(false).getBusy()); |
53 | 54 | assertThat(pool.size()).isEqualTo(2); |
54 | 55 |
|
55 | | - Thread.sleep(3000); |
56 | | - |
57 | 56 | pool.offline(); |
58 | 57 | log.info("pool offline"); |
59 | | - assertThat(pool.isOnline()).isFalse(); |
60 | | - assertEquals(0, pool.getStatus(false).getFree()); |
61 | | - assertEquals(0, pool.getStatus(false).getBusy()); |
62 | | - assertThat(pool.size()).isEqualTo(0); |
63 | | - |
64 | | - Thread.sleep(3000); |
| 58 | + waitFor(() -> { |
| 59 | + assertThat(pool.isOnline()).isFalse(); |
| 60 | + assertEquals(0, pool.getStatus(false).getFree()); |
| 61 | + assertEquals(0, pool.getStatus(false).getBusy()); |
| 62 | + assertThat(pool.size()).isEqualTo(0); |
| 63 | + }); |
65 | 64 |
|
66 | 65 | pool.online(); |
67 | 66 | log.info("pool online"); |
68 | | - assertThat(pool.isOnline()).isTrue(); |
69 | | - assertEquals(2, pool.getStatus(false).getFree()); |
70 | | - assertEquals(0, pool.getStatus(false).getBusy()); |
71 | | - assertThat(pool.size()).isEqualTo(2); |
72 | | - Thread.sleep(3000); |
73 | | - |
| 67 | + |
| 68 | + waitFor(() -> { |
| 69 | + assertThat(pool.isOnline()).isTrue(); |
| 70 | + assertEquals(2, pool.getStatus(false).getFree()); |
| 71 | + assertEquals(0, pool.getStatus(false).getBusy()); |
| 72 | + assertThat(pool.size()).isEqualTo(2); |
| 73 | + }); |
| 74 | + |
74 | 75 | pool.shutdown(); |
75 | 76 |
|
76 | | - assertThat(pool.isOnline()).isFalse(); |
77 | | - assertEquals(0, pool.getStatus(false).getFree()); |
78 | | - assertEquals(0, pool.getStatus(false).getBusy()); |
79 | | - assertThat(pool.size()).isEqualTo(0); |
| 77 | + waitFor(() -> { |
| 78 | + assertThat(pool.isOnline()).isFalse(); |
| 79 | + assertEquals(0, pool.getStatus(false).getFree()); |
| 80 | + assertEquals(0, pool.getStatus(false).getBusy()); |
| 81 | + assertThat(pool.size()).isEqualTo(0); |
| 82 | + }); |
80 | 83 | } |
81 | 84 |
|
82 | 85 | @Test |
@@ -131,13 +134,13 @@ public void offline_whenBusy_allowed() throws SQLException, InterruptedException |
131 | 134 | assertEquals(1, pool.getStatus(false).getBusy()); // still 1 busy connection |
132 | 135 | assertThat(pool.size()).isEqualTo(1); |
133 | 136 |
|
134 | | - // a bit of time to let busy connection finish and close |
135 | | - Thread.sleep(4000); |
136 | | - |
137 | | - // all done now |
138 | | - assertEquals(0, pool.getStatus(false).getFree()); |
139 | | - assertEquals(0, pool.getStatus(false).getBusy()); |
140 | | - assertThat(pool.size()).isEqualTo(0); |
| 137 | + // wait to let busy connection finish and close |
| 138 | + waitFor(() -> { |
| 139 | + // all done now |
| 140 | + assertEquals(0, pool.getStatus(false).getFree()); |
| 141 | + assertEquals(0, pool.getStatus(false).getBusy()); |
| 142 | + assertThat(pool.size()).isEqualTo(0); |
| 143 | + }); |
141 | 144 | } |
142 | 145 |
|
143 | 146 | @Test |
|
0 commit comments