summaryrefslogtreecommitdiffstats
path: root/messagebus
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-04-29 11:54:04 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2019-04-29 11:54:04 +0200
commit7d597df5d7ad1d9dcf088b6cc3ddc6d78dd3360c (patch)
tree6169816bf5dce5add5658cfb30fcf1b7551489c0 /messagebus
parent79cde9a3bab5dddd5c806f501b92e30b14840f00 (diff)
Test and error code categorization.
Diffstat (limited to 'messagebus')
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/ErrorCode.java5
-rwxr-xr-xmessagebus/src/test/java/com/yahoo/messagebus/ErrorTestCase.java36
2 files changed, 39 insertions, 2 deletions
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/ErrorCode.java b/messagebus/src/main/java/com/yahoo/messagebus/ErrorCode.java
index 7357f13ba15..460783457af 100644
--- a/messagebus/src/main/java/com/yahoo/messagebus/ErrorCode.java
+++ b/messagebus/src/main/java/com/yahoo/messagebus/ErrorCode.java
@@ -126,10 +126,11 @@ public final class ErrorCode {
return code >= FATAL_ERROR;
}
public static boolean isTransient(int code) {
- return code >= TRANSIENT_ERROR;
+ return (code >= TRANSIENT_ERROR) && (code < FATAL_ERROR);
}
public static boolean isMBusError(int code) {
return ((code < APP_TRANSIENT_ERROR) && isTransient(code))
- || ((code < APP_FATAL_ERROR) && isFatal(code));
+ || ((code < APP_FATAL_ERROR) && isFatal(code))
+ || ((code < TRANSIENT_ERROR) && (code >= NONE));
}
}
diff --git a/messagebus/src/test/java/com/yahoo/messagebus/ErrorTestCase.java b/messagebus/src/test/java/com/yahoo/messagebus/ErrorTestCase.java
index 805f743536e..271da8717bf 100755
--- a/messagebus/src/test/java/com/yahoo/messagebus/ErrorTestCase.java
+++ b/messagebus/src/test/java/com/yahoo/messagebus/ErrorTestCase.java
@@ -89,4 +89,40 @@ public class ErrorTestCase {
src.destroy();
slobrok.stop();
}
+ @Test
+ public void testErrorCodeCategorization() {
+ assertTrue(ErrorCode.isFatal(ErrorCode.FATAL_ERROR));
+ assertFalse(ErrorCode.isTransient(ErrorCode.FATAL_ERROR));
+ assertTrue(ErrorCode.isMBusError(ErrorCode.FATAL_ERROR));
+
+ assertTrue(ErrorCode.isFatal(ErrorCode.APP_FATAL_ERROR));
+ assertFalse(ErrorCode.isTransient(ErrorCode.APP_FATAL_ERROR));
+ assertFalse(ErrorCode.isMBusError(ErrorCode.APP_FATAL_ERROR));
+
+
+ assertFalse(ErrorCode.isFatal(ErrorCode.TRANSIENT_ERROR));
+ assertTrue(ErrorCode.isTransient(ErrorCode.TRANSIENT_ERROR));
+ assertTrue(ErrorCode.isMBusError(ErrorCode.TRANSIENT_ERROR));
+
+ assertFalse(ErrorCode.isFatal(ErrorCode.APP_TRANSIENT_ERROR));
+ assertTrue(ErrorCode.isTransient(ErrorCode.APP_TRANSIENT_ERROR));
+ assertFalse(ErrorCode.isMBusError(ErrorCode.APP_TRANSIENT_ERROR));
+
+ assertFalse(ErrorCode.isFatal(ErrorCode.APP_TRANSIENT_ERROR - 1));
+ assertTrue(ErrorCode.isTransient(ErrorCode.APP_TRANSIENT_ERROR - 1));
+ assertTrue(ErrorCode.isMBusError(ErrorCode.APP_TRANSIENT_ERROR - 1));
+
+ assertFalse(ErrorCode.isFatal(ErrorCode.FATAL_ERROR - 1));
+ assertTrue(ErrorCode.isTransient(ErrorCode.FATAL_ERROR - 1));
+ assertFalse(ErrorCode.isMBusError(ErrorCode.FATAL_ERROR - 1));
+
+ assertFalse(ErrorCode.isFatal(ErrorCode.TRANSIENT_ERROR - 1));
+ assertFalse(ErrorCode.isTransient(ErrorCode.TRANSIENT_ERROR - 1));
+ assertTrue(ErrorCode.isMBusError(ErrorCode.TRANSIENT_ERROR - 1));
+
+ assertFalse(ErrorCode.isFatal(ErrorCode.NONE));
+ assertFalse(ErrorCode.isTransient(ErrorCode.NONE));
+ assertTrue(ErrorCode.isMBusError(ErrorCode.NONE));
+
+ }
}