|
1 | 1 | package io.github.protocol.bookkeeper.admin.jdk; |
2 | 2 |
|
3 | | -import io.github.embedded.bookkeeper.core.EmbeddedBookkeeperServer; |
4 | | -import io.github.protocol.bookkeeper.admin.api.Configuration; |
5 | | -import org.junit.jupiter.api.AfterAll; |
6 | 3 | import org.junit.jupiter.api.Assertions; |
7 | | -import org.junit.jupiter.api.BeforeAll; |
8 | | -import org.junit.jupiter.api.Test; |
| 4 | +import org.junit.jupiter.params.ParameterizedTest; |
| 5 | +import org.junit.jupiter.params.provider.MethodSource; |
9 | 6 |
|
10 | 7 | import java.util.Collections; |
11 | 8 |
|
12 | | -public class AutoRecoveryImplTest { |
13 | | - |
14 | | - private static final EmbeddedBookkeeperServer SERVER = new EmbeddedBookkeeperServer(); |
15 | | - |
16 | | - private static AutoRecoveryImpl autoRecovery = null; |
17 | | - |
18 | | - @BeforeAll |
19 | | - public static void setup() throws Exception { |
20 | | - SERVER.start(); |
21 | | - Configuration conf = new Configuration(); |
22 | | - conf.host("localhost"); |
23 | | - conf.port(SERVER.getBkWebPort()); |
24 | | - autoRecovery = new AutoRecoveryImpl(new InnerHttpClient(conf)); |
25 | | - } |
26 | | - |
27 | | - @AfterAll |
28 | | - public static void teardown() throws Exception { |
29 | | - SERVER.close(); |
30 | | - } |
31 | | - |
32 | | - @Test |
33 | | - public void testAutoRecoveryStatus() throws BookkeeperAdminException { |
| 9 | +public class AutoRecoveryImplTest extends BaseTest { |
| 10 | + @ParameterizedTest |
| 11 | + @MethodSource("provideAutoRecoveries") |
| 12 | + public void testAutoRecoveryStatus(AutoRecoveryImpl autoRecovery) throws BookkeeperAdminException { |
34 | 13 | AutoRecoveryStatus status = autoRecovery.autoRecoveryStatus(); |
35 | 14 | Assertions.assertNotNull(status); |
36 | 15 | Assertions.assertTrue(status.isEnabled()); |
37 | 16 | } |
38 | 17 |
|
39 | | - @Test |
40 | | - public void testRecoveryBookie() throws BookkeeperAdminException { |
| 18 | + @ParameterizedTest |
| 19 | + @MethodSource("provideAutoRecoveries") |
| 20 | + public void testRecoveryBookie(AutoRecoveryImpl autoRecovery) throws BookkeeperAdminException { |
41 | 21 | RecoveryBookieReqData reqData = new RecoveryBookieReqData(); |
42 | 22 | reqData.setBookieSrc(Collections.singletonList("localhost:3181")); |
43 | 23 | reqData.setDeleteCookie(false); |
44 | 24 | autoRecovery.recoveryBookie(reqData); |
45 | 25 | } |
46 | 26 |
|
47 | | - @Test |
48 | | - public void testRecoveryBookieError() { |
| 27 | + @ParameterizedTest |
| 28 | + @MethodSource("provideAutoRecoveries") |
| 29 | + public void testRecoveryBookieError(AutoRecoveryImpl autoRecovery) { |
49 | 30 | RecoveryBookieReqData reqData = new RecoveryBookieReqData(); |
50 | 31 | // bookie src is required |
51 | 32 | reqData.setBookieSrc(null); |
52 | 33 | reqData.setDeleteCookie(false); |
53 | 34 | Assertions.assertThrows(BookkeeperAdminException.class, () -> autoRecovery.recoveryBookie(reqData)); |
54 | 35 | } |
55 | 36 |
|
56 | | - @Test |
57 | | - public void testListUnderReplicatedLedger() { |
| 37 | + @ParameterizedTest |
| 38 | + @MethodSource("provideAutoRecoveries") |
| 39 | + public void testListUnderReplicatedLedger(AutoRecoveryImpl autoRecovery) { |
58 | 40 | ListUnderReplicatedLedgerReqData reqData = new ListUnderReplicatedLedgerReqData(); |
59 | 41 | reqData.setPrintMissingReplica(true); |
60 | 42 | Assertions.assertThrows(BookkeeperAdminException.class, () -> autoRecovery.listUnderReplicatedLedger(reqData)); |
61 | 43 | } |
62 | 44 |
|
63 | | - @Test |
64 | | - public void testWhoIsAuditor() { |
| 45 | + @ParameterizedTest |
| 46 | + @MethodSource("provideAutoRecoveries") |
| 47 | + public void testWhoIsAuditor(AutoRecoveryImpl autoRecovery) { |
65 | 48 | Assertions.assertThrows(BookkeeperAdminException.class, () -> autoRecovery.whoIsAuditor()); |
66 | 49 | } |
67 | 50 |
|
68 | | - @Test |
69 | | - public void testTriggerAudit() { |
| 51 | + @ParameterizedTest |
| 52 | + @MethodSource("provideAutoRecoveries") |
| 53 | + public void testTriggerAudit(AutoRecoveryImpl autoRecovery) { |
70 | 54 | Assertions.assertThrows(BookkeeperAdminException.class, () -> autoRecovery.triggerAudit()); |
71 | 55 | } |
72 | 56 |
|
73 | | - @Test |
74 | | - public void testLostBookieRecoveryDelayByDefault() { |
| 57 | + @ParameterizedTest |
| 58 | + @MethodSource("provideAutoRecoveries") |
| 59 | + public void testLostBookieRecoveryDelayByDefault(AutoRecoveryImpl autoRecovery) { |
75 | 60 | Assertions.assertThrows(BookkeeperAdminException.class, () -> autoRecovery.lostBookieRecoveryDelay()); |
76 | 61 | } |
77 | 62 |
|
78 | | - @Test |
79 | | - public void testLostBookieRecoveryDelay() throws BookkeeperAdminException { |
| 63 | + @ParameterizedTest |
| 64 | + @MethodSource("provideAutoRecoveries") |
| 65 | + public void testLostBookieRecoveryDelay(AutoRecoveryImpl autoRecovery) throws BookkeeperAdminException { |
80 | 66 | autoRecovery.lostBookieRecoveryDelay(5); |
81 | 67 | } |
82 | 68 |
|
83 | | - @Test |
84 | | - public void testDecommission() throws BookkeeperAdminException { |
| 69 | + @ParameterizedTest |
| 70 | + @MethodSource("provideAutoRecoveries") |
| 71 | + public void testDecommission(AutoRecoveryImpl autoRecovery) throws BookkeeperAdminException { |
85 | 72 | autoRecovery.decommission("localhost:3181"); |
86 | 73 | } |
87 | 74 | } |
0 commit comments