Fall back straight to APN.

// FREEBIE
This commit is contained in:
Moxie Marlinspike
2015-05-27 16:19:56 -07:00
parent 4cb43415a1
commit 6ad705b40e
4 changed files with 19 additions and 65 deletions

View File

@@ -9,11 +9,8 @@ import org.whispersystems.textsecuregcm.push.PushServiceClient;
import org.whispersystems.textsecuregcm.util.Util;
import org.whispersystems.textsecuregcm.websocket.WebsocketAddress;
import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.*;
public class ApnFallbackManagerTest {
@@ -23,7 +20,7 @@ public class ApnFallbackManagerTest {
PushServiceClient pushServiceClient = mock(PushServiceClient.class);
WebsocketAddress address = mock(WebsocketAddress.class );
ApnMessage message = new ApnMessage("bar", "123", 1, "hmm", true);
ApnFallbackTask task = new ApnFallbackTask("foo", message, 0, 500);
ApnFallbackTask task = new ApnFallbackTask("foo", message, 500);
ApnFallbackManager apnFallbackManager = new ApnFallbackManager(pushServiceClient);
apnFallbackManager.start();
@@ -33,33 +30,11 @@ public class ApnFallbackManagerTest {
Util.sleep(1100);
ArgumentCaptor<ApnMessage> captor = ArgumentCaptor.forClass(ApnMessage.class);
verify(pushServiceClient, times(2)).send(captor.capture());
verify(pushServiceClient, times(1)).send(captor.capture());
List<ApnMessage> messages = captor.getAllValues();
assertEquals(messages.get(0), message);
assertEquals(messages.get(1).getApnId(), task.getApnId());
assertFalse(messages.get(1).isVoip());
}
@Test
public void testPartialFallback() throws Exception {
PushServiceClient pushServiceClient = mock(PushServiceClient.class);
WebsocketAddress address = mock(WebsocketAddress.class );
ApnMessage message = new ApnMessage("bar", "123", 1, "hmm", true);
ApnFallbackTask task = new ApnFallbackTask ("foo", message, 0, 500);
ApnFallbackManager apnFallbackManager = new ApnFallbackManager(pushServiceClient);
apnFallbackManager.start();
apnFallbackManager.schedule(address, task);
Util.sleep(600);
apnFallbackManager.cancel(address);
Util.sleep(600);
verify(pushServiceClient, times(1)).send(eq(message));
assertEquals(captor.getValue().getMessage(), message.getMessage());
assertEquals(captor.getValue().getApnId(), task.getApnId());
assertFalse(captor.getValue().isVoip());
}
@Test
@@ -67,7 +42,7 @@ public class ApnFallbackManagerTest {
PushServiceClient pushServiceClient = mock(PushServiceClient.class);
WebsocketAddress address = mock(WebsocketAddress.class );
ApnMessage message = new ApnMessage("bar", "123", 1, "hmm", true);
ApnFallbackTask task = new ApnFallbackTask ("foo", message, 0, 500);
ApnFallbackTask task = new ApnFallbackTask ("foo", message, 500);
ApnFallbackManager apnFallbackManager = new ApnFallbackManager(pushServiceClient);
apnFallbackManager.start();