Skip to content

Commit 7f3bed4

Browse files
committed
Refactor file fetcher specs to use a helper method for stubbing missing gradle wrapper files
1 parent 29f44bb commit 7f3bed4

1 file changed

Lines changed: 19 additions & 54 deletions

File tree

gradle/spec/dependabot/gradle/file_fetcher_spec.rb

Lines changed: 19 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,19 @@ def stub_no_content_request(path)
4848
.to_return(status: 404)
4949
end
5050

51+
def stub_no_wrapper_files(prefix = "")
52+
stub_no_content_request("#{prefix}gradle/wrapper?ref=sha")
53+
stub_no_content_request("#{prefix}gradlew?ref=sha")
54+
stub_no_content_request("#{prefix}gradlew.bat?ref=sha")
55+
end
56+
5157
context "with a basic buildfile" do
5258
before do
5359
stub_no_content_request("gradle?ref=sha")
5460
stub_content_request("?ref=sha", "contents_java.json")
5561
stub_content_request("build.gradle?ref=sha", "contents_java_basic_buildfile.json")
5662
stub_no_content_request("gradle.lockfile?ref=sha")
57-
# Stub wrapper files as missing by default (overridden in wrapper-specific tests)
58-
stub_no_content_request("gradle/wrapper?ref=sha")
59-
stub_no_content_request("gradlew?ref=sha")
60-
stub_no_content_request("gradlew.bat?ref=sha")
61-
stub_no_content_request("gradle/wrapper/gradle-wrapper.jar?ref=sha")
62-
stub_no_content_request("gradle/wrapper/gradle-wrapper.properties?ref=sha")
63+
stub_no_wrapper_files
6364
end
6465

6566
it "fetches the buildfile" do
@@ -153,10 +154,7 @@ def stub_no_content_request(path)
153154
stub_content_request("buildSrc?ref=sha", "contents_java.json")
154155
stub_content_request("buildSrc/build.gradle?ref=sha", "contents_java_basic_buildfile.json")
155156
stub_no_content_request("buildSrc/gradle.lockfile?ref=sha")
156-
# Stub wrapper files for buildSrc as missing
157-
stub_no_content_request("buildSrc/gradle/wrapper?ref=sha")
158-
stub_no_content_request("buildSrc/gradlew?ref=sha")
159-
stub_no_content_request("buildSrc/gradlew.bat?ref=sha")
157+
stub_no_wrapper_files("buildSrc/")
160158
end
161159

162160
context "when the buildSrc is implicitly included" do
@@ -189,10 +187,7 @@ def stub_no_content_request(path)
189187
stub_content_request("included?ref=sha", "contents_java.json")
190188
stub_content_request("included/build.gradle?ref=sha", "contents_java_basic_buildfile.json")
191189
stub_no_content_request("included/gradle.lockfile?ref=sha")
192-
# Stub wrapper files for included as missing
193-
stub_no_content_request("included/gradle/wrapper?ref=sha")
194-
stub_no_content_request("included/gradlew?ref=sha")
195-
stub_no_content_request("included/gradlew.bat?ref=sha")
190+
stub_no_wrapper_files("included/")
196191
end
197192

198193
it "doesn't fetch buildSrc buildfiles twice" do
@@ -222,10 +217,7 @@ def stub_no_content_request(path)
222217
stub_no_content_request("included/gradle.lockfile?ref=sha")
223218
stub_content_request("included/app/build.gradle?ref=sha", "contents_java_basic_buildfile.json")
224219
stub_no_content_request("included/app/gradle.lockfile?ref=sha")
225-
# Stub wrapper files for included as missing
226-
stub_no_content_request("included/gradle/wrapper?ref=sha")
227-
stub_no_content_request("included/gradlew?ref=sha")
228-
stub_no_content_request("included/gradlew.bat?ref=sha")
220+
stub_no_wrapper_files("included/")
229221
end
230222

231223
it "fetches all buildfiles" do
@@ -261,13 +253,8 @@ def stub_no_content_request(path)
261253
stub_content_request("included2/settings.gradle?ref=sha", "contents_java_simple_settings.json")
262254
stub_content_request("included2/app/build.gradle?ref=sha", "contents_java_basic_buildfile.json")
263255
stub_no_content_request("included2/app/gradle.lockfile?ref=sha")
264-
# Stub wrapper files for included builds as missing
265-
stub_no_content_request("included/gradle/wrapper?ref=sha")
266-
stub_no_content_request("included/gradlew?ref=sha")
267-
stub_no_content_request("included/gradlew.bat?ref=sha")
268-
stub_no_content_request("included2/gradle/wrapper?ref=sha")
269-
stub_no_content_request("included2/gradlew?ref=sha")
270-
stub_no_content_request("included2/gradlew.bat?ref=sha")
256+
stub_no_wrapper_files("included/")
257+
stub_no_wrapper_files("included2/")
271258
end
272259

273260
it "fetches all buildfiles" do
@@ -316,19 +303,10 @@ def stub_no_content_request(path)
316303
"included/included/included/buildSrc/build.gradle?ref=sha",
317304
"contents_java_basic_buildfile.json"
318305
)
319-
# Stub wrapper files for all included builds as missing
320-
stub_no_content_request("included/gradle/wrapper?ref=sha")
321-
stub_no_content_request("included/gradlew?ref=sha")
322-
stub_no_content_request("included/gradlew.bat?ref=sha")
323-
stub_no_content_request("included/included/gradle/wrapper?ref=sha")
324-
stub_no_content_request("included/included/gradlew?ref=sha")
325-
stub_no_content_request("included/included/gradlew.bat?ref=sha")
326-
stub_no_content_request("included/included/included/gradle/wrapper?ref=sha")
327-
stub_no_content_request("included/included/included/gradlew?ref=sha")
328-
stub_no_content_request("included/included/included/gradlew.bat?ref=sha")
329-
stub_no_content_request("included/included/included/buildSrc/gradle/wrapper?ref=sha")
330-
stub_no_content_request("included/included/included/buildSrc/gradlew?ref=sha")
331-
stub_no_content_request("included/included/included/buildSrc/gradlew.bat?ref=sha")
306+
stub_no_wrapper_files("included/")
307+
stub_no_wrapper_files("included/included/")
308+
stub_no_wrapper_files("included/included/included/")
309+
stub_no_wrapper_files("included/included/included/buildSrc/")
332310
end
333311

334312
it "fetches all buildfiles transitively" do
@@ -361,10 +339,7 @@ def stub_no_content_request(path)
361339
stub_content_request("included/build.gradle?ref=sha", "contents_java_buildfile_with_script_plugins.json")
362340
stub_no_content_request("included/gradle.lockfile?ref=sha")
363341
stub_content_request("included/gradle/dependencies.gradle?ref=sha", "contents_java_simple_settings.json")
364-
# Stub wrapper files for included as missing
365-
stub_no_content_request("included/gradle/wrapper?ref=sha")
366-
stub_no_content_request("included/gradlew?ref=sha")
367-
stub_no_content_request("included/gradlew.bat?ref=sha")
342+
stub_no_wrapper_files("included/")
368343
end
369344

370345
it "fetches script plugin of main and included build" do
@@ -449,12 +424,7 @@ def stub_no_content_request(path)
449424
stub_content_request("?ref=sha", "contents_java.json")
450425
stub_content_request("build.gradle?ref=sha", "contents_java_buildfile_with_script_plugins.json")
451426
stub_content_request("gradle/dependencies.gradle?ref=sha", "contents_java_simple_settings.json")
452-
# Stub wrapper files as missing by default
453-
stub_no_content_request("gradle/wrapper?ref=sha")
454-
stub_no_content_request("gradlew?ref=sha")
455-
stub_no_content_request("gradlew.bat?ref=sha")
456-
stub_no_content_request("gradle/wrapper/gradle-wrapper.jar?ref=sha")
457-
stub_no_content_request("gradle/wrapper/gradle-wrapper.properties?ref=sha")
427+
stub_no_wrapper_files
458428
end
459429

460430
it "fetches the buildfile and the dependencies script" do
@@ -504,12 +474,7 @@ def stub_no_content_request(path)
504474
body: "[]",
505475
headers: { "content-type" => "application/json" }
506476
)
507-
# Stub wrapper files as missing by default
508-
stub_no_content_request("gradle/wrapper?ref=sha")
509-
stub_no_content_request("gradlew?ref=sha")
510-
stub_no_content_request("gradlew.bat?ref=sha")
511-
stub_no_content_request("gradle/wrapper/gradle-wrapper.jar?ref=sha")
512-
stub_no_content_request("gradle/wrapper/gradle-wrapper.properties?ref=sha")
477+
stub_no_wrapper_files
513478
end
514479

515480
it "raises dependency file not found" do

0 commit comments

Comments
 (0)