Skip to content

Commit 681ef9d

Browse files
author
guyplusplus
committed
added in test code check sum of closed state
1 parent f616cc3 commit 681ef9d

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

src/main/java/com/geckotechnology/simpleCircuitBreaker/BreakerClosedState.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,10 @@ private void clearBucket(int timeInSec) {
9999
}
100100

101101
/**
102-
* Method used during development to validate array and sum are correctly aligned
102+
* Method used during unit test to validate array and sum are correctly aligned. If not, code exists
103+
* Method is not synchronized
103104
*/
104-
private void testCheckSum() {
105+
void testCheckSumForUnitTest() {
105106
int checkCallCount = 0;
106107
int checkFailureCallCount = 0;
107108
int checkSlowCallDurationCount = 0;

src/main/java/com/geckotechnology/simpleCircuitBreaker/CircuitBreaker.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,14 @@ CircuitBreakerConfig getCircuitBreakerConfig() {
3535
return circuitBreakerConfig;
3636
}
3737

38+
/**
39+
* Used for unit test. Method is not synchronized
40+
* @return current state object of the breaker
41+
*/
42+
BreakerStateInterface getBreakerState() {
43+
return breakerState;
44+
}
45+
3846
void moveToClosedState() {
3947
breakerState = new BreakerClosedState(this);
4048
logger.info("Breaker state changed to: CLOSED");

src/test/java/com/geckotechnology/simpleCircuitBreaker/Test2.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@ public void test(String propsPrefix, String configPath) {
7979
@Override
8080
public void run() {
8181
while(true) {
82+
synchronized (circuitBreaker) {
83+
BreakerStateInterface breakerState = circuitBreaker.getBreakerState();
84+
if(breakerState instanceof BreakerClosedState) {
85+
((BreakerClosedState) breakerState).testCheckSumForUnitTest();
86+
}
87+
}
8288
if(circuitBreaker.isClosedForThisCall()) {
8389
boolean willFail = (rd.nextInt(1000) > 700);
8490
if(willFail) {

0 commit comments

Comments
 (0)