Skip to content

Commit 499b082

Browse files
committed
HBX-3113: Add support to Gradle for a reveng.xml
- Add a test to guard the behaviour of the 'revengFile' configuration Signed-off-by: Koen Aers <[email protected]>
1 parent 083e2bf commit 499b082

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package org.hibernate.tool.gradle;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
import static org.junit.jupiter.api.Assertions.assertTrue;
5+
6+
import java.io.File;
7+
import java.nio.file.Files;
8+
9+
import org.junit.jupiter.api.BeforeEach;
10+
import org.junit.jupiter.api.Test;
11+
12+
import org.hibernate.tool.it.gradle.TestTemplate;
13+
14+
public class RevengFileTest extends TestTemplate {
15+
16+
@BeforeEach
17+
public void beforeEach() throws Exception {
18+
setGradleTaskToPerform("generateJava");
19+
setDatabaseCreationScript(new String[] {
20+
"create table ALL_PERSONS (ID int not null, NAME varchar(20), primary key (ID))"
21+
});
22+
}
23+
24+
@Test
25+
public void testTutorial() throws Exception {
26+
setHibernateToolsExtensionSection(
27+
"hibernateTools { \n" +
28+
" revengFile = 'foo.reveng.xml' \n" +
29+
"}"
30+
);
31+
createProjectAndExecuteGradleCommand();
32+
File generatedOutputFolder = new File(getProjectDir(), "app/generated-sources");
33+
assertTrue(generatedOutputFolder.exists());
34+
assertTrue(generatedOutputFolder.isDirectory());
35+
assertEquals(1, generatedOutputFolder.list().length);
36+
File generatedPersonJavaFile = new File(generatedOutputFolder, "Person.java");
37+
assertTrue(generatedPersonJavaFile.exists());
38+
assertTrue(generatedPersonJavaFile.isFile());
39+
}
40+
41+
protected void createProject() throws Exception {
42+
super.createProject();
43+
createRevengFile();
44+
}
45+
46+
private void createRevengFile() throws Exception {
47+
String revengXml =
48+
"<hibernate-reverse-engineering>\n" +
49+
" <table name=\"ALL_PERSONS\" class=\"Person\" />" +
50+
"</hibernate-reverse-engineering>";
51+
File resourcesFolder = new File(getProjectDir(), "app/src/main/resources");
52+
resourcesFolder.mkdirs();
53+
Files.writeString(new File(resourcesFolder, "foo.reveng.xml").toPath(), revengXml);
54+
}
55+
56+
}

0 commit comments

Comments
 (0)