Testing

You should be careful when running the test suite. Default behavior for Django is to take your database configuration (which you defined in project.settings.local, append _test to the database name and attempt to create and destroy this database configuration. You probably don’t want to do this in production. We created a seperate testing subproject that takes the banana configuration but overrides the database settings to use a safe sqlite based database configuration.

Running the test suite

To run the banana test suite run:

$ ./manage.py test --settings=testing.settings

Updating the fixtures

Always regenerate the fixtures when you altered the model. You should do this by populating a TKP database with Mock data.

  • (re)create a database

  • initialise schema with tkp-manage.py initdb

  • run banana/util/create_content.py to create mock data. Configure the connection using the TKP_DB* environment variables

  • configure the Banana project to use this database

  • dump the db content:

    $ ./manage.py dumpdata --database=%{TK_DBNAME} --indent=1 banana > testing/fixtures/initial_data.json
    

Travis

For every commit to every branch or every issued pull request the travis build system is triggered and will try to run the test suite for that branch. It will update the github status page of the branch or pull request according to the test run output (failed or not).