}
public void testCheckoutPrepareBuildMultiModuleProjectFreshBuild()
throws Exception
{
PrepareBuildProjectsTask task = createTask( "src/test-projects/multi-module/pom.xml", false, true );
List<Project> projects = getProjectDao().getProjectsInGroup( task.getProjectGroupId() );
assertEquals( "failed to add all projects", 4, projects.size() );
Project rootProject = getProjectDao().getProjectByName( "multi-module-parent" );
Project moduleA = getProjectDao().getProjectByName( "module-A" );
Project moduleB = getProjectDao().getProjectByName( "module-B" );
Project moduleD = getProjectDao().getProjectByName( "module-D" );
buildsManager.prepareBuildProjects( task.getProjectsBuildDefinitionsMap(), task.getBuildTrigger(),
task.getProjectGroupId(), task.getProjectGroupName(),
task.getScmRootAddress(), task.getProjectScmRootId() );
// wait while task finishes prepare build
waitForPrepareBuildToFinish( task.getProjectGroupId(), task.getProjectScmRootId() );
ProjectScmRoot scmRoot = projectScmRootDao.getProjectScmRoot( task.getProjectScmRootId() );
assertEquals( "Failed to update multi-module project", ContinuumProjectState.UPDATED, scmRoot.getState() );
File workingDir = configurationService.getWorkingDirectory();
assertTrue( "checkout directory of project 'multi-module-parent' does not exist.", new File( workingDir,