remove versionedExpirationTimer
This commit is contained in:
parent
09b50383d7
commit
9491ebbe90
|
@ -18,7 +18,6 @@ public class DeviceCapabilityUtil {
|
||||||
case DEVICE_CAPABILITY_STORAGE -> DeviceCapability.STORAGE;
|
case DEVICE_CAPABILITY_STORAGE -> DeviceCapability.STORAGE;
|
||||||
case DEVICE_CAPABILITY_TRANSFER -> DeviceCapability.TRANSFER;
|
case DEVICE_CAPABILITY_TRANSFER -> DeviceCapability.TRANSFER;
|
||||||
case DEVICE_CAPABILITY_DELETE_SYNC -> DeviceCapability.DELETE_SYNC;
|
case DEVICE_CAPABILITY_DELETE_SYNC -> DeviceCapability.DELETE_SYNC;
|
||||||
case DEVICE_CAPABILITY_VERSIONED_EXPIRATION_TIMER -> DeviceCapability.VERSIONED_EXPIRATION_TIMER;
|
|
||||||
case DEVICE_CAPABILITY_STORAGE_SERVICE_RECORD_KEY_ROTATION -> DeviceCapability.STORAGE_SERVICE_RECORD_KEY_ROTATION;
|
case DEVICE_CAPABILITY_STORAGE_SERVICE_RECORD_KEY_ROTATION -> DeviceCapability.STORAGE_SERVICE_RECORD_KEY_ROTATION;
|
||||||
case DEVICE_CAPABILITY_UNSPECIFIED, UNRECOGNIZED -> throw Status.INVALID_ARGUMENT.withDescription("Unrecognized device capability").asRuntimeException();
|
case DEVICE_CAPABILITY_UNSPECIFIED, UNRECOGNIZED -> throw Status.INVALID_ARGUMENT.withDescription("Unrecognized device capability").asRuntimeException();
|
||||||
};
|
};
|
||||||
|
@ -29,7 +28,6 @@ public class DeviceCapabilityUtil {
|
||||||
case STORAGE -> org.signal.chat.common.DeviceCapability.DEVICE_CAPABILITY_STORAGE;
|
case STORAGE -> org.signal.chat.common.DeviceCapability.DEVICE_CAPABILITY_STORAGE;
|
||||||
case TRANSFER -> org.signal.chat.common.DeviceCapability.DEVICE_CAPABILITY_TRANSFER;
|
case TRANSFER -> org.signal.chat.common.DeviceCapability.DEVICE_CAPABILITY_TRANSFER;
|
||||||
case DELETE_SYNC -> org.signal.chat.common.DeviceCapability.DEVICE_CAPABILITY_DELETE_SYNC;
|
case DELETE_SYNC -> org.signal.chat.common.DeviceCapability.DEVICE_CAPABILITY_DELETE_SYNC;
|
||||||
case VERSIONED_EXPIRATION_TIMER -> org.signal.chat.common.DeviceCapability.DEVICE_CAPABILITY_VERSIONED_EXPIRATION_TIMER;
|
|
||||||
case STORAGE_SERVICE_RECORD_KEY_ROTATION -> org.signal.chat.common.DeviceCapability.DEVICE_CAPABILITY_STORAGE_SERVICE_RECORD_KEY_ROTATION;
|
case STORAGE_SERVICE_RECORD_KEY_ROTATION -> org.signal.chat.common.DeviceCapability.DEVICE_CAPABILITY_STORAGE_SERVICE_RECORD_KEY_ROTATION;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,6 @@ public enum DeviceCapability {
|
||||||
STORAGE("storage", AccountCapabilityMode.ANY_DEVICE, false, false),
|
STORAGE("storage", AccountCapabilityMode.ANY_DEVICE, false, false),
|
||||||
TRANSFER("transfer", AccountCapabilityMode.PRIMARY_DEVICE, false, false),
|
TRANSFER("transfer", AccountCapabilityMode.PRIMARY_DEVICE, false, false),
|
||||||
DELETE_SYNC("deleteSync", AccountCapabilityMode.ALL_DEVICES, true, true),
|
DELETE_SYNC("deleteSync", AccountCapabilityMode.ALL_DEVICES, true, true),
|
||||||
VERSIONED_EXPIRATION_TIMER("versionedExpirationTimer", AccountCapabilityMode.ALL_DEVICES, true, true),
|
|
||||||
STORAGE_SERVICE_RECORD_KEY_ROTATION("ssre2", AccountCapabilityMode.ALL_DEVICES, true, true);
|
STORAGE_SERVICE_RECORD_KEY_ROTATION("ssre2", AccountCapabilityMode.ALL_DEVICES, true, true);
|
||||||
|
|
||||||
public enum AccountCapabilityMode {
|
public enum AccountCapabilityMode {
|
||||||
|
|
|
@ -98,7 +98,7 @@ enum DeviceCapability {
|
||||||
DEVICE_CAPABILITY_STORAGE = 1;
|
DEVICE_CAPABILITY_STORAGE = 1;
|
||||||
DEVICE_CAPABILITY_TRANSFER = 2;
|
DEVICE_CAPABILITY_TRANSFER = 2;
|
||||||
DEVICE_CAPABILITY_DELETE_SYNC = 3;
|
DEVICE_CAPABILITY_DELETE_SYNC = 3;
|
||||||
DEVICE_CAPABILITY_VERSIONED_EXPIRATION_TIMER = 4;
|
reserved 4;
|
||||||
DEVICE_CAPABILITY_STORAGE_SERVICE_RECORD_KEY_ROTATION = 5;
|
DEVICE_CAPABILITY_STORAGE_SERVICE_RECORD_KEY_ROTATION = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -442,10 +442,8 @@ class ProfileControllerTest {
|
||||||
|
|
||||||
@CartesianTest
|
@CartesianTest
|
||||||
void testProfileCapabilities(
|
void testProfileCapabilities(
|
||||||
@CartesianTest.Values(booleans = {true, false}) final boolean isDeleteSyncSupported,
|
@CartesianTest.Values(booleans = {true, false}) final boolean isDeleteSyncSupported) {
|
||||||
@CartesianTest.Values(booleans = {true, false}) final boolean isVersionedExpirationTimerSupported) {
|
|
||||||
when(capabilitiesAccount.hasCapability(DeviceCapability.DELETE_SYNC)).thenReturn(isDeleteSyncSupported);
|
when(capabilitiesAccount.hasCapability(DeviceCapability.DELETE_SYNC)).thenReturn(isDeleteSyncSupported);
|
||||||
when(capabilitiesAccount.hasCapability(DeviceCapability.VERSIONED_EXPIRATION_TIMER)).thenReturn(isVersionedExpirationTimerSupported);
|
|
||||||
final BaseProfileResponse profile = resources.getJerseyTest()
|
final BaseProfileResponse profile = resources.getJerseyTest()
|
||||||
.target("/v1/profile/" + AuthHelper.VALID_UUID)
|
.target("/v1/profile/" + AuthHelper.VALID_UUID)
|
||||||
.request()
|
.request()
|
||||||
|
@ -453,7 +451,6 @@ class ProfileControllerTest {
|
||||||
.get(BaseProfileResponse.class);
|
.get(BaseProfileResponse.class);
|
||||||
|
|
||||||
assertEquals(isDeleteSyncSupported, profile.getCapabilities().get("deleteSync"));
|
assertEquals(isDeleteSyncSupported, profile.getCapabilities().get("deleteSync"));
|
||||||
assertEquals(isVersionedExpirationTimerSupported, profile.getCapabilities().get("versionedExpirationTimer"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -434,8 +434,7 @@ class DevicesGrpcServiceTest extends SimpleBaseGrpcTest<DevicesGrpcService, Devi
|
||||||
@CartesianTest.Values(bytes = {Device.PRIMARY_ID, Device.PRIMARY_ID + 1}) final byte deviceId,
|
@CartesianTest.Values(bytes = {Device.PRIMARY_ID, Device.PRIMARY_ID + 1}) final byte deviceId,
|
||||||
@CartesianTest.Values(booleans = {true, false}) final boolean storage,
|
@CartesianTest.Values(booleans = {true, false}) final boolean storage,
|
||||||
@CartesianTest.Values(booleans = {true, false}) final boolean transfer,
|
@CartesianTest.Values(booleans = {true, false}) final boolean transfer,
|
||||||
@CartesianTest.Values(booleans = {true, false}) final boolean deleteSync,
|
@CartesianTest.Values(booleans = {true, false}) final boolean deleteSync) {
|
||||||
@CartesianTest.Values(booleans = {true, false}) final boolean versionedExpirationTimer) {
|
|
||||||
|
|
||||||
mockAuthenticationInterceptor().setAuthenticatedDevice(AUTHENTICATED_ACI, deviceId);
|
mockAuthenticationInterceptor().setAuthenticatedDevice(AUTHENTICATED_ACI, deviceId);
|
||||||
|
|
||||||
|
@ -456,10 +455,6 @@ class DevicesGrpcServiceTest extends SimpleBaseGrpcTest<DevicesGrpcService, Devi
|
||||||
requestBuilder.addCapabilities(org.signal.chat.common.DeviceCapability.DEVICE_CAPABILITY_DELETE_SYNC);
|
requestBuilder.addCapabilities(org.signal.chat.common.DeviceCapability.DEVICE_CAPABILITY_DELETE_SYNC);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (versionedExpirationTimer) {
|
|
||||||
requestBuilder.addCapabilities(org.signal.chat.common.DeviceCapability.DEVICE_CAPABILITY_VERSIONED_EXPIRATION_TIMER);
|
|
||||||
}
|
|
||||||
|
|
||||||
final SetCapabilitiesResponse ignored = authenticatedServiceStub().setCapabilities(requestBuilder.build());
|
final SetCapabilitiesResponse ignored = authenticatedServiceStub().setCapabilities(requestBuilder.build());
|
||||||
|
|
||||||
final Set<DeviceCapability> expectedCapabilities = new HashSet<>();
|
final Set<DeviceCapability> expectedCapabilities = new HashSet<>();
|
||||||
|
@ -476,10 +471,6 @@ class DevicesGrpcServiceTest extends SimpleBaseGrpcTest<DevicesGrpcService, Devi
|
||||||
expectedCapabilities.add(DeviceCapability.DELETE_SYNC);
|
expectedCapabilities.add(DeviceCapability.DELETE_SYNC);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (versionedExpirationTimer) {
|
|
||||||
expectedCapabilities.add(DeviceCapability.VERSIONED_EXPIRATION_TIMER);
|
|
||||||
}
|
|
||||||
|
|
||||||
verify(device).setCapabilities(expectedCapabilities);
|
verify(device).setCapabilities(expectedCapabilities);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,8 +41,6 @@ class AccountTest {
|
||||||
private final Device oldSecondaryDevice = mock(Device.class);
|
private final Device oldSecondaryDevice = mock(Device.class);
|
||||||
private final Device deleteSyncCapableDevice = mock(Device.class);
|
private final Device deleteSyncCapableDevice = mock(Device.class);
|
||||||
private final Device deleteSyncIncapableDevice = mock(Device.class);
|
private final Device deleteSyncIncapableDevice = mock(Device.class);
|
||||||
private final Device versionedExpirationTimerCapableDevice = mock(Device.class);
|
|
||||||
private final Device versionedExpirationTimerIncapableDevice = mock(Device.class);
|
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void setup() {
|
void setup() {
|
||||||
|
@ -67,12 +65,6 @@ class AccountTest {
|
||||||
|
|
||||||
when(deleteSyncIncapableDevice.getId()).thenReturn((byte) 2);
|
when(deleteSyncIncapableDevice.getId()).thenReturn((byte) 2);
|
||||||
when(deleteSyncIncapableDevice.hasCapability(DeviceCapability.DELETE_SYNC)).thenReturn(false);
|
when(deleteSyncIncapableDevice.hasCapability(DeviceCapability.DELETE_SYNC)).thenReturn(false);
|
||||||
|
|
||||||
when(versionedExpirationTimerCapableDevice.getId()).thenReturn((byte) 1);
|
|
||||||
when(versionedExpirationTimerCapableDevice.hasCapability(DeviceCapability.VERSIONED_EXPIRATION_TIMER)).thenReturn(true);
|
|
||||||
|
|
||||||
when(versionedExpirationTimerIncapableDevice.getId()).thenReturn((byte) 2);
|
|
||||||
when(versionedExpirationTimerIncapableDevice.hasCapability(DeviceCapability.VERSIONED_EXPIRATION_TIMER)).thenReturn(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -139,17 +131,6 @@ class AccountTest {
|
||||||
"1234".getBytes(StandardCharsets.UTF_8)).hasCapability(DeviceCapability.DELETE_SYNC));
|
"1234".getBytes(StandardCharsets.UTF_8)).hasCapability(DeviceCapability.DELETE_SYNC));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
void isVersionedExpirationTimerSupported() {
|
|
||||||
assertTrue(AccountsHelper.generateTestAccount("+18005551234", UUID.randomUUID(), UUID.randomUUID(),
|
|
||||||
List.of(versionedExpirationTimerCapableDevice),
|
|
||||||
"1234".getBytes(StandardCharsets.UTF_8)).hasCapability(DeviceCapability.VERSIONED_EXPIRATION_TIMER));
|
|
||||||
assertFalse(AccountsHelper.generateTestAccount("+18005551234", UUID.randomUUID(), UUID.randomUUID(),
|
|
||||||
List.of(versionedExpirationTimerIncapableDevice, versionedExpirationTimerCapableDevice),
|
|
||||||
"1234".getBytes(StandardCharsets.UTF_8)).hasCapability(DeviceCapability.VERSIONED_EXPIRATION_TIMER));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void stale() {
|
void stale() {
|
||||||
final Account account = AccountsHelper.generateTestAccount("+14151234567", UUID.randomUUID(), UUID.randomUUID(), Collections.emptyList(),
|
final Account account = AccountsHelper.generateTestAccount("+14151234567", UUID.randomUUID(), UUID.randomUUID(), Collections.emptyList(),
|
||||||
new byte[0]);
|
new byte[0]);
|
||||||
|
|
Loading…
Reference in New Issue