From 6116830da94fe4a5e176d829047630b38d46dc55 Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Fri, 11 Jul 2025 16:31:39 -0400 Subject: [PATCH] Remove spurious null checks --- .../storage/ChangeNumberManager.java | 9 +--- .../storage/ChangeNumberManagerTest.java | 43 ------------------- 2 files changed, 1 insertion(+), 51 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/storage/ChangeNumberManager.java b/service/src/main/java/org/whispersystems/textsecuregcm/storage/ChangeNumberManager.java index 366a24e10..9471bb482 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/storage/ChangeNumberManager.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/storage/ChangeNumberManager.java @@ -51,17 +51,10 @@ public class ChangeNumberManager { final String senderUserAgent) throws InterruptedException, MismatchedDevicesException, MessageTooLargeException { - if (!(ObjectUtils.allNotNull(pniIdentityKey, deviceSignedPreKeys, deviceMessages, pniRegistrationIds) || - ObjectUtils.allNull(pniIdentityKey, deviceSignedPreKeys, deviceMessages, pniRegistrationIds))) { - throw new IllegalArgumentException("PNI identity key, signed pre-keys, device messages, and registration IDs must be all null or all non-null"); - } - final Account updatedAccount = accountsManager.changeNumber( account, number, pniIdentityKey, deviceSignedPreKeys, devicePqLastResortPreKeys, pniRegistrationIds); - if (deviceMessages != null) { - sendDeviceMessages(updatedAccount, deviceMessages, senderUserAgent); - } + sendDeviceMessages(updatedAccount, deviceMessages, senderUserAgent); return updatedAccount; } diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/storage/ChangeNumberManagerTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/storage/ChangeNumberManagerTest.java index 712b63ac4..ac67362eb 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/storage/ChangeNumberManagerTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/storage/ChangeNumberManagerTest.java @@ -5,7 +5,6 @@ package org.whispersystems.textsecuregcm.storage; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyByte; import static org.mockito.ArgumentMatchers.argThat; @@ -16,9 +15,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import com.google.protobuf.ByteString; -import java.nio.charset.StandardCharsets; import java.time.Instant; -import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -84,16 +81,6 @@ public class ChangeNumberManagerTest { }); } - @Test - void changeNumberNoMessages() throws Exception { - Account account = mock(Account.class); - when(account.getNumber()).thenReturn("+18005551234"); - changeNumberManager.changeNumber(account, "+18025551234", null, null, null, null, null, null); - verify(accountsManager).changeNumber(account, "+18025551234", null, null, null, null); - verify(accountsManager, never()).updateDevice(any(), anyByte(), any()); - verify(messageSender, never()).sendMessages(eq(account), any(), any(), any(), any(), any()); - } - @Test void changeNumberSetPrimaryDevicePrekey() throws Exception { Account account = mock(Account.class); @@ -224,34 +211,4 @@ public class ChangeNumberManagerTest { assertEquals(Device.PRIMARY_ID, envelope.getSourceDevice()); assertEquals(updatedPhoneNumberIdentifiersByAccount.get(account), UUID.fromString(envelope.getUpdatedPni())); } - - @Test - void changeNumberMissingData() { - final Account account = mock(Account.class); - when(account.getNumber()).thenReturn("+18005551234"); - - final List devices = new ArrayList<>(); - - for (byte i = 1; i <= 3; i++) { - final Device device = mock(Device.class); - when(device.getId()).thenReturn(i); - when(device.getRegistrationId(IdentityType.ACI)).thenReturn((int) i); - - devices.add(device); - when(account.getDevice(i)).thenReturn(Optional.of(device)); - } - - when(account.getDevices()).thenReturn(devices); - - final byte destinationDeviceId2 = 2; - final byte destinationDeviceId3 = 3; - final List messages = List.of( - new IncomingMessage(1, destinationDeviceId2, 2, "foo".getBytes(StandardCharsets.UTF_8)), - new IncomingMessage(1, destinationDeviceId3, 3, "foo".getBytes(StandardCharsets.UTF_8))); - - final Map registrationIds = Map.of((byte) 1, 17, destinationDeviceId2, 47, destinationDeviceId3, 89); - - assertThrows(IllegalArgumentException.class, - () -> changeNumberManager.changeNumber(account, "+18005559876", new IdentityKey(Curve.generateKeyPair().getPublicKey()), null, null, messages, registrationIds, null)); - } }