This repository contains data sets generated by the integration test suite built into OJS, OMP, and OPS.
The data sets are organized in application
/ branch or tag name
/ dbms
:
application
is ojs
, omp
, or ops
branch name
is e.g. stable-3_3_0
or 3_3_0-1
dbms
is either mysql
(MySQL / MariaDB) or pgsql
(PostgreSQL)Within each dataset, you will find:
database.sql
: Database dumpconfig.inc.php
: OJS configuration filepublic
: Directory containing the OJS public filesfiles
: Directory containing the OJS files_dir
(In production this should not be web-accessible)Note: These tools are generally intended to be run from the OJS/OMP/OPS installation directory, so you will likely have to specify the path to run them. In the examples below, this repository is available in ../datasets
.
environment.sh
: Configure the shell environment.
Example: . ../datasets/tools/environment.sh ojs main
dbclient.sh
: Connect to the database client.
Example: ../datasets/tools/dbclient.sh < mydatadump.sql
(to load a database dump)
Example: ../datasets/tools/dbclient.sh
(to run SQL statements from the terminal)
recreatedb.sh
: Ensure an empty database is available, deleting any existing data if necessary.
Example: ../datasets/tools/recreatedb.sh
(you may need to provide a sudo password)
wipe.sh
: Clear out the database, files directory, configuration file, etc. This will leave the application ready to be installed.
Example: ../datasets/tools/wipe.sh
loaddb.sh
: Load the database image from the appropriate dataset. This will create an empty DB as needed.
Example: ../datasets/tools/loaddb.sh
(you may need to provide a sudo password)
Example: ../datasets/tools/loaddb.sh stable-3_3_0
to load a specific database version (e.g. for upgrade testing)
loadfiles.sh
: Load the files environment from the appropriate dataset. This includes file storage area, public file storage area, and configuration file.
Example: ../datasets/tools/loadfiles.sh
Example: ../datasets/tools/loadfiles.sh stable-3_3_0
to load a set of files for a specific version (e.g. for upgrade testing)
load.sh
: Load both the database and file environments from the appropriate dataset. This is equivalent to running both loadfiles.sh
and loaddb.sh
.
Example: ../datasets/tools/load.sh
(you may need to provide a sudo password)
Example: ../datasets/tools/load.sh stable-3_3_0
to load a specific version of a dataset (e.g. for upgrade testing)
OJS, OMP, and OPS contain a Cypress test suite for setting up a test environment with standardized data (OJS OMP OPS). These are called the data tests.
Our github repositories are configured with Travis-CI for continuous integration testing -- changes to these repositories result in Travis performing tests and reporting success/failure. This includes running the data tests (but also linting, unit and integration testing, etc).
Some builds in the Travis configuration are flagged using an environment variable (SAVE_BUILD
; see .travis.yml
) to indicate that the data resulting from the data tests should be saved. This saving is done in run-tests.sh
just after the data tests complete.
The data is transferred from the Travis VM to this github repository using a "machine user" Github account called pkp-machine-user
. This user has an API token for the purpose, which is provided to Travis using an encrypted variable in .travis.yml
.