1 package org.apache.torque.mojo;
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
24 import org.apache.maven.artifact.repository.ArtifactRepository;
25 import org.apache.maven.artifact.repository.DefaultArtifactRepository;
26 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
27 import org.apache.maven.project.MavenProject;
28 import org.apache.maven.project.MavenProjectBuilder;
29 import org.apache.torque.mojo.OMMojo;
30 import org.codehaus.plexus.PlexusTestCase;
31
32
33
34
35
36
37
38 public class TorqueOMMojoTest
39 extends PlexusTestCase
40 {
41
42
43
44
45
46 public void testExecute()
47 throws Exception
48 {
49 System.out.println ("execute");
50
51 MavenProjectBuilder builder
52 = (MavenProjectBuilder) lookup(MavenProjectBuilder.ROLE);
53
54 ArtifactRepositoryLayout localRepositoryLayout
55 = (ArtifactRepositoryLayout) lookup(
56 ArtifactRepositoryLayout.ROLE,
57 "default");
58
59 ArtifactRepository localRepository
60 = new DefaultArtifactRepository(
61 "local",
62 "file://" + getBasedir() + File.separator
63 + "target/test-classes/repository",
64 localRepositoryLayout);
65
66 MavenProject mavenProject = builder.buildWithDependencies(
67 new File(
68 getBasedir(),
69 "target/test-classes/projects/TorqueOMMojoTest/pom.xml"),
70 localRepository,
71 null);
72
73 OMMojo instance = new OMMojo();
74
75 instance.setProject(mavenProject);
76
77 instance.setOutputDir(
78 mavenProject.getBuild().getSourceDirectory());
79
80 instance.setContextPropertiesPath(
81 mavenProject.getBuild().getDirectory()
82 + "/torque/context.om.properties");
83
84 instance.setBaseOutputDir(
85 mavenProject.getBuild().getDirectory()
86 + "/generated-sources/torque");
87
88
89 instance.setSchemaDir(
90 mavenProject.getBasedir() + "/src/main/torque/schema");
91
92 instance.setUseClasspath(true);
93
94 instance.setBasePrefix("Base");
95
96 instance.setSubpackageMap("map");
97
98 instance.setTargetPackage("org.apache.torque.mojo.test");
99
100 instance.setSchemaIncludes("*schema.xml");
101
102 instance.setSchemaExcludes("id-table-schema.xml");
103
104 instance.setReportFile("../../../target/torque/torque."
105 + mavenProject.getArtifact().getArtifactId()
106 + "."
107 + "om.generation");
108
109 instance.setBaseReportFile("../../torque/torque."
110 + mavenProject.getArtifact().getArtifactId()
111 + "."
112 + "om.base.generation");
113
114 instance.execute();
115
116 String generatedSourcesBasePackageDir
117 = "generated-sources/torque/org/apache/torque/mojo/test/";
118
119 String generatedSourcesPackageDir
120 = "src/main/java/org/apache/torque/mojo/test/";
121
122 assertTrue(
123 "BaseTestTable1.java must exist",
124 new File(
125 mavenProject.getBuild().getDirectory(),
126 generatedSourcesBasePackageDir + "BaseTestTable1.java")
127 .exists());
128
129 assertTrue(
130 "BaseTestTable2.java must exist",
131 new File(
132 mavenProject.getBuild().getDirectory(),
133 generatedSourcesBasePackageDir + "BaseTestTable2.java")
134 .exists());
135
136 assertTrue(
137 "BaseTestTable1Peer.java must exist",
138 new File(
139 mavenProject.getBuild().getDirectory(),
140 generatedSourcesBasePackageDir + "BaseTestTable1Peer.java")
141 .exists());
142
143 assertTrue(
144 "BaseTestTable2Peer.java must exist",
145 new File(
146 mavenProject.getBuild().getDirectory(),
147 generatedSourcesBasePackageDir + "BaseTestTable2Peer.java")
148 .exists());
149
150 assertTrue(
151 "TestTable1.java must exist",
152 new File(
153 mavenProject.getBasedir(),
154 generatedSourcesPackageDir + "TestTable1.java")
155 .exists());
156
157 assertTrue(
158 "TestTable2.java must exist",
159 new File(
160 mavenProject.getBasedir(),
161 generatedSourcesPackageDir + "TestTable2.java")
162 .exists());
163
164 assertTrue(
165 "TestTable1Peer.java must exist",
166 new File(
167 mavenProject.getBasedir(),
168 generatedSourcesPackageDir + "TestTable1Peer.java")
169 .exists());
170
171 assertTrue(
172 "TestTable2Peer.java must exist",
173 new File(
174 mavenProject.getBasedir(),
175 generatedSourcesPackageDir + "TestTable2Peer.java")
176 .exists());
177
178 assertTrue(
179 "TestTable1MapBuilder.java must exist",
180 new File(
181 mavenProject.getBuild().getDirectory(),
182 generatedSourcesBasePackageDir
183 + "map/TestTable1MapBuilder.java")
184 .exists());
185
186 assertTrue(
187 "TestTable2MapBuilder.java must exist",
188 new File(
189 mavenProject.getBuild ().getDirectory(),
190 generatedSourcesBasePackageDir
191 + "map/TestTable2MapBuilder.java")
192 .exists());
193
194 assertTrue(
195 "Project does not contain "
196 + mavenProject.getBuild().getDirectory()
197 + "/generated-sources/torque"
198 + " as compile source",
199 mavenProject.getCompileSourceRoots().contains(
200 mavenProject.getBuild ().getDirectory()
201 + "/generated-sources/torque"));
202 }
203 }