Add skip low urgency push experiment

This commit is contained in:
Ravi Khadiwala
2025-04-21 14:42:09 -05:00
committed by ravi-signal
parent 51569ce0a5
commit ab4fc4f459
11 changed files with 128 additions and 19 deletions

View File

@@ -47,6 +47,7 @@ import org.whispersystems.textsecuregcm.auth.AuthenticatedDevice;
import org.whispersystems.textsecuregcm.configuration.dynamic.DynamicConfiguration;
import org.whispersystems.textsecuregcm.entities.MessageProtos;
import org.whispersystems.textsecuregcm.entities.MessageProtos.Envelope;
import org.whispersystems.textsecuregcm.experiment.ExperimentEnrollmentManager;
import org.whispersystems.textsecuregcm.limits.MessageDeliveryLoopMonitor;
import org.whispersystems.textsecuregcm.metrics.MessageMetrics;
import org.whispersystems.textsecuregcm.push.PushNotificationManager;
@@ -141,7 +142,8 @@ class WebSocketConnectionIntegrationTest {
scheduledExecutorService,
messageDeliveryScheduler,
clientReleaseManager,
mock(MessageDeliveryLoopMonitor.class));
mock(MessageDeliveryLoopMonitor.class),
mock(ExperimentEnrollmentManager.class));
final List<MessageProtos.Envelope> expectedMessages = new ArrayList<>(persistedMessageCount + cachedMessageCount);
@@ -229,7 +231,8 @@ class WebSocketConnectionIntegrationTest {
scheduledExecutorService,
messageDeliveryScheduler,
clientReleaseManager,
mock(MessageDeliveryLoopMonitor.class));
mock(MessageDeliveryLoopMonitor.class),
mock(ExperimentEnrollmentManager.class));
final int persistedMessageCount = 207;
final int cachedMessageCount = 173;
@@ -299,7 +302,8 @@ class WebSocketConnectionIntegrationTest {
scheduledExecutorService,
messageDeliveryScheduler,
clientReleaseManager,
mock(MessageDeliveryLoopMonitor.class));
mock(MessageDeliveryLoopMonitor.class),
mock(ExperimentEnrollmentManager.class));
final int persistedMessageCount = 207;
final int cachedMessageCount = 173;

View File

@@ -54,6 +54,7 @@ import org.junit.jupiter.api.Test;
import org.mockito.stubbing.Answer;
import org.whispersystems.textsecuregcm.auth.AccountAuthenticator;
import org.whispersystems.textsecuregcm.auth.AuthenticatedDevice;
import org.whispersystems.textsecuregcm.experiment.ExperimentEnrollmentManager;
import org.whispersystems.textsecuregcm.identity.AciServiceIdentifier;
import org.whispersystems.textsecuregcm.limits.MessageDeliveryLoopMonitor;
import org.whispersystems.textsecuregcm.metrics.MessageMetrics;
@@ -125,7 +126,8 @@ class WebSocketConnectionTest {
AuthenticatedConnectListener connectListener = new AuthenticatedConnectListener(receiptSender, messagesManager,
new MessageMetrics(), mock(PushNotificationManager.class), mock(PushNotificationScheduler.class),
mock(WebSocketConnectionEventManager.class), retrySchedulingExecutor,
messageDeliveryScheduler, clientReleaseManager, mock(MessageDeliveryLoopMonitor.class));
messageDeliveryScheduler, clientReleaseManager, mock(MessageDeliveryLoopMonitor.class),
mock(ExperimentEnrollmentManager.class));
WebSocketSessionContext sessionContext = mock(WebSocketSessionContext.class);
when(accountAuthenticator.authenticate(eq(new BasicCredentials(VALID_USER, VALID_PASSWORD))))
@@ -629,7 +631,8 @@ class WebSocketConnectionTest {
private WebSocketConnection webSocketConnection(final WebSocketClient client) {
return new WebSocketConnection(receiptSender, messagesManager, new MessageMetrics(),
mock(PushNotificationManager.class), mock(PushNotificationScheduler.class), auth, client,
retrySchedulingExecutor, Schedulers.immediate(), clientReleaseManager, mock(MessageDeliveryLoopMonitor.class));
retrySchedulingExecutor, Schedulers.immediate(), clientReleaseManager,
mock(MessageDeliveryLoopMonitor.class), mock(ExperimentEnrollmentManager.class));
}
@Test