0.0
The project is in a healthy, maintained state
AU PS Inferno Test Kit
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

Runtime

~> 1.0.6
 Project Readme

AU PS Inferno Test Kit

This is an Inferno test kit for the AU PS Implementation Guide

Currently available versions:

  1. 1.0.0

Use Inferno as a service

You can test your FHIR server using this link https://inferno.hl7.org.au/test-kits/au-ps

Run Inferno locally via Docker

It is highly recommended that you use Docker to run these tests. This test kit requires at least 10 GB of memory are available to Docker.

  1. Clone this repo.
  2. Run the setup script to initialize the database
make setup
  1. Run project
make run
  1. Navigate to http://localhost. The AU PS test suite will be available.

How to Regenerate the Suite for a New IG Version

If a new AU PS IG release appears at http://hl7.org.au/fhir/ps/history.html, follow these steps to regenerate the suite metadata:

  1. Download the new IG package (.tgz) from the release page and place it in lib/au_ps_inferno/igs/.
  2. Update the path in Rakefile (generator:generate task) to point to the new archive.
  3. Run the Generate Suite workflow: go to the workflow page, click Run workflow, and confirm.
  4. When the workflow completes, a Pull Request will be created automatically. Review and merge it.

What the pipeline does

  1. Runs make generate_and_fix, which invokes the generator against the IG archive already present in lib/au_ps_inferno/igs/;
  2. The generator extracts IG resources from the archive, updates lib/au_ps_inferno/metadata.yaml, and sets IG_VERSION in lib/au_ps_inferno/version.rb to the version declared in the package's package.json;
  3. If there are any changes, a Pull Request is created automatically.

Development workflow

This repository contains both the source code of the tests generator and the generated tests themselves. Even a small change in the generator source causes a huge amount of changes in the generated tests. As a result, when a pull request contains both changes in the generator and changes in the generated files, it is almost impossible to review. Furthermore, there is no sense in reviewing the generated files at all, they are just artifacts that this repo produces. They are placed in the same repo under source control just for simplicity reasons. So, the development process should look like this. When you change the source code of the generator and create a pull request, you SHALL NOT add generated tests in this pull request. Once the code review is done, a person who merged the changes SHALL run the generator and update generated tests. It may be a direct commit to the master branch.

Release management

When we would like to issue a new release, you need to update the version constants in lib/au_ps_inferno/version.rb:

  • VERSION — the gem version (e.g. '0.0.2')
  • IG_VERSION — the AU PS IG version the suite targets (e.g. '1.0.0'); this is also updated automatically when the generator runs (see How to Generate New Test Suites)

Then you need to create a tag for this version. The tag name should start with v and then contain a numeric version like this v0.0.1 Once a tag is created, you need to create a GitHub release for this newly published version. The release creation triggers the pipeline that deploys a new version to the cloud environment.

Contributing to Inferno and Reporting Issues

  1. Discuss an issue in chat.fhir.org If you have a question, feature request, or proposed change, the best place to start is Zulip i.e. the https://chat.fhir.org/#narrow/stream/179173-australia/topic/Inferno.20Test.20Kit.20feedback.20and.20queries

If you're unable to find an open request, please create a GitHub to: contribute Test suites or Code to the repository: state your details and the nature of the changes to be contributed suggest improvements or enhancements to the project

We appreciate your contributions to improving this test suite. If you encounter any issues or have suggestions for enhancements, please follow the steps below to report them:

  1. Search for Existing Issues: Before submitting a new issue, please check the Issues section to see if the problem or suggestion has already been reported. If you find an existing issue, you can add your comments or additional information to it.
  2. Open a New Issue: If you do not find a similar issue, you can open a new one. Click on the New Issue button and provide details, e.g., for a bug report:
Title: A brief and descriptive title for the issue.
Description: A detailed description of the issue, including:
1. Steps to reproduce the issue.
2. Expected and actual behavior.
3. Screenshots or another related information (if applicable).
  1. Labeling: Help us categorize the issue by adding relevant labels (e.g., bug, enhancement, question). This helps us prioritize and address the issues more efficiently.

Resolving Issues

To support effective issue resolution, reporters may be engaged in the review process to help confirm that resolutions address their concerns. This can involve notifying the reporter when a fix is implemented and inviting them to validate the solution or provide feedback before the issue is formally closed.

Questions?

In addition to reporting issues on GitHub, you can also ask questions or report issues on Zulip (chat.fhir.org).

How to Contribute to the HL7 AU Inferno AU PS Test Kit

If you would like to contribute to hl7au/au-ps-inferno, here’s how:

1. Communicate Before You Start

  • Open a GitHub issue to discuss your plans to help avoid duplication of effort, align and prioritise your contributions.
  • Join the fortnightly HL7 AU Infrastructure and Tooling Community Meetings (register here) where we discuss and triage issues. Feel free to add your issue to the meeting agenda and we'll aim to discuss your issue/ proposed contribution when you are present at the meeting.
  • Use Zulip to connect with the team and community asynchronously:

2. Contribute Code

  1. Fork this repository.
  2. Create a branch and use the GitHub issue number followed by a meaningful description as the branch name for your contribution.
  3. Make your contributions/ changes. Please DO NOT add generated tests as instructed in the Development Workflow section of this README.
  4. Submit a pull request (PR) for review.
  5. Once the PR has been reviewed, feedback addressed collaboratively, and approved (by the designated HL7 AU project facilitator or their delegate - refer to the HL7 AU Project Registry), it may be merged into the main branch.

Additional information

  1. Pre-requisites
  2. Validator instructions
  3. Changelog