NAME
bobby_tables3.pl
VERSION
version v4.1.1
Using Test::Chado with postgresql backend
The backend database for Test::Chado could be easily switched to postgresql by setting command line parameters. Test::Chado provides few options for postgresql testing.
Existing postgresql server
The server should be or needs the following basic setup
A new or existing database, either way Test::Chado works fine.
The connecting user should have priviledge to create and delete a postgresql schema schema.
The connecting user should be able to create, select, alter, delete, update on that database.
Overall, it's recommend to use a separate database and user to perform unit tests. However, if not possible, just tweak the existing user.
Running tests
It is done by setting the following environmental variables ...
TC_DSN: It is identical to perl DBI option, should look like dbi:Pg:dbname=mydb;host=myhost;port=myport
TC_USER: The username for connecting.
TC_PASS: The password for authentication, if any.
Then run the usual way
TC_DSN="dbi:Pg:dbname=mydb;host=myhost;port=myport" TC_USER=myuser TC_PASS=mypass prove t/test_chado.t
TC_DSN="dbi:Pg:dbname=mydb;host=myhost;port=myport" TC_USER=myuser TC_PASS=mypass ./Build test
TC_DSN="dbi:Pg:dbname=mydb;host=myhost;port=myport" TC_USER=myuser TC_PASS=mypass make test
Third party services
Using third party service takes care of the setup part completely. In this case, only client softwares(libpq and DBD::Pg) needs to be installed.
Heroku postgresql
Heroku provides free postgresql databases for development that could be easily used with Test::Chado. To get started, just create an account from the above page, then create a postgresql database and feed the credential information to Test::Chado for testing. In fact the test suite of Test::Chado itself is throughly tested with heroku postgresql.
Run tests the usual way, no extra setup is neccessary ....
TC_DSN="dbi:Pg:dbname=mydb;host=myhost;port=myport" TC_USER=herokuuser TC_PASS=herokupass prove t/test_chado.t
TC_DSN="dbi:Pg:dbname=mydb;host=myhost;port=myport" TC_USER=herokuuser TC_PASS=herokupass ./Build test
TC_DSN="dbi:Pg:dbname=mydb;host=myhost;port=myport" TC_USER=herokuuser TC_PASS=herokupass make test
Postgression
Postgression provides free postgresql datbase instance only for unit testing. Hitting each instance of their api creates a new postgresql database which stays available for next half an hour(30 mins). They have a limit of 100 databases/per hour/per IP. The provided time and database instances should be more than enough to finish a good unit testing suite. Running unit tests is even easier, no database credential needs to be passed, Test::Chado takes care of it.
TC_POSGRESSION=1 prove t/test_chado.t
TC_POSGRESSION=1 ./Build test
TC_POSGRESSION=1 make test
AUTHOR
Siddhartha Basu <biosidd@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Siddhartha Basu.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.