Skip to content

Commit 854c6df

Browse files
committed
Further deduping code in test
1 parent 668b29f commit 854c6df

File tree

1 file changed

+34
-46
lines changed

1 file changed

+34
-46
lines changed

src/test/java/com/google/firebase/messaging/FirebaseMessagingTest.java

Lines changed: 34 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -125,12 +125,7 @@ public void testSend() throws Exception {
125125
String resp = messaging.sendAsync(entry.getKey()).get();
126126
assertEquals("mock-name", resp);
127127

128-
assertNotNull(interceptor.getResponse());
129-
HttpRequest request = interceptor.getResponse().getRequest();
130-
assertEquals("POST", request.getRequestMethod());
131-
assertEquals(TEST_FCM_URL, request.getUrl().toString());
132-
assertEquals("Bearer test-token", request.getHeaders().getAuthorization());
133-
128+
HttpRequest request = checkRequestHeader(interceptor);
134129
checkRequest(request, ImmutableMap.<String, Object>of("message", entry.getValue()));
135130
}
136131
}
@@ -149,26 +144,11 @@ public void testSendDryRun() throws Exception {
149144
String resp = messaging.sendAsync(entry.getKey(), true).get();
150145
assertEquals("mock-name", resp);
151146

152-
assertNotNull(interceptor.getResponse());
153-
HttpRequest request = interceptor.getResponse().getRequest();
154-
assertEquals("POST", request.getRequestMethod());
155-
assertEquals(TEST_FCM_URL, request.getUrl().toString());
156-
assertEquals("Bearer test-token", request.getHeaders().getAuthorization());
157-
147+
HttpRequest request = checkRequestHeader(interceptor);
158148
checkRequest(request, ImmutableMap.of("message", entry.getValue(), "validate_only", true));
159149
}
160150
}
161151

162-
private static void checkRequest(
163-
HttpRequest request, Map<String, Object> expected) throws IOException {
164-
ByteArrayOutputStream out = new ByteArrayOutputStream();
165-
request.getContent().writeTo(out);
166-
JsonParser parser = Utils.getDefaultJsonFactory().createJsonParser(out.toString());
167-
Map<String, Object> parsed = new HashMap<>();
168-
parser.parseAndClose(parsed);
169-
assertEquals(expected, parsed);
170-
}
171-
172152
@Test
173153
public void testSendError() throws Exception {
174154
MockLowLevelHttpResponse response = new MockLowLevelHttpResponse();
@@ -188,7 +168,7 @@ public void testSendError() throws Exception {
188168
error.getMessage());
189169
assertTrue(error.getCause() instanceof HttpResponseException);
190170
}
191-
checkMessagingRequest(interceptor);
171+
checkRequestHeader(interceptor);
192172
}
193173
}
194174

@@ -211,7 +191,7 @@ public void testSendErrorWithDetails() throws Exception {
211191
assertEquals("test error", error.getMessage());
212192
assertTrue(error.getCause() instanceof HttpResponseException);
213193
}
214-
checkMessagingRequest(interceptor);
194+
checkRequestHeader(interceptor);
215195
}
216196
}
217197

@@ -243,7 +223,8 @@ public void testSubscribe() throws Exception {
243223

244224
TopicManagementResponse result = messaging.subscribeToTopicAsync(
245225
ImmutableList.of("id1", "id2"), "test-topic").get();
246-
checkTopicManagementCall(TEST_IID_SUBSCRIBE_URL, result, interceptor);
226+
HttpRequest request = checkTopicManagementRequestHeader(interceptor, TEST_IID_SUBSCRIBE_URL);
227+
checkTopicManagementRequest(request, result);
247228
}
248229

249230
@Test
@@ -265,11 +246,7 @@ public void testSubscribeError() throws Exception {
265246
assertTrue(error.getCause() instanceof HttpResponseException);
266247
}
267248

268-
assertNotNull(interceptor.getResponse());
269-
HttpRequest request = interceptor.getResponse().getRequest();
270-
assertEquals("POST", request.getRequestMethod());
271-
assertEquals(TEST_IID_SUBSCRIBE_URL, request.getUrl().toString());
272-
assertEquals("Bearer test-token", request.getHeaders().getAuthorization());
249+
checkTopicManagementRequestHeader(interceptor, TEST_IID_SUBSCRIBE_URL);
273250
}
274251
}
275252

@@ -301,7 +278,8 @@ public void testUnsubscribe() throws Exception {
301278

302279
TopicManagementResponse result = messaging.unsubscribeFromTopicAsync(
303280
ImmutableList.of("id1", "id2"), "test-topic").get();
304-
checkTopicManagementCall(TEST_IID_UNSUBSCRIBE_URL, result, interceptor);
281+
HttpRequest request = checkTopicManagementRequestHeader(interceptor, TEST_IID_UNSUBSCRIBE_URL);
282+
checkTopicManagementRequest(request, result);
305283
}
306284

307285
@Test
@@ -323,11 +301,7 @@ public void testUnsubscribeError() throws Exception {
323301
assertTrue(error.getCause() instanceof HttpResponseException);
324302
}
325303

326-
assertNotNull(interceptor.getResponse());
327-
HttpRequest request = interceptor.getResponse().getRequest();
328-
assertEquals("POST", request.getRequestMethod());
329-
assertEquals(TEST_IID_UNSUBSCRIBE_URL, request.getUrl().toString());
330-
assertEquals("Bearer test-token", request.getHeaders().getAuthorization());
304+
checkTopicManagementRequestHeader(interceptor, TEST_IID_UNSUBSCRIBE_URL);
331305
}
332306
}
333307

@@ -364,29 +338,33 @@ private static FirebaseMessaging initDefaultMessaging() {
364338
return FirebaseMessaging.getInstance(app);
365339
}
366340

367-
private static void checkMessagingRequest(TestResponseInterceptor interceptor) {
341+
private static void checkRequest(
342+
HttpRequest request, Map<String, Object> expected) throws IOException {
343+
ByteArrayOutputStream out = new ByteArrayOutputStream();
344+
request.getContent().writeTo(out);
345+
JsonParser parser = Utils.getDefaultJsonFactory().createJsonParser(out.toString());
346+
Map<String, Object> parsed = new HashMap<>();
347+
parser.parseAndClose(parsed);
348+
assertEquals(expected, parsed);
349+
}
350+
351+
private static HttpRequest checkRequestHeader(TestResponseInterceptor interceptor) {
368352
assertNotNull(interceptor.getResponse());
369353
HttpRequest request = interceptor.getResponse().getRequest();
370354
assertEquals("POST", request.getRequestMethod());
371355
assertEquals(TEST_FCM_URL, request.getUrl().toString());
372356
assertEquals("Bearer test-token", request.getHeaders().getAuthorization());
357+
return request;
373358
}
374359

375-
private static void checkTopicManagementCall(String url,
376-
TopicManagementResponse result, TestResponseInterceptor interceptor) throws IOException {
360+
private static void checkTopicManagementRequest(
361+
HttpRequest request, TopicManagementResponse result) throws IOException {
377362
assertEquals(1, result.getSuccessCount());
378363
assertEquals(1, result.getFailureCount());
379364
assertEquals(1, result.getErrors().size());
380365
assertEquals(1, result.getErrors().get(0).getIndex());
381366
assertEquals("unknown-error", result.getErrors().get(0).getReason());
382367

383-
assertNotNull(interceptor.getResponse());
384-
HttpRequest request = interceptor.getResponse().getRequest();
385-
assertEquals("POST", request.getRequestMethod());
386-
assertEquals(url, request.getUrl().toString());
387-
assertEquals("Bearer test-token", request.getHeaders().getAuthorization());
388-
assertEquals("true", request.getHeaders().get("access_token_auth"));
389-
390368
ByteArrayOutputStream out = new ByteArrayOutputStream();
391369
request.getContent().writeTo(out);
392370
Map<String, Object> parsed = new HashMap<>();
@@ -397,6 +375,16 @@ private static void checkTopicManagementCall(String url,
397375
assertEquals(ImmutableList.of("id1", "id2"), parsed.get("registration_tokens"));
398376
}
399377

378+
private static HttpRequest checkTopicManagementRequestHeader(
379+
TestResponseInterceptor interceptor, String expectedUrl) {
380+
assertNotNull(interceptor.getResponse());
381+
HttpRequest request = interceptor.getResponse().getRequest();
382+
assertEquals("POST", request.getRequestMethod());
383+
assertEquals(expectedUrl, request.getUrl().toString());
384+
assertEquals("Bearer test-token", request.getHeaders().getAuthorization());
385+
return request;
386+
}
387+
400388
private static class TopicMgtArgs {
401389
private final List<String> registrationTokens;
402390
private final String topic;

0 commit comments

Comments
 (0)