diff --git a/functional-test/pom.xml b/functional-test/pom.xml
index bd63b95f2a..72fe9bb5fe 100644
--- a/functional-test/pom.xml
+++ b/functional-test/pom.xml
@@ -28,17 +28,18 @@
zanata
- com.h2database
- h2
+ mysql
+ mysql-connector-java
- 1.3.168
+ 5.1.9
zanataDatasource
+ zanata_functional
- org.h2.Driver
- jdbc:h2:file:${project.build.directory}/h2/zanata;AUTO_SERVER=TRUE;
- sa
-
+ jdbc:mysql://localhost:${mysql.port}/${ds.database}?characterEncoding=UTF-8
+ com.mysql.jdbc.Driver
+ zanata
+ zanata
${project.parent.version}
@@ -322,6 +323,62 @@
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ maven-dependency-plugin
+
+
+ com.jcabi
+ jcabi-mysql-maven-plugin
+
+
+ org.codehaus.mojo
+ sql-maven-plugin
+
+
+
+ ${jdbc.groupId}
+ ${jdbc.artifactId}
+ ${jdbc.version}
+
+
+
+
+
+ ${ds.driver.class}
+ jdbc:mysql://localhost:${mysql.port}/test?characterEncoding=UTF-8
+ ${ds.username}
+ ${ds.password}
+
+
+
+
+ drop-database
+ pre-integration-test
+
+ execute
+
+
+ drop database if exists ${ds.database}
+ continue
+
+
+
+ create-database
+ pre-integration-test
+
+ execute
+
+
+ create database ${ds.database}
+
+
+
+
+
org.codehaus.cargo
cargo-maven2-plugin
@@ -358,7 +415,7 @@
war
${zanata.target.war}
http://${cargo.host}:${cargo.servlet.port}/${context.path}/
- 60000
+ 120000
${context.path}
@@ -410,6 +467,11 @@
${settings.localRepository}/org/hibernate/hibernate-envers/${hibernate.version}/hibernate-envers-${hibernate.version}.jar
${cargo.install.relative.to.container.home}/modules/system/layers/base/org/hibernate/envers/main/hibernate-envers-4.2.0.CR1.jar
+
+
+ ${settings.localRepository}/${jdbc.groupId}/${jdbc.artifactId}/${jdbc.version}/${jdbc.artifactId}-${jdbc.version}.jar
+ deployments/${jdbc.artifactId}.jar
+
@@ -560,7 +622,7 @@
true
- com.h2database:h2
+ mysql:mysql-connector-java
org.apache.solr:solr-core
org.apache.solr:solr-solrj
org.hibernate:hibernate-core
diff --git a/functional-test/src/test/java/org/zanata/util/EntityManagerFactoryHolder.java b/functional-test/src/test/java/org/zanata/util/EntityManagerFactoryHolder.java
index f855caf811..9637f942ce 100644
--- a/functional-test/src/test/java/org/zanata/util/EntityManagerFactoryHolder.java
+++ b/functional-test/src/test/java/org/zanata/util/EntityManagerFactoryHolder.java
@@ -24,6 +24,14 @@ private EntityManagerFactoryHolder() {
overrideProps
.put("hibernate.connection.provider_class",
"org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl");
+ overrideProps.put("hibernate.connection.driver_class",
+ "com.mysql.jdbc.Driver");
+ overrideProps.put("hibernate.connection.username",
+ PropertiesHolder.getProperty("hibernate.connection.username"));
+ overrideProps.put("hibernate.connection.password",
+ PropertiesHolder.getProperty("hibernate.connection.password"));
+ overrideProps.put("hibernate.dialect",
+ "org.zanata.util.ZanataMySQL5InnoDBDialect");
overrideProps.put("hibernate.connection.url",
PropertiesHolder.getProperty("hibernate.connection.url"));
overrideProps.put("hibernate.search.default.indexBase",
diff --git a/functional-test/src/test/java/org/zanata/util/SampleProjectProfile.java b/functional-test/src/test/java/org/zanata/util/SampleProjectProfile.java
index 9b7b984ea9..2b7cee9438 100644
--- a/functional-test/src/test/java/org/zanata/util/SampleProjectProfile.java
+++ b/functional-test/src/test/java/org/zanata/util/SampleProjectProfile.java
@@ -27,6 +27,7 @@
import org.zanata.model.HPerson;
import org.zanata.model.HProject;
import org.zanata.model.HProjectIteration;
+import org.zanata.model.HTermComment;
import org.zanata.model.HTextFlow;
import org.zanata.model.HTextFlowTarget;
import org.zanata.model.HTextFlowTargetHistory;
@@ -69,7 +70,7 @@ public void deleteExceptEssentialData() {
EntityCleaner.deleteAll(entityManager, Lists.newArrayList(
Activity.class,
// glossary
- HGlossaryEntry.class, HGlossaryTerm.class,
+ HTermComment.class, HGlossaryTerm.class, HGlossaryEntry.class,
// tex flows and targets
HPoTargetHeader.class, HTextFlowTargetHistory.class,
HTextFlowTarget.class, HTextFlow.class, HDocument.class,
diff --git a/functional-test/src/test/resources/datasource/zanata-ds.xml b/functional-test/src/test/resources/datasource/zanata-ds.xml
index 87fb17f510..0b747fbebc 100644
--- a/functional-test/src/test/resources/datasource/zanata-ds.xml
+++ b/functional-test/src/test/resources/datasource/zanata-ds.xml
@@ -11,10 +11,10 @@ See http://jaitechwriteups.blogspot.com/2012/02/jboss-as-710final-thunder-releas
enabled="true" use-java-context="true" pool-name="zanataDatasource"
use-ccm="true">
${ds.connection.url}
- h2
+ ${jdbc.artifactId}.jar
${ds.username}
-
+ ${ds.password}
diff --git a/functional-test/src/test/resources/setup.properties b/functional-test/src/test/resources/setup.properties
index dee54777a3..87609e10c4 100644
--- a/functional-test/src/test/resources/setup.properties
+++ b/functional-test/src/test/resources/setup.properties
@@ -12,5 +12,7 @@ zanata.sample.projects.basedir=${zanata.sample.projects.basedir}
zanata.apikey=${zanata.apikey}
#persistence.xml
-hibernate.connection.url=${ds.connection.url};DB_CLOSE_ON_EXIT=FALSE
+hibernate.connection.url=${ds.connection.url}
+hibernate.connection.username=${ds.username}
+hibernate.connection.password=${ds.password}
hibernate.search.default.indexBase=${hibernate.search.default.indexBase}
diff --git a/pom.xml b/pom.xml
index c7d2c122d0..a5db8b47fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,6 +53,10 @@
7.2.0.Final
+
+
+ linux-amd64
+ 13306
@@ -706,6 +710,73 @@
true
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ 1.8
+
+
+
+ reserve-network-port
+
+
+
+ mysql.port
+
+
+
+
+
+
+ maven-dependency-plugin
+ 2.8
+
+
+
+ unpack
+
+
+
+
+ com.jcabi
+ mysql-dist
+ 5.5.34
+ ${mysql.classifier}
+ zip
+ false
+ ${project.build.directory}/mysql-dist
+
+
+
+
+
+
+
+ com.jcabi
+ jcabi-mysql-maven-plugin
+ 0.3
+
+
+ mysql-test
+
+ classify
+ start
+ stop
+
+
+ mysql.classifier
+ ${mysql.port}
+ ${project.build.directory}/mdb
+
+
+
+
+
+ org.codehaus.mojo
+ sql-maven-plugin
+ 1.5
+