Skip to content

Commit 4879028

Browse files
authored
Merge pull request #16 from stefaneberl/bug/TimeSync_State_Shutdown_State_Fix
Bug/time sync state shutdown state fix
2 parents 78b940b + 838fab3 commit 4879028

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

src/main/java/com/dynatrace/openkit/core/communication/BeaconSendingTimeSyncState.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ void doExecute(BeaconSendingContext context) throws InterruptedException {
9090

9191
@Override
9292
AbstractBeaconSendingState getShutdownState() {
93-
return new BeaconSendingTerminalState();
93+
return initialTimeSync ? new BeaconSendingTerminalState() : new BeaconSendingFlushSessionsState();
9494
}
9595

9696
/**

src/test/java/com/dynatrace/openkit/core/communication/BeaconSendingTimeSyncStateTest.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ public void timeSyncStateIsNotATerminalState() {
5151
}
5252

5353
@Test
54-
public void getShutdownStateGivesABeaconSendingTerminalStateInstance() {
54+
public void getShutdownStateGivesATerminalStateInstanceForInitialTimeSync() {
5555

5656
// given
57-
BeaconSendingTimeSyncState target = new BeaconSendingTimeSyncState();
57+
BeaconSendingTimeSyncState target = new BeaconSendingTimeSyncState(true);
5858

5959
// when
6060
AbstractBeaconSendingState obtained = target.getShutdownState();
@@ -64,6 +64,20 @@ public void getShutdownStateGivesABeaconSendingTerminalStateInstance() {
6464
assertThat(obtained, is(instanceOf(BeaconSendingTerminalState.class)));
6565
}
6666

67+
@Test
68+
public void getShutdownStateGivesAFlushSessionsStateInstanceForInitialTimeSync() {
69+
70+
// given
71+
BeaconSendingTimeSyncState target = new BeaconSendingTimeSyncState();
72+
73+
// when
74+
AbstractBeaconSendingState obtained = target.getShutdownState();
75+
76+
// then
77+
assertThat(obtained, is(notNullValue()));
78+
assertThat(obtained, is(instanceOf(BeaconSendingFlushSessionsState.class)));
79+
}
80+
6781
@Test
6882
public void onInterruptedSetsCallsInitCompletedInContextOnlyForInitialTimeSync() {
6983

0 commit comments

Comments
 (0)