From d4951f431d3e7bf3e62a349a33ff7182385cf6ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Fri, 11 Mar 2011 12:40:13 +0000 Subject: [PATCH] #733215 : added tests --- querydsl-maven-plugin/pom.xml | 12 ++++- .../query/maven/MetadataExportMojoTest.java | 44 +++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 querydsl-maven-plugin/src/test/java/com/mysema/query/maven/MetadataExportMojoTest.java diff --git a/querydsl-maven-plugin/pom.xml b/querydsl-maven-plugin/pom.xml index 18452efa4..30a516c75 100644 --- a/querydsl-maven-plugin/pom.xml +++ b/querydsl-maven-plugin/pom.xml @@ -46,7 +46,17 @@ org.slf4j slf4j-log4j12 1.6.1 - + + + + + + com.h2database + h2 + 1.2.133 + test + + diff --git a/querydsl-maven-plugin/src/test/java/com/mysema/query/maven/MetadataExportMojoTest.java b/querydsl-maven-plugin/src/test/java/com/mysema/query/maven/MetadataExportMojoTest.java new file mode 100644 index 000000000..64ef223f8 --- /dev/null +++ b/querydsl-maven-plugin/src/test/java/com/mysema/query/maven/MetadataExportMojoTest.java @@ -0,0 +1,44 @@ +package com.mysema.query.maven; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.File; +import java.lang.reflect.Field; +import java.util.Collections; + +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.project.MavenProject; +import org.junit.Test; + +public class MetadataExportMojoTest { + + private final String url = "jdbc:h2:mem:testdb" + System.currentTimeMillis(); + + @Test + public void Execute() throws SecurityException, NoSuchFieldException, IllegalAccessException, MojoExecutionException, MojoFailureException { + MavenProject project = new MavenProject(); + MetadataExportMojo mojo = new MetadataExportMojo(); + set(mojo, "project", project); + set(mojo, "jdbcDriver", "org.h2.Driver"); + set(mojo, "jdbcUrl", url); + set(mojo, "jdbcUser", "sa"); + set(mojo, "namePrefix", "Q"); // default value + set(mojo, "packageName", "com.example"); + set(mojo, "targetFolder", "target/export"); + + mojo.execute(); + + assertEquals(Collections.singletonList("target/export"), project.getCompileSourceRoots()); + assertTrue(new File("target/export").exists()); + + } + + private void set(Object obj, String fieldName, Object value) throws SecurityException, NoSuchFieldException, IllegalAccessException{ + Field field = AbstractMetaDataExportMojo.class.getDeclaredField(fieldName); + field.setAccessible(true); + field.set(obj, value); + } + +}