Temporarily disable GCM unregistered feedback
This commit is contained in:
parent
ff3056332e
commit
45dc7459b8
|
@ -111,19 +111,19 @@ public class GCMSender implements Managed {
|
|||
GcmMessage message = (GcmMessage)result.getContext();
|
||||
logger.warn("Got GCM unregistered notice! " + message.getGcmId());
|
||||
|
||||
Optional<Account> account = getAccountForEvent(message);
|
||||
|
||||
if (account.isPresent()) {
|
||||
Device device = account.get().getDevice(message.getDeviceId()).get();
|
||||
device.setGcmId(null);
|
||||
device.setFetchesMessages(false);
|
||||
|
||||
accountsManager.update(account.get());
|
||||
|
||||
if (!account.get().isActive()) {
|
||||
directoryQueue.deleteRegisteredUser(account.get().getNumber());
|
||||
}
|
||||
}
|
||||
// Optional<Account> account = getAccountForEvent(message);
|
||||
//
|
||||
// if (account.isPresent()) {
|
||||
// Device device = account.get().getDevice(message.getDeviceId()).get();
|
||||
// device.setGcmId(null);
|
||||
// device.setFetchesMessages(false);
|
||||
//
|
||||
// accountsManager.update(account.get());
|
||||
//
|
||||
// if (!account.get().isActive()) {
|
||||
// directoryQueue.deleteRegisteredUser(account.get().getNumber());
|
||||
// }
|
||||
// }
|
||||
|
||||
unregistered.mark();
|
||||
}
|
||||
|
|
|
@ -48,45 +48,45 @@ public class GCMSenderTest {
|
|||
verify(sender, times(1)).send(any(Message.class), eq(message));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSendError() {
|
||||
String destinationNumber = "+12223334444";
|
||||
String gcmId = "foo";
|
||||
|
||||
AccountsManager accountsManager = mock(AccountsManager.class);
|
||||
Sender sender = mock(Sender.class );
|
||||
Result invalidResult = mock(Result.class );
|
||||
DirectoryQueue directoryQueue = mock(DirectoryQueue.class );
|
||||
SynchronousExecutorService executorService = new SynchronousExecutorService();
|
||||
|
||||
Account destinationAccount = mock(Account.class);
|
||||
Device destinationDevice = mock(Device.class );
|
||||
|
||||
when(destinationAccount.getDevice(1)).thenReturn(Optional.of(destinationDevice));
|
||||
when(accountsManager.get(destinationNumber)).thenReturn(Optional.of(destinationAccount));
|
||||
when(destinationDevice.getGcmId()).thenReturn(gcmId);
|
||||
|
||||
when(invalidResult.isInvalidRegistrationId()).thenReturn(true);
|
||||
when(invalidResult.isUnregistered()).thenReturn(false);
|
||||
when(invalidResult.hasCanonicalRegistrationId()).thenReturn(false);
|
||||
when(invalidResult.isSuccess()).thenReturn(true);
|
||||
|
||||
GcmMessage message = new GcmMessage(gcmId, destinationNumber, 1, false);
|
||||
GCMSender gcmSender = new GCMSender(accountsManager, sender, directoryQueue, executorService);
|
||||
|
||||
SettableFuture<Result> invalidFuture = SettableFuture.create();
|
||||
invalidFuture.set(invalidResult);
|
||||
|
||||
when(sender.send(any(Message.class), Matchers.anyObject())).thenReturn(invalidFuture);
|
||||
when(invalidResult.getContext()).thenReturn(message);
|
||||
|
||||
gcmSender.sendMessage(message);
|
||||
|
||||
verify(sender, times(1)).send(any(Message.class), eq(message));
|
||||
verify(accountsManager, times(1)).get(eq(destinationNumber));
|
||||
verify(accountsManager, times(1)).update(eq(destinationAccount));
|
||||
verify(destinationDevice, times(1)).setGcmId(eq((String)null));
|
||||
}
|
||||
// @Test
|
||||
// public void testSendError() {
|
||||
// String destinationNumber = "+12223334444";
|
||||
// String gcmId = "foo";
|
||||
//
|
||||
// AccountsManager accountsManager = mock(AccountsManager.class);
|
||||
// Sender sender = mock(Sender.class );
|
||||
// Result invalidResult = mock(Result.class );
|
||||
// DirectoryQueue directoryQueue = mock(DirectoryQueue.class );
|
||||
// SynchronousExecutorService executorService = new SynchronousExecutorService();
|
||||
//
|
||||
// Account destinationAccount = mock(Account.class);
|
||||
// Device destinationDevice = mock(Device.class );
|
||||
//
|
||||
// when(destinationAccount.getDevice(1)).thenReturn(Optional.of(destinationDevice));
|
||||
// when(accountsManager.get(destinationNumber)).thenReturn(Optional.of(destinationAccount));
|
||||
// when(destinationDevice.getGcmId()).thenReturn(gcmId);
|
||||
//
|
||||
// when(invalidResult.isInvalidRegistrationId()).thenReturn(true);
|
||||
// when(invalidResult.isUnregistered()).thenReturn(false);
|
||||
// when(invalidResult.hasCanonicalRegistrationId()).thenReturn(false);
|
||||
// when(invalidResult.isSuccess()).thenReturn(true);
|
||||
//
|
||||
// GcmMessage message = new GcmMessage(gcmId, destinationNumber, 1, false);
|
||||
// GCMSender gcmSender = new GCMSender(accountsManager, sender, directoryQueue, executorService);
|
||||
//
|
||||
// SettableFuture<Result> invalidFuture = SettableFuture.create();
|
||||
// invalidFuture.set(invalidResult);
|
||||
//
|
||||
// when(sender.send(any(Message.class), Matchers.anyObject())).thenReturn(invalidFuture);
|
||||
// when(invalidResult.getContext()).thenReturn(message);
|
||||
//
|
||||
// gcmSender.sendMessage(message);
|
||||
//
|
||||
// verify(sender, times(1)).send(any(Message.class), eq(message));
|
||||
// verify(accountsManager, times(1)).get(eq(destinationNumber));
|
||||
// verify(accountsManager, times(1)).update(eq(destinationAccount));
|
||||
// verify(destinationDevice, times(1)).setGcmId(eq((String)null));
|
||||
// }
|
||||
|
||||
@Test
|
||||
public void testCanonicalId() {
|
||||
|
|
Loading…
Reference in New Issue