1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.lang3.concurrent;
18
19 import static org.junit.jupiter.api.Assertions.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertNotNull;
21 import static org.junit.jupiter.api.Assertions.assertNull;
22 import static org.junit.jupiter.api.Assertions.assertThrows;
23
24 import org.apache.commons.lang3.exception.AbstractExceptionTest;
25 import org.junit.jupiter.api.Test;
26
27
28
29
30 class CircuitBreakingExceptionTest extends AbstractExceptionTest {
31
32 @Test
33 void testThrowingEmptyException() {
34 assertThrows(CircuitBreakingException.class, () -> {
35 throw new CircuitBreakingException();
36 });
37 }
38
39 @Test
40 void testThrowingExceptionWithCause() {
41 assertThrows(CircuitBreakingException.class, () -> {
42 throw new CircuitBreakingException(generateCause());
43 });
44 }
45
46 @Test
47 void testThrowingExceptionWithMessage() {
48 assertThrows(CircuitBreakingException.class, () -> {
49 throw new CircuitBreakingException(EXCEPTION_MESSAGE);
50 });
51 }
52
53 @Test
54 void testThrowingInformativeException() {
55 assertThrows(CircuitBreakingException.class, () -> {
56 throw new CircuitBreakingException(EXCEPTION_MESSAGE, generateCause());
57 });
58 }
59
60 @Test
61 void testWithCauseAndMessage() {
62 final Exception exception = new CircuitBreakingException(EXCEPTION_MESSAGE, generateCause());
63 assertNotNull(exception);
64 assertEquals(EXCEPTION_MESSAGE, exception.getMessage(), WRONG_EXCEPTION_MESSAGE);
65
66 final Throwable cause = exception.getCause();
67 assertNotNull(cause);
68 assertEquals(CAUSE_MESSAGE, cause.getMessage(), WRONG_CAUSE_MESSAGE);
69 }
70
71 @Test
72 void testWithoutCause() {
73 final Exception exception = new CircuitBreakingException(EXCEPTION_MESSAGE);
74 assertNotNull(exception);
75 assertEquals(EXCEPTION_MESSAGE, exception.getMessage(), WRONG_EXCEPTION_MESSAGE);
76
77 final Throwable cause = exception.getCause();
78 assertNull(cause);
79 }
80
81 @Test
82 void testWithoutMessage() {
83 final Exception exception = new CircuitBreakingException(generateCause());
84 assertNotNull(exception);
85 assertNotNull(exception.getMessage());
86
87 final Throwable cause = exception.getCause();
88 assertNotNull(cause);
89 assertEquals(CAUSE_MESSAGE, cause.getMessage(), WRONG_CAUSE_MESSAGE);
90 }
91 }