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
31 public class CircuitBreakingExceptionTest extends AbstractExceptionTest {
32
33 @Test
34 public void testThrowingEmptyException() {
35 assertThrows(CircuitBreakingException.class, () -> {
36 throw new CircuitBreakingException();
37 });
38 }
39
40 @Test
41 public void testThrowingExceptionWithCause() {
42 assertThrows(CircuitBreakingException.class, () -> {
43 throw new CircuitBreakingException(generateCause());
44 });
45 }
46
47 @Test
48 public void testThrowingExceptionWithMessage() {
49 assertThrows(CircuitBreakingException.class, () -> {
50 throw new CircuitBreakingException(EXCEPTION_MESSAGE);
51 });
52 }
53
54 @Test
55 public void testThrowingInformativeException() {
56 assertThrows(CircuitBreakingException.class, () -> {
57 throw new CircuitBreakingException(EXCEPTION_MESSAGE, generateCause());
58 });
59 }
60
61 @Test
62 public void testWithCauseAndMessage() {
63 final Exception exception = new CircuitBreakingException(EXCEPTION_MESSAGE, generateCause());
64 assertNotNull(exception);
65 assertEquals(EXCEPTION_MESSAGE, exception.getMessage(), WRONG_EXCEPTION_MESSAGE);
66
67 final Throwable cause = exception.getCause();
68 assertNotNull(cause);
69 assertEquals(CAUSE_MESSAGE, cause.getMessage(), WRONG_CAUSE_MESSAGE);
70 }
71
72 @Test
73 public void testWithoutCause() {
74 final Exception exception = new CircuitBreakingException(EXCEPTION_MESSAGE);
75 assertNotNull(exception);
76 assertEquals(EXCEPTION_MESSAGE, exception.getMessage(), WRONG_EXCEPTION_MESSAGE);
77
78 final Throwable cause = exception.getCause();
79 assertNull(cause);
80 }
81
82 @Test
83 public void testWithoutMessage() {
84 final Exception exception = new CircuitBreakingException(generateCause());
85 assertNotNull(exception);
86 assertNotNull(exception.getMessage());
87
88 final Throwable cause = exception.getCause();
89 assertNotNull(cause);
90 assertEquals(CAUSE_MESSAGE, cause.getMessage(), WRONG_CAUSE_MESSAGE);
91 }
92 }