@Test(dependsOnMethods = "javaEEToSpringBootTest")
public void springBootUpgradeTest() throws ExecutionException, InterruptedException {

    // The application to be modified is the result of javaEEToSpringBootTest
    File appFolder = new File("./out/test/resources/echo-transformed");
    Application application = new ApplicationImpl(appFolder);
    Configuration configuration = new ConfigurationImpl(null);
    UpgradePath upgradePath = new UpgradePath(SpringBootUpgrade_1_5_6_to_1_5_7.class);
    AbstractTransformationRequest transformation = new UpgradePathTransformationRequest(application, upgradePath, configuration);
    TransformationResult transformationResult = transformationEngine.perform(transformation).get();
    assertNotNull(transformationResult);
    assertTrue(transformationResult.isSuccessful());
    assertEquals(transformationResult.getTransformationRequest().getConfiguration(), configuration);
    assertFalse(transformationResult.hasManualInstructions());
    assertNull(transformationResult.getManualInstructionsFile());
    assertEquals(transformationResult.getTransformedApplicationDir(), appFolder);
    assertNull(transformationResult.getAbortDetails());
    List<TransformationMetrics> metricsList = transformationResult.getMetrics();
    assertNotNull(metricsList);
    assertEquals(metricsList.size(), 1);
    TransformationMetrics metrics = metricsList.get(0);
    assertEquals(metrics.getFromVersion(), "1.5.6");
    assertEquals(metrics.getToVersion(), "1.5.7");
    TransformationStatistics statistics = metrics.getStatistics();
    assertEquals(statistics.getManualInstructionsCount(), 0);
    assertEquals(statistics.getPerformResultErrorCount(), 0);
    assertEquals(statistics.getPerformResultSkippedConditionCount(), 1);
    assertEquals(statistics.getPerformResultSkippedDependencyCount(), 0);
    assertEquals(statistics.getTOExecutionResultErrorCount(), 0);
    assertEquals(statistics.getTOExecutionResultWarningCount(), 0);
    assertEquals(statistics.getTUExecutionResultErrorCount(), 0);
    assertEquals(statistics.getTUExecutionResultWarningCount(), 0);
}