1 package org.apache.maven.continuum.project.builder.maven;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.continuum.AbstractContinuumTest;
23 import org.apache.maven.continuum.builddefinition.BuildDefinitionService;
24 import org.apache.maven.continuum.execution.ContinuumBuildExecutorConstants;
25 import org.apache.maven.continuum.model.project.BuildDefinition;
26 import org.apache.maven.continuum.model.project.BuildDefinitionTemplate;
27 import org.apache.maven.continuum.model.project.Project;
28 import org.apache.maven.continuum.model.project.ProjectNotifier;
29 import org.apache.maven.continuum.project.builder.ContinuumProjectBuilder;
30 import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
31
32
33
34
35
36 public class MavenOneContinuumProjectBuilderTest
37 extends AbstractContinuumTest
38 {
39 public void testBuildingAProjectFromMetadataWithACompleteMaven1Pom()
40 throws Exception
41 {
42 ContinuumProjectBuilder projectBuilder =
43 (ContinuumProjectBuilder) lookup( ContinuumProjectBuilder.ROLE, MavenOneContinuumProjectBuilder.ID );
44
45 BuildDefinition bd = new BuildDefinition();
46
47 bd.setDefaultForProject( true );
48
49 bd.setGoals( "clean:clean jar:install" );
50
51 bd.setBuildFile( "project.xml" );
52
53 bd.setType( ContinuumBuildExecutorConstants.MAVEN_ONE_BUILD_EXECUTOR );
54
55 bd.setTemplate( true );
56
57 BuildDefinitionService service = (BuildDefinitionService) lookup( BuildDefinitionService.class );
58
59 BuildDefinitionTemplate bdt = new BuildDefinitionTemplate();
60 bdt.setName( "maven1" );
61 bd = service.addBuildDefinition( bd );
62 bdt = service.addBuildDefinitionTemplate( bdt );
63 bdt = service.addBuildDefinitionInTemplate( bdt, bd, false );
64
65 ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata(
66 getTestFile( "src/test/resources/projects/maven-1.pom.xml" ).toURL(), null, null, false, bdt );
67
68 assertOnResult( result );
69
70 }
71
72 public void testBuildingAProjectFromMetadataWithACompleteMaven1PomWithDefaultBuildDef()
73 throws Exception
74 {
75 ContinuumProjectBuilder projectBuilder =
76 (ContinuumProjectBuilder) lookup( ContinuumProjectBuilder.ROLE, MavenOneContinuumProjectBuilder.ID );
77
78 BuildDefinitionService service = (BuildDefinitionService) lookup( BuildDefinitionService.class );
79
80 ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata(
81 getTestFile( "src/test/resources/projects/maven-1.pom.xml" ).toURL(), null, null, false,
82 service.getDefaultMavenOneBuildDefinitionTemplate() );
83
84 assertOnResult( result );
85
86 }
87
88 protected void assertOnResult( ContinuumProjectBuildingResult result )
89 {
90 assertNotNull( result.getErrors() );
91
92 assertNotNull( result.getProjects() );
93
94 for ( String error : result.getErrors() )
95 {
96 System.err.println( error );
97 }
98
99 assertEquals( "result.warning.length", 0, result.getErrors().size() );
100
101 assertEquals( "result.projects.length", 1, result.getProjects().size() );
102
103 Project project = result.getProjects().get( 0 );
104
105 assertNotNull( project );
106
107 assertEquals( "Maven", project.getName() );
108
109 assertEquals( "Java Project Management Tools", project.getDescription() );
110
111 assertEquals( "scm:svn:http://svn.apache.org/repos/asf:maven/maven-1/core/trunk/", project.getScmUrl() );
112
113 ProjectNotifier notifier = (ProjectNotifier) project.getNotifiers().get( 0 );
114
115 assertEquals( "mail", notifier.getType() );
116
117 assertEquals( "dev@maven.apache.org", notifier.getConfiguration().get( "address" ) );
118
119 assertEquals( "1.1-SNAPSHOT", project.getVersion() );
120 }
121 }