Running the test suite¶
TODO: Update for Python 3, OpenREM 1.0
Code formatting and tests¶
Steps before pushing to Bitbucket. Commands assume you are in the root directory of the git repository,
at the same level as README.rst and requirements.txt etc, and that you have activated a virtualenv with
the project requirements installed (
pip install -e .) plus Black (
pip install black)
Run black against the code:
$ black --exclude stuff/ .
Check the changes made, edit where necessary. Black is an opinionated Python formatter and in general OpenREM code should be subjected to it. The flake8 tests are tuned to agree with Black.
Run the Django tests:
$ python openrem/manage.py test remapp --parallel
old stuff to be updated
Install the dependencies and OpenREM¶
OpenREM is a Django application, and therefore we use Django’s test-execution framework to test OpenREM.
The first thing to do is to create a local copy of the git repository, then install all of OpenREM’s dependencies in a virtualenv.
You will need
virtualenv installed - see the links on the : doc : install-prep docs
for the latter, but you might try
pip install virtualenv.
mkdir openremrepo git clone https://bitbucket.org/openrem/openrem.git openremrepo
Now create the virtualenv:
mkdir veOpenREM virtualenv veOpenREM . veOpenREM/bin/activate # Linux veOpenREM\Scripts\activate # Windows
At this stage there should be a
(veOpenREM) prefix to our prompt telling us the virtualenv is activated.
Now install the dependencies:
pip install -e openremrepo/ pip install https://bitbucket.org/edmcdonagh/pynetdicom/get/default.tar.gz#egg=pynetdicom-0.8.2b2
In the future it might be necessary to install numpy too for testing.
Rename and configure
openremproject/wsgi.py.example as per the
: doc :install docs.
Create a database following the same : doc :install instructions.
Run the tests!¶
Making sure the virtualenv is activated, move to
openremrepo/openrem and run:
python manage.py test remapp
All the tests that exit in
openrem/remapp/tests/ will now be run.
Creating test versions of production systems¶
If you wish to create a duplicate install to test upgrades etc, refer to Database restore and the preceding text regarding making backups.