diff --git a/overdue/src/main/java/com/ning/billing/overdue/applicator/DefaultOverdueChangeEvent.java b/overdue/src/main/java/com/ning/billing/overdue/applicator/DefaultOverdueChangeEvent.java
index 2f7b7ce..982f18a 100644
--- a/overdue/src/main/java/com/ning/billing/overdue/applicator/DefaultOverdueChangeEvent.java
+++ b/overdue/src/main/java/com/ning/billing/overdue/applicator/DefaultOverdueChangeEvent.java
@@ -19,6 +19,7 @@ package com.ning.billing.overdue.applicator;
import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ning.billing.junction.api.Blockable;
import com.ning.billing.junction.api.Blockable.Type;
@@ -45,6 +46,7 @@ public class DefaultOverdueChangeEvent implements OverdueChangeEvent {
this.userToken = userToken;
}
+ @JsonIgnore
@Override
public BusEventType getBusEventType() {
return BusEventType.OVERDUE_CHANGE;
diff --git a/overdue/src/test/java/com/ning/billing/overdue/applicator/TestOverdueStateApplicator.java b/overdue/src/test/java/com/ning/billing/overdue/applicator/TestOverdueStateApplicator.java
index 3205dc5..a58ac39 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/applicator/TestOverdueStateApplicator.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/applicator/TestOverdueStateApplicator.java
@@ -22,9 +22,12 @@ import static java.util.concurrent.TimeUnit.SECONDS;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
+import java.util.List;
import java.util.UUID;
import java.util.concurrent.Callable;
+import junit.framework.Assert;
+
import org.testng.annotations.Test;
import com.google.inject.Inject;
@@ -32,6 +35,7 @@ import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.mock.BrainDeadProxyFactory;
import com.ning.billing.mock.BrainDeadProxyFactory.ZombieControl;
+import com.ning.billing.overdue.OverdueChangeEvent;
import com.ning.billing.overdue.OverdueState;
import com.ning.billing.overdue.OverdueTestBase;
import com.ning.billing.overdue.config.OverdueConfig;
@@ -65,22 +69,37 @@ public class TestOverdueStateApplicator extends OverdueTestBase {
state = config.getBundleStateSet().findState("OD1");
applicator.apply(bundle, BlockingApi.CLEAR_STATE_NAME, state);
checkStateApplied(state);
-// await().atMost(10, SECONDS).until(new Callable<Boolean>() {
-// @Override
-// public Boolean call() throws Exception {
-// return listener.getEventsReceived().size() == 1;
-// }
-// });
+ checkBussEvent("OD1");
state = config.getBundleStateSet().findState("OD2");
applicator.apply(bundle, BlockingApi.CLEAR_STATE_NAME, state);
checkStateApplied(state);
+ checkBussEvent("OD2");
+
state = config.getBundleStateSet().findState("OD3");
applicator.apply(bundle, BlockingApi.CLEAR_STATE_NAME, state);
checkStateApplied(state);
+ checkBussEvent("OD3");
+ bus.stop();
+
+ }
+
+
+ private void checkBussEvent(final String state) throws Exception {
+ await().atMost(10, SECONDS).until(new Callable<Boolean>() {
+ @Override
+ public Boolean call() throws Exception {
+ List<OverdueChangeEvent> events = listener.getEventsReceived();
+ return events.size() == 1;
+ }
+ });
+ List<OverdueChangeEvent> events = listener.getEventsReceived();
+ Assert.assertEquals(1, events.size());
+ Assert.assertEquals(state, events.get(0).getNextOverdueStateName());
+ listener.clearEventsReceived();
}