Java 11 migration: patterns (remaining b-c) (#1081)

* Moves business-delegate pattern  to java 11

* Moves bytecode pattern  to java 11

* Moves caching pattern  to java 11

* Moves callback pattern  to java 11

* Moves chain pattern  to java 11

* Moves circuit-breaker pattern  to java 11

* Moves collection-pipeline pattern  to java 11

* Moves command pattern  to java 11

* Moves commander pattern  to java 11

* Moves composite pattern  to java 11

* Corrects test cases
This commit is contained in:
Anurag Agarwal
2019-11-13 01:26:46 +05:30
committed by Ilkka Seppälä
parent 6ef840f3cf
commit 33ea7335b1
63 changed files with 798 additions and 979 deletions

View File

@ -24,19 +24,18 @@
package com.iluwatar.circuitbreaker;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
/**
*
* Circuit Breaker test
*
*/
public class CircuitBreakerTest {
//long timeout, int failureThreshold, long retryTimePeriod
@Test
public void testSetState() {
var circuitBreaker = new CircuitBreaker(1,1,100);
var circuitBreaker = new CircuitBreaker(1, 1, 100);
//Right now, failureCount<failureThreshold, so state should be closed
assertEquals(circuitBreaker.getState(), "CLOSED");
circuitBreaker.failureCount = 4;
@ -55,23 +54,24 @@ public class CircuitBreakerTest {
circuitBreaker.setState();
assertEquals(circuitBreaker.getState(), "CLOSED");
}
@Test
public void testSetStateForBypass() {
var circuitBreaker = new CircuitBreaker(1,1,100);
var circuitBreaker = new CircuitBreaker(1, 1, 100);
//Right now, failureCount<failureThreshold, so state should be closed
//Bypass it and set it to open
circuitBreaker.setStateForBypass(State.OPEN);
assertEquals(circuitBreaker.getState(), "OPEN");
}
@Test
public void testApiResponses() {
var circuitBreaker = new CircuitBreaker(1,1,100);
var circuitBreaker = new CircuitBreaker(1, 1, 100);
try {
//Call with the paramater start_time set to huge amount of time in past so that service
//replies with "Ok". Also, state is CLOSED in start
var response = circuitBreaker.call("delayedService", System.nanoTime() - 60 * 1000 * 1000 * 1000);
var serviceStartTime = System.nanoTime() - 60 * 1000 * 1000 * 1000;
var response = circuitBreaker.call("delayedService", serviceStartTime);
assertEquals(response, "Delayed service is working");
} catch (Exception e) {
System.out.println(e.getMessage());

View File

@ -24,12 +24,11 @@
package com.iluwatar.circuitbreaker;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
/**
*
* Monitoring Service test
*
*/
public class DelayedServiceTest {

View File

@ -24,12 +24,11 @@
package com.iluwatar.circuitbreaker;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
/**
*
* Monitoring Service test
*
*/
public class MonitoringServiceTest {
@ -40,24 +39,24 @@ public class MonitoringServiceTest {
var response = monitoringService.localResourceResponse();
assertEquals(response, "Local Service is working");
}
@Test
public void testRemoteResponse() {
var monitoringService = new MonitoringService();
var circuitBreaker = new CircuitBreaker(1,1,100);
var circuitBreaker = new CircuitBreaker(1, 1, 100);
//Set time in past to make the server work
var serverStartTime = System.nanoTime() / 10;
var response = monitoringService.remoteResourceResponse(circuitBreaker, serverStartTime);
assertEquals(response, "Delayed service is working");
}
@Test
public void testRemoteResponse2() {
MonitoringService monitoringService = new MonitoringService();
CircuitBreaker circuitBreaker = new CircuitBreaker(1,1,100);
var monitoringService = new MonitoringService();
var circuitBreaker = new CircuitBreaker(1, 1, 100);
//Set time as current time as initially server fails
long serverStartTime = System.nanoTime();
String response = monitoringService.remoteResourceResponse(circuitBreaker, serverStartTime);
var serverStartTime = System.nanoTime();
var response = monitoringService.remoteResourceResponse(circuitBreaker, serverStartTime);
assertEquals(response, "Remote service not responding");
}
}