This repository is an Inferno test kit for testing conformance to the operations and resources specified in the Data Exchange for Quality Measures (DEQM) Implementation Guide.
Run the ./setup.sh
script provided in this repository. This will pull all the necessary Docker images and
run the first time database setup.
docker-compose.yml
is configured with many services that make using deqm-test-kit
require minimal system-level configurations. Running with Docker will
spin up the test kit as well as an instance of deqm-test-server for ease of testing it:
docker compose pull
docker compose up --build # --build is required to get any source code changes from the lib/ directory
Navigate to http://localhost:4567 to run the tests in the Inferno web page
The test kit can also be run locally without Docker. This is useful particularly for debugging purposes.
Make sure you have Ruby >=3.1.2
installed.
- Install required dependencies:
bundle install
- Run the database setup locally to configure the database:
bundle exec inferno migrate
- Run the test kit locally with
puma
:
ASYNC_JOBS=false bundle exec puma
Navigate to http://localhost:4567 to run the tests in the Inferno web page
In order to make your test suite available to others, it needs to be organized like a standard ruby gem (ruby libraries are called gems).
- Your tests must be in
lib
lib
should contain only one file. All other files should be in a subdirectory. The file in lib is what people use to import your gem after they have installed it. For example, if your test kit contains a filelib/my_test_suite.rb
, then after installing your test kit gem, I could include your test suite withrequire 'my_test_suite'
.- Optional: Once your gemspec file has been updated, you can publish your
gem on rubygems, the official ruby gem repository. If
you don't publish your gem on rubygems, users will still be able to install it
if it is located in a public git repository. To publish your gem on rubygems,
you will first need to make an account on
rubygems
and then run
gem build *.gemspec
andgem push *.gem
.