70475576a3a2b506028e32195df48ea5455ede53
[cdmlib.git] / cdmlib-test / src / main / resources / unitils.properties
1 #
2 # NOTE: this is the unitils.properties file for the cdmlib-persistence module
3 # a separate unitils.properties exists for cdmlib-io and for cdmlib-services
4 #
5 #
6 # the list of all properties is found in
7 # http://unitils.org/unitils-default.properties
8 #
9
10 ### Unitils Modules ###
11 # List of modules that is loaded. Overloading this list is normally not useful, unless you want to add a custom
12 # module. Disabling a module can be performed by setting unitils.module.<modulename>.enabled to false.
13 # If a module's specific dependencies are not found (e.g. hibernate is not in you classpath), this module is not loaded,
14 # even if it is in this list and the enabled property is set to true. It's therefore not strictly necessary to disable
15 # any of these modules.
16 #DEFAULT: unitils.modules=database,dbunit,hibernate,mock,easymock,inject,spring,jpa
17 unitils.module.easymock.enabled=false
18 unitils.module.mock.enabled=false
19
20
21 ### Database ###
22 #
23 # Name or path of the user specific properties file. This file should contain the necessary parameters to connect to the
24 # developer's own unit test schema. It is recommended to override the name of this file in the project specific properties
25 # file, to include the name of the project. The system will try to find this file in the classpath, the user home folder
26 # (recommended) or the local filesystem.
27 #
28 unitils.configuration.localFileName=unitils-cdmlib-local.properties
29 #
30 updateDataBaseSchema.enabled=true
31 #
32 dataSetStructureGenerator.xsd.dirName=src/test/resources/eu/etaxonomy/cdm/database/schema
33 #
34 # Fully qualified name of the implementation of org.unitils.dbmaintainer.maintainer.script.ScriptSource that is used.
35 # The default value is 'org.unitils.dbmaintainer.maintainer.script.FileScriptSource', which will retrieve the scripts
36 # from the local file system.
37 org.unitils.dbmaintainer.script.ScriptSource.implClassName=org.unitils.dbmaintainer.script.impl.ResourceScriptSource
38
39 dbMaintainer.script.locations=dbscripts
40 #dbMaintainer.script.locations=src/test/resources/dbscripts - requires ScriptSource.implClassName=...DefaultScriptSource
41
42 dbMaintainer.dbVersionSource.autoCreateVersionTable=true
43
44 dbMaintainer.autoCreateExecutedScriptsTable=true
45
46 #
47 # default database configurations for HSQL, H2 and MYSQL:
48 #
49
50 # HSQL #
51 #
52 # NOTE: hsqldb v. <1.9 has a bug (http://sourceforge.net/tracker/?func=detail&atid=378131&aid=1407528&group_id=23316)
53 # due to which it is not possible to use batch updates, so we need to disable hibernate batching when using
54 # hsqldb in the app context:
55 #
56 #database.driverClassName=org.hsqldb.jdbcDriver
57 #database.url=jdbc:hsqldb:mem:cdm
58 ##database.url=jdbc:hsqldb:file:/home/andreas/.hsqldb/cdm;hsqldb.default_table_type=cached
59 #database.dialect=hsqldb
60 #dbMaintainer.script.fileExtensions=hsqldb.ddl
61 #database.userName=sa
62 #database.password=
63 #database.schemaNames=PUBLIC
64 #org.dbunit.dataset.datatype.IDataTypeFactory.implClassName.hsqldb=org.dbunit.ext.hsqldb.HsqldbDataTypeFactory
65
66 # H2 #
67 #
68 database.driverClassName=org.h2.Driver
69 # -----------------------------------------
70 # memory based db - default
71 database.url=jdbc:h2:mem:cdm
72 # server based h2 - to be used with -Dh2Server as jvm argument, see CdmIntegrationTest.startH2Server()
73 #database.url= jdbc:h2:tcp://localhost/~/cdm
74 # file based -
75 #database.url=jdbc:h2:file:~/.h2/cdm
76 # -----------------------------------------
77 database.dialect=h2
78 dbMaintainer.script.fileExtensions=h2.sql
79 database.userName=sa
80 database.password=
81 database.schemaNames=PUBLIC
82 org.dbunit.dataset.datatype.IDataTypeFactory.implClassName.h2=org.dbunit.ext.h2.H2DataTypeFactory
83 #org.dbunit.dataset.datatype.IDataTypeFactory.implClassName=org.dbunit.ext.h2.H2DataTypeFactory
84 #maybe we can replace this by org.unitils.core.dbsupport.H2DbSupport
85 org.unitils.core.dbsupport.DbSupport.implClassName.h2=eu.etaxonomy.cdm.database.H2DbSupport
86 database.storedIndentifierCase.h2=auto
87 database.identifierQuoteString.h2=auto
88
89 #
90 # MySQL #
91 # cannot be used
92 # 1. you need another ddl or sql file to generate the schema
93 # 2. our DataSet xml files and the dataset.dtd contain upper-case table names like
94 # 'TERMVOCABULARY_REPRESENTATION_AUD' but hibernate expects CamelCase with mysql !!!!
95 # maybe we can workaround this by implementing a custom EJB3NamingStrategy like
96 # UppercaseTableNamingStrategy it must be set in the persitence.xml which returns table names
97 # always in uppercase, but this again causes problems with the @Tabel annotations which must
98 # exactly match the table names in the database. This means in order to use mysql for tests we would
99 # have to change the table names in all of our DataSet files.
100 #
101 #database.driverClassName=com.mysql.cj.jdbc.Driver
102 #database.url=jdbc:mysql://127.0.0.1:3306/test
103 #database.userName=edit
104 #database.password=wp5
105 #database.dialect=mysql
106 #database.schemaNames=test
107 #dbMaintainer.script.fileExtensions=mysql.sql
108 #org.dbmaintain.dbsupport.DbSupport.implClassName.mysql=org.dbmaintain.dbsupport.impl.MySqlDbSupport
109 #org.dbunit.dataset.datatype.IDataTypeFactory.implClassName.mysqldb=org.dbunit.ext.mysql.MySqlDataTypeFactory
110
111
112 #### Transaction mode ###
113 #
114 # If set to commit or rollback, each test is run in a transaction,
115 # which is committed or rolled back after the test is finished.
116 # Since we have many tests with incomplete data these tests would be
117 # failing during commit so it is better use rollback as default
118 # and set commit for individual test where necessary
119 DatabaseModule.Transactional.value.default=rollback
120
121 # org.unitils.database.transaction.impl.DefaultUnitilsTransactionManager is used by default:
122 #
123 # Implements transactions for unit tests, by delegating to a spring PlatformTransactionManager.
124 # The concrete implementation of PlatformTransactionManager that is used depends on the test class.
125 # If a custom PlatformTransactionManager was configured in a spring ApplicationContext, this one is used.
126 # If not, a suitable subclass of PlatformTransactionManager is created, depending on the configuration
127 # of a test. E.g. if some ORM persistence unit was configured on the test, a PlatformTransactionManager
128 # that can offer transactional behavior for such a persistence unit is used.
129 # If no such configuration is found, a DataSourceTransactionManager is used.
130 #
131 # org.unitils.database.transaction.UnitilsTransactionManager.implClassName=org.unitils.database.transaction.impl.SpringTransactionManager
132
133 ### Hibernate ###
134 #
135 HibernateModule.configuration.implClassName=org.hibernate.cfg.Configuration
136
137 ## Same as defined in hibernate.cfg.xml.
138 hibernate.connection.provider_class=org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl
139
140 #Created for hibernate 5 support, not yet available in standard unitils
141 unitils.module.hibernate.className=org.unitils.orm.hibernate.Hibernate5Module
142
143 #Since Hibernate 5 (or earlier > 4.1.10) using the Proxy does not correctly release
144 #the connections to the pool after transaction finishes.
145 dataSource.wrapInTransactionalProxy=false