From f18d0b15e92ff32023dd0f40aed11e7e1bc75265 Mon Sep 17 00:00:00 2001 From: Michael Muller Date: Fri, 12 Nov 2021 14:03:23 -0500 Subject: [PATCH] Make TaskMatcher default to POST methods (#1418) * Make TaskMatcher default to POST methods TaskOptions.Builder.withUrl() defaults to POST methods. Therefore, it seems reasonable to verify that task queue methods are using the POST method, especially given that the method must now be identified explicitly when using CloudTaskUtils. This check would have guarded against the bug fixed by #1413. * Elaborate on comment * Further improved the comment --- .../java/google/registry/testing/CloudTasksHelper.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/src/test/java/google/registry/testing/CloudTasksHelper.java b/core/src/test/java/google/registry/testing/CloudTasksHelper.java index 382968742..e2de09e5b 100644 --- a/core/src/test/java/google/registry/testing/CloudTasksHelper.java +++ b/core/src/test/java/google/registry/testing/CloudTasksHelper.java @@ -188,7 +188,12 @@ public class CloudTasksHelper implements Serializable { String taskName; String service; - HttpMethod method; + // App Engine TaskOption methods default to "POST". This isn't obvious from the code, so we + // default it to POST here so that we don't accidentally create an entry with a GET method when + // converting to CloudTaskUtils, which requires that the method be specified explicitly. + // Should we ever actually want to do a GET, we'll likewise have to set this explicitly for the + // tests. + HttpMethod method = HttpMethod.POST; String url; Multimap headers = ArrayListMultimap.create(); Multimap params = ArrayListMultimap.create();