Convert call quality gRPC service to new error model

This commit is contained in:
Ravi Khadiwala
2026-01-26 12:52:52 -06:00
committed by ravi-signal
parent 517c5b8056
commit 8023a9346f
8 changed files with 50 additions and 24 deletions

View File

@@ -30,6 +30,7 @@ import org.junit.jupiter.params.provider.MethodSource;
import org.signal.chat.calling.quality.SubmitCallQualitySurveyRequest;
import org.whispersystems.textsecuregcm.auth.AuthenticatedDevice;
import org.whispersystems.textsecuregcm.mappers.RateLimitExceededExceptionMapper;
import org.whispersystems.textsecuregcm.metrics.CallQualityInvalidArgumentsException;
import org.whispersystems.textsecuregcm.metrics.CallQualitySurveyManager;
import org.whispersystems.textsecuregcm.tests.util.AuthHelper;
import org.whispersystems.textsecuregcm.util.SystemMapper;
@@ -60,7 +61,7 @@ class CallQualitySurveyControllerTest {
}
@Test
void submitCallQualitySurvey() {
void submitCallQualitySurvey() throws CallQualityInvalidArgumentsException {
final SubmitCallQualitySurveyRequest request = SubmitCallQualitySurveyRequest.getDefaultInstance();
try (final Response response = RESOURCE_EXTENSION.getJerseyTest()
@@ -75,7 +76,7 @@ class CallQualitySurveyControllerTest {
}
@Test
void submitCallQualitySurveyAuthenticated() {
void submitCallQualitySurveyAuthenticated() throws CallQualityInvalidArgumentsException {
final SubmitCallQualitySurveyRequest request = SubmitCallQualitySurveyRequest.getDefaultInstance();
try (final Response response = RESOURCE_EXTENSION.getJerseyTest()
@@ -91,10 +92,10 @@ class CallQualitySurveyControllerTest {
}
@Test
void submitCallQualitySurveyInvalidArgument() {
void submitCallQualitySurveyInvalidArgument() throws CallQualityInvalidArgumentsException {
final SubmitCallQualitySurveyRequest request = SubmitCallQualitySurveyRequest.getDefaultInstance();
doThrow(new IllegalArgumentException())
doThrow(new CallQualityInvalidArgumentsException("test"))
.when(CALL_QUALITY_SURVEY_MANAGER).submitCallQualitySurvey(request, REMOTE_ADDRESS, USER_AGENT);
try (final Response response = RESOURCE_EXTENSION.getJerseyTest()

View File

@@ -22,6 +22,7 @@ import org.signal.chat.calling.quality.SubmitCallQualitySurveyRequest;
import org.whispersystems.textsecuregcm.controllers.RateLimitExceededException;
import org.whispersystems.textsecuregcm.limits.RateLimiter;
import org.whispersystems.textsecuregcm.limits.RateLimiters;
import org.whispersystems.textsecuregcm.metrics.CallQualityInvalidArgumentsException;
import org.whispersystems.textsecuregcm.metrics.CallQualitySurveyManager;
class CallQualitySurveyGrpcServiceTest extends SimpleBaseGrpcTest<CallQualitySurveyGrpcService, CallQualityGrpc.CallQualityBlockingStub> {
@@ -50,7 +51,7 @@ class CallQualitySurveyGrpcServiceTest extends SimpleBaseGrpcTest<CallQualitySur
}
@Test
void submitCallQualitySurvey() {
void submitCallQualitySurvey() throws CallQualityInvalidArgumentsException {
final SubmitCallQualitySurveyRequest request = SubmitCallQualitySurveyRequest.getDefaultInstance();
assertDoesNotThrow(() -> unauthenticatedServiceStub().submitCallQualitySurvey(request));
@@ -70,10 +71,10 @@ class CallQualitySurveyGrpcServiceTest extends SimpleBaseGrpcTest<CallQualitySur
}
@Test
void submitCallQualitySurveyInvalidArgument() {
void submitCallQualitySurveyInvalidArgument() throws CallQualityInvalidArgumentsException {
final SubmitCallQualitySurveyRequest request = SubmitCallQualitySurveyRequest.getDefaultInstance();
doThrow(new IllegalArgumentException())
doThrow(new CallQualityInvalidArgumentsException("test"))
.when(callQualitySurveyManager).submitCallQualitySurvey(request, REMOTE_ADDRESS, USER_AGENT);
//noinspection ResultOfMethodCallIgnored

View File

@@ -155,10 +155,10 @@ class CallQualitySurveyManagerTest {
if (expectValid) {
assertDoesNotThrow(validateRequest);
} else {
final IllegalArgumentException illegalArgumentException =
assertThrows(IllegalArgumentException.class, validateRequest);
final CallQualityInvalidArgumentsException invalidArgumentsException =
assertThrows(CallQualityInvalidArgumentsException.class, validateRequest);
assertTrue(StringUtils.isNotBlank(illegalArgumentException.getMessage()));
assertTrue(StringUtils.isNotBlank(invalidArgumentsException.getMessage()));
}
}