View Javadoc
1   package net.secodo.jcircuitbreaker.breakhandler.impl;
2   
3   import net.secodo.jcircuitbreaker.breaker.ContextAwareCircuitBreaker;
4   import net.secodo.jcircuitbreaker.exception.TaskExecutionException;
5   import net.secodo.jcircuitbreaker.task.Task;
6   import org.junit.Test;
7   import net.secodo.jcircuitbreaker.breaker.CircuitBreaker;
8   import net.secodo.jcircuitbreaker.breaker.execution.ExecutionContext;
9   import net.secodo.jcircuitbreaker.breakstrategy.BreakStrategy;
10  import java.util.concurrent.Callable;
11  import static org.hamcrest.CoreMatchers.equalTo;
12  import static org.hamcrest.MatcherAssert.assertThat;
13  import static org.mockito.Mockito.mock;
14  
15  
16  @SuppressWarnings("unchecked")
17  public class ReturnStaticValueHandlerTest {
18    @Test
19    public void shouldReturnDefinedStaticValueIfExecuted() throws TaskExecutionException {
20      //given
21      final int staticReturnValue = 5;
22      final String paramValue1 = "44444444";
23      final int paramValue2 = 222222;
24  
25      final ExecutionContext executionContext = mock(ExecutionContext.class);
26      final ReturnStaticValueHandler<Integer> breakHandler = new ReturnStaticValueHandler<Integer>(staticReturnValue);
27      final ContextAwareCircuitBreaker circuitBreaker = mock(ContextAwareCircuitBreaker.class);
28      final BreakStrategy breakStrategy = mock(BreakStrategy.class);
29      final SomeTestClassWithSomeMethod someTestObject = mock(SomeTestClassWithSomeMethod.class);
30  
31  
32      Task<Integer> task = () -> someTestObject.someMethod(paramValue1, paramValue2);
33  
34      //when
35      final Integer returnedValue = breakHandler.onBreak(circuitBreaker, task, breakStrategy, executionContext);
36  
37      //then
38      assertThat(returnedValue, equalTo(staticReturnValue));
39    }
40  
41    class SomeTestClassWithSomeMethod {
42      SomeTestClassWithSomeMethod() {
43      }
44  
45      public Integer someMethod(String paramValue1, Integer paramValue2) {
46        return 1;
47      }
48  
49  
50    }
51  
52  
53  }