1,234
edits
Changes
no edit summary
By default, NexJ Express Unit tests are configured to test the MySQL Adapter.<br>
''For this manual, reference will be made to the PostgreSQL Adapter but it will work the same for other adapters''<br>
The following will configure the unit tests to run for [DbName]SQLAdapter and [DbName]SQLSchemaManager
These files are located in the ''test'' source folder in the package <code>nexj</code>
## Change all occurrences of <code>port="3306"</code> to the port on which the new DbName is configured to accept connections
##: For the PostgreSQL Adapter, the following configuration is used
<source lang="xml">
<DataSourceConnections>
</DataSourceConnections>
</source>
#Create a connections file for the new adapter
## Create the file '''[DbName].connections''' in the <code>nexj</code> package in the ''test'' source folder
## Change all occurrences of <code>port="3306"</code> to the port on which the new DbName is configured to accept connections
##: For the PostgreSQL Adapter, the following configuration is used
<source lang="xml">
<DataSourceConnections>
</source>
These scripts are used to:
* Drop test tables that the unit tests create
## '''dbname_drop.sql'''
##* Copy and paste the contents of <code>mysql_drop.sql</code> into the new file
##: For exampe, for the PostgreSQL Adapter (9.0), modify the values for binary literals into postgresql's binary literal by changing
##: <code>0x00000000000000000000000000000001</code> to <code>E'\\x00000000000000000000000000000001'</code>
## '''dbname_upd_addr.sql'''
##* Copy and paste the contents of <code>mysql_upd_addr.sql</code> into the new file
##* Modify the script to conform to the sql syntax for the new database
## '''dbname_upd_cont.sql'''
##* Copy and paste the contents of <code>mysql_upd_cont.sql</code> into the new file
##* Modify the script to conform to the sql syntax for the new database
## '''dbname_setup.sql'''
##:This script is used to:###Create the <code>test</code> user with the following permissions:#### Username: test#### Password: test####Full privileges for the test database####Remote loginLogin permission###Create the <code>test</code> database with the follow specifications:####NameDatabase name: test####Encoding: utf-8 / unicode####(*Optional) Schema Name: test === SQL Test Suite ===The following will add the new unittests to the SQL test suite#Edit the file <code>nexj.core.persistence.sql.AllTests.java</code> and add an entry for the new SQL adapter#:For the PostgreSQL Adapter the following is added<source lang="java">public static Test suite() { SQLTestSuite suite = Unit new SQLTestSuite("Test Files for nexj.core.persistence.sql"); suite.addTestSuite(SQLWriterConnectionTest.class); ... suite.addSQLTests("nexj.core.persistence.sql.PostgreSQLAdapterTest", "nexj.core.persistence.sql.PostgreSQLSchemaManagerTest"); return suite; }</source> ===Run Unit Tests===# '''Create the test database'''#: Run the <code>dbname_setup.sql</code> script that was created above to create the test database and user# Run the unit tests using Eclipse's junit test runner