diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java index c47552a5c..8cfd4a5f4 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java @@ -521,6 +521,7 @@ public class AccountController { @PUT @Path("/gcm/") @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) @ChangesDeviceEnabledState public void setGcmRegistrationId(@Auth DisabledPermittedAuthenticatedAccount disabledPermittedAuth, @NotNull @Valid GcmRegistrationId registrationId) { diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/controllers/AccountControllerTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/controllers/AccountControllerTest.java index 54185bafe..8a9418fca 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/controllers/AccountControllerTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/controllers/AccountControllerTest.java @@ -1689,10 +1689,10 @@ class AccountControllerTest { void testSetGcmId() { Response response = resources.getJerseyTest() - .target("/v1/accounts/gcm/") - .request() - .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.DISABLED_UUID, AuthHelper.DISABLED_PASSWORD)) - .put(Entity.json(new GcmRegistrationId("z000"))); + .target("/v1/accounts/gcm/") + .request() + .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.DISABLED_UUID, AuthHelper.DISABLED_PASSWORD)) + .put(Entity.json(new GcmRegistrationId("z000"))); assertThat(response.getStatus()).isEqualTo(204); @@ -1700,14 +1700,27 @@ class AccountControllerTest { verify(accountsManager, times(1)).updateDevice(eq(AuthHelper.DISABLED_ACCOUNT), anyLong(), any()); } + @Test + void testSetGcmIdInvalidrequest() { + Response response = + resources.getJerseyTest() + .target("/v1/accounts/gcm/") + .request() + .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.DISABLED_UUID, AuthHelper.DISABLED_PASSWORD)) + .put(Entity.json("{}")); + + assertThat(response.getStatus()).isEqualTo(422); + + } + @Test void testSetApnId() { Response response = resources.getJerseyTest() - .target("/v1/accounts/apn/") - .request() - .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.DISABLED_UUID, AuthHelper.DISABLED_PASSWORD)) - .put(Entity.json(new ApnRegistrationId("first", "second"))); + .target("/v1/accounts/apn/") + .request() + .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.DISABLED_UUID, AuthHelper.DISABLED_PASSWORD)) + .put(Entity.json(new ApnRegistrationId("first", "second"))); assertThat(response.getStatus()).isEqualTo(204);