1 package org.apache.maven.continuum.execution.maven.m2;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23 import java.util.ArrayList;
24 import java.util.List;
25
26 import org.apache.maven.continuum.AbstractContinuumTest;
27 import org.apache.maven.continuum.execution.ContinuumBuildExecutor;
28 import org.apache.maven.continuum.model.project.BuildDefinition;
29 import org.apache.maven.continuum.model.project.Project;
30 import org.apache.maven.continuum.model.scm.ChangeFile;
31 import org.apache.maven.continuum.model.scm.ChangeSet;
32
33
34
35
36
37
38 public class MavenTwoBuildExecutorTest
39 extends AbstractContinuumTest
40 {
41
42
43 @Override
44 protected String getSpringConfigLocation()
45 {
46 return "applicationContextSlf4jPlexusLogger.xml";
47 }
48
49 public void testShouldNotBuildNonRecursive()
50 throws Exception
51 {
52 MavenTwoBuildExecutor executor = (MavenTwoBuildExecutor) lookup( ContinuumBuildExecutor.class, "maven2" );
53 BuildDefinition buildDefinition = new BuildDefinition();
54 buildDefinition.setArguments( "-N" );
55 Project continuumProject = new Project(){
56 {
57 setVersion( "1.0.3" );
58 }
59 };
60 assertFalse( executor.shouldBuild( new ArrayList<ChangeSet>(), continuumProject, new File( "target/test-classes/projects/continuum" ),
61 buildDefinition ) );
62 }
63
64 public void testShouldNotBuildNonRecursiveChangeInAModule()
65 throws Exception
66 {
67 MavenTwoBuildExecutor executor = (MavenTwoBuildExecutor) lookup( ContinuumBuildExecutor.class, "maven2" );
68 BuildDefinition buildDefinition = new BuildDefinition();
69 buildDefinition.setArguments( "-N -Dfoo=bar" );
70 Project continuumProject = new Project()
71 {
72 {
73 setVersion( "1.0.3" );
74 }
75 };
76 final ChangeFile changeFile = new ChangeFile();
77 changeFile.setName( "continuum-notifiers/pom.xml");
78 ChangeSet changeSet = new ChangeSet()
79 {
80 {
81 addFile( changeFile );
82 }
83 };
84 List<ChangeSet> changeSets = new ArrayList<ChangeSet>();
85 changeSets.add( changeSet );
86 assertFalse( executor.shouldBuild(changeSets , continuumProject,
87 new File( "target/test-classes/projects/continuum" ), buildDefinition ) );
88 }
89
90 public void testShouldBuildRecursiveChangeInAModule()
91 throws Exception
92 {
93 MavenTwoBuildExecutor executor = (MavenTwoBuildExecutor) lookup( ContinuumBuildExecutor.class, "maven2" );
94 BuildDefinition buildDefinition = new BuildDefinition();
95 buildDefinition.setArguments( "-Dfoo=bar" );
96 Project continuumProject = new Project()
97 {
98 {
99 setVersion( "1.0.3" );
100 }
101 };
102 final ChangeFile changeFile = new ChangeFile();
103 changeFile.setName( "continuum-notifiers/pom.xml" );
104 ChangeSet changeSet = new ChangeSet()
105 {
106 {
107 addFile( changeFile );
108 }
109 };
110 List<ChangeSet> changeSets = new ArrayList<ChangeSet>();
111 changeSets.add( changeSet );
112 assertTrue( executor.shouldBuild( changeSets, continuumProject,
113 new File( "target/test-classes/projects/continuum" ), buildDefinition ) );
114 }
115 }