This is an Inferno test kit for the AU Core Implementation Guide
Currently available versions:
You can test your FHIR server using this link https://inferno.hl7.org.au/
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.
- Clone this repo.
- Run the setup script to initialize the database
make setup
- Run project
make run
- Navigate to http://localhost. The AU Core test suite will be available.
If you visit http://hl7.org.au/fhir/core/history.html and notice that there is a new release, you can initiate the generation of test suites yourself. To accomplish this, you will need to take several steps:
- Follow the link to the Generate Tests workflow (https://github.com/hl7au/au-fhir-core-inferno/actions/workflows/generate-tests.yaml).
- A list of already completed pipelines will open. In the upper right corner, you will see the "Run Workflow" button. Click on it and confirm the launch.
- The pipeline launch will be initiated. When it completes, a new Pull Request will be created with the changes. You can accept or reject it (https://github.com/hl7au/au-fhir-core-inferno/pulls)
- The script will visit the releases history page;
- It will download all archives and store them in the igs folder;
- The generator will generate test groups for each IG archive;
- If there are any new test groups, they will be added to the project automatically;
- If there are any changes, the action will create a pull request.
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.
When we would like to issue a new release, you need to update the application version in this file https://github.com/hl7au/au-fhir-core-inferno/blob/master/lib/au_core_test_kit/version.rb
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.
- 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:
- 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.
- 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).
- 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.
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.
In addition to reporting issues on GitHub, you can also ask questions or report issues on Zulip (chat.fhir.org).
- Specific topic for HL7 AU Inferno Test Kit feedback and queries: australia > Inferno Test Kit feedback and queries
- General: Inferno channel
If you would like to contribute to hl7au/au-fhir-core-inferno, here’s how:
- 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:
- Specific topic for HL7 AU Inferno Test Kit feedback and queries: australia > Inferno Test Kit feedback and queries
- General: Inferno channel
- Fork this repository.
- Create a branch and use the GitHub issue number followed by a meaningful description as the branch name for your contribution.
- Make your contributions/ changes. Please DO NOT add generated tests as instructed in the Development Workflow section of this README.
- Submit a pull request (PR) for review.
- 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.
- Pre-requisites
- Validator instructions
- Changelog
- AU Inferno Test Coverage: A work-in-progress repository containing text, code, and resources focused on addressing the challenge of achieving IG coverage through Inferno tests.