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 = (ContinuumProjectBuilder) lookup( ContinuumProjectBuilder.ROLE,
43 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( getTestFile(
66 "src/test/resources/projects/maven-1.pom.xml" ).toURL(), null, null, false, bdt, false );
67
68 assertOnResult( result );
69
70 }
71
72 public void testBuildingAProjectFromMetadataWithACompleteMaven1PomWithDefaultBuildDef()
73 throws Exception
74 {
75 ContinuumProjectBuilder projectBuilder = (ContinuumProjectBuilder) lookup( ContinuumProjectBuilder.ROLE,
76 MavenOneContinuumProjectBuilder.ID );
77
78 BuildDefinitionService service = (BuildDefinitionService) lookup( BuildDefinitionService.class );
79
80 ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata( getTestFile(
81 "src/test/resources/projects/maven-1.pom.xml" ).toURL(), null, null, false,
82 service.getDefaultMavenOneBuildDefinitionTemplate(),
83 false );
84
85 assertOnResult( result );
86
87 }
88
89 protected void assertOnResult( ContinuumProjectBuildingResult result )
90 {
91 assertNotNull( result.getErrors() );
92
93 assertNotNull( result.getProjects() );
94
95 for ( String error : result.getErrors() )
96 {
97 System.err.println( error );
98 }
99
100 assertEquals( "result.warning.length", 0, result.getErrors().size() );
101
102 assertEquals( "result.projects.length", 1, result.getProjects().size() );
103
104 Project project = result.getProjects().get( 0 );
105
106 assertNotNull( project );
107
108 assertEquals( "Maven", project.getName() );
109
110 assertEquals( "Java Project Management Tools", project.getDescription() );
111
112 assertEquals( "scm:svn:http://svn.apache.org/repos/asf:maven/maven-1/core/trunk/", project.getScmUrl() );
113
114 ProjectNotifier notifier = (ProjectNotifier) project.getNotifiers().get( 0 );
115
116 assertEquals( "mail", notifier.getType() );
117
118 assertEquals( "dev@maven.apache.org", notifier.getConfiguration().get( "address" ) );
119
120 assertEquals( "1.1-SNAPSHOT", project.getVersion() );
121 }
122 }