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
isojs
,omp
, orops
branch name
is e.g.stable-3_3_0
or3_3_0-1
dbms
is eithermysql
(MySQL / MariaDB) orpgsql
(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 OJSfiles_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 bothloadfiles.sh
andloaddb.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
.