@Test
  public void testSyncMapTask_withSkaffoldConfig() throws IOException {
    Path projectRoot = skaffoldProject.getProjectRoot();
    SkaffoldSyncMapTemplate parsed = generateTemplate(skaffoldProject, null, null);

    List<FileTemplate> generated = parsed.getGenerated();
    Assert.assertEquals(2, generated.size());
    assertFilePaths(
        projectRoot.resolve("build/resources/main/world"),
        AbsoluteUnixPath.get("/app/resources/world"),
        generated.get(0));
    assertFilePaths(
        projectRoot.resolve("build/classes/java/main/com/test2/GoodbyeWorld.class"),
        AbsoluteUnixPath.get("/app/classes/com/test2/GoodbyeWorld.class"),
        generated.get(1));
    // classes/java/main/com/test is ignored

    List<FileTemplate> direct = parsed.getDirect();
    Assert.assertEquals(1, direct.size());
    assertFilePaths(
        projectRoot.resolve("src/main/jib/bar/cat"),
        AbsoluteUnixPath.get("/bar/cat"),
        direct.get(0));
    // src/main/custom-extra-dir/foo is ignored
  }
Verifies that the sync map task succeeded and returns the parsed json.

@param project the project to run the task on
@param moduleName the name of the sub-project, or {@code null} if no sub-project
@param params extra gradle cli params to use during the build
@return the list of paths printed by the task
@throws IOException if the json parser fails
jib-gradle-plugin/src/test/java/com/google/cloud/tools/jib/gradle/skaffold/SyncMapTaskTest.java