@@ -146,7 +146,7 @@ public DependencyUpdateResult updateDependencies(
146146 }
147147
148148 @ Override
149- public Collection <DependencyGAV > getAllDependencies (Path projectDir , Path file ) {
149+ public Collection <DependencyGAV > getAllDependencies (final Path projectDir , final Path file ) {
150150 return List .of ();
151151 }
152152 }
@@ -158,7 +158,41 @@ void it_generates_single_codemod_codetf() {
158158
159159 // should have just 1 entry because we only scanned javaFile1
160160 List <CodeTFChangesetEntry > changeset = result .getChangeset ();
161- assertThat (changeset .size ()).isEqualTo (1 );
161+ assertThat (changeset ).hasSize (1 );
162+ assertThat (changeset .get (0 )).satisfies (DefaultCodemodExecutorTest ::isJavaFile1ChangedCorrectly );
163+ }
164+
165+ @ Test
166+ void it_works_despite_fail_prefetching_all_deps () {
167+ FakeDepsProvider depsProvider =
168+ new FakeDepsProvider () {
169+ @ Override
170+ public Collection <DependencyGAV > getAllDependencies (
171+ final Path projectDir , final Path file ) {
172+ throw new RuntimeException ("failed to prefetch deps" );
173+ }
174+ };
175+
176+ executor =
177+ new DefaultCodemodExecutor (
178+ repoDir ,
179+ includesEverything ,
180+ beforeAfterCodemod ,
181+ List .of (depsProvider ),
182+ List .of (),
183+ fileCache ,
184+ javaParserFacade ,
185+ encodingDetector ,
186+ -1 ,
187+ -1 ,
188+ -1 );
189+
190+ CodeTFResult result = executor .execute (List .of (javaFile1 ));
191+ assertThat (result ).satisfies (DefaultCodemodExecutorTest ::hasBeforeAfterCodemodMetadata );
192+
193+ // should have just 1 entry because we only scanned javaFile1
194+ List <CodeTFChangesetEntry > changeset = result .getChangeset ();
195+ assertThat (changeset ).hasSize (1 );
162196 assertThat (changeset .get (0 )).satisfies (DefaultCodemodExecutorTest ::isJavaFile1ChangedCorrectly );
163197 }
164198
@@ -241,7 +275,7 @@ public CodeTFChange onChangeCreated(
241275
242276 // confirm the change was updated by the provider
243277 List <CodeTFChangesetEntry > changeset = result .getChangeset ();
244- assertThat (changeset . size ()). isEqualTo (1 );
278+ assertThat (changeset ). hasSize (1 );
245279 CodeTFChangesetEntry entry = changeset .get (0 );
246280 assertThat (entry .getChanges ().get (0 ).getDescription ()).isEqualTo ("hi " + javaFile1 .toString ());
247281 assertThat (entry .getChanges ().get (0 ).getProperties ()).hasSize (1 );
@@ -256,7 +290,7 @@ void it_generates_all_files_codemod_codetf() {
256290
257291 // should have 2 entries for both javaFile1 and javaFile3
258292 List <CodeTFChangesetEntry > changeset = result .getChangeset ();
259- assertThat (changeset . size ()). isEqualTo (2 );
293+ assertThat (changeset ). hasSize (2 );
260294 assertThat (changeset .get (0 )).satisfies (DefaultCodemodExecutorTest ::isJavaFile1ChangedCorrectly );
261295 assertThat (changeset .get (1 )).satisfies (DefaultCodemodExecutorTest ::isJavaFile3ChangedCorrectly );
262296 }
0 commit comments