diff --git a/src/main/java/com/google/firebase/messaging/InstanceIdClientImpl.java b/src/main/java/com/google/firebase/messaging/InstanceIdClientImpl.java index 09962a414..81e953fe1 100644 --- a/src/main/java/com/google/firebase/messaging/InstanceIdClientImpl.java +++ b/src/main/java/com/google/firebase/messaging/InstanceIdClientImpl.java @@ -147,7 +147,7 @@ private String getCustomMessage(FirebaseException base) { String response = getResponse(base); InstanceIdServiceErrorResponse parsed = safeParse(response); if (!Strings.isNullOrEmpty(parsed.error)) { - return parsed.error; + return "Error while calling the IID service: " + parsed.error; } return base.getMessage(); diff --git a/src/test/java/com/google/firebase/messaging/InstanceIdClientImplTest.java b/src/test/java/com/google/firebase/messaging/InstanceIdClientImplTest.java index 76907db2c..bfbc88158 100644 --- a/src/test/java/com/google/firebase/messaging/InstanceIdClientImplTest.java +++ b/src/test/java/com/google/firebase/messaging/InstanceIdClientImplTest.java @@ -109,14 +109,16 @@ public void testSubscribeError() { TestResponseInterceptor interceptor = new TestResponseInterceptor(); InstanceIdClient client = initInstanceIdClient(response, interceptor); + String content = "{\"error\": \"ErrorCode\"}"; for (int statusCode : HTTP_ERRORS) { - response.setStatusCode(statusCode).setContent("{\"error\": \"test error\"}"); + response.setStatusCode(statusCode).setContent(content); try { client.subscribeToTopic("test-topic", ImmutableList.of("id1", "id2")); fail("No error thrown for HTTP error"); } catch (FirebaseMessagingException error) { - checkExceptionFromHttpResponse(error, statusCode, "test error"); + String expectedMessage = "Error while calling the IID service: ErrorCode"; + checkExceptionFromHttpResponse(error, statusCode, expectedMessage); } checkTopicManagementRequestHeader(interceptor.getLastRequest(), TEST_IID_SUBSCRIBE_URL); @@ -247,14 +249,16 @@ public void testUnsubscribeError() { TestResponseInterceptor interceptor = new TestResponseInterceptor(); InstanceIdClient client = initInstanceIdClient(response, interceptor); + String content = "{\"error\": \"ErrorCode\"}"; for (int statusCode : HTTP_ERRORS) { - response.setStatusCode(statusCode).setContent("{\"error\": \"test error\"}"); + response.setStatusCode(statusCode).setContent(content); try { client.unsubscribeFromTopic("test-topic", ImmutableList.of("id1", "id2")); fail("No error thrown for HTTP error"); } catch (FirebaseMessagingException error) { - checkExceptionFromHttpResponse(error, statusCode, "test error"); + String expectedMessage = "Error while calling the IID service: ErrorCode"; + checkExceptionFromHttpResponse(error, statusCode, expectedMessage); } checkTopicManagementRequestHeader(interceptor.getLastRequest(), TEST_IID_UNSUBSCRIBE_URL);