inferno-framework / bulk-data-test-kit

Inferno Test Kit for servers implementing the Bulk Data Access Implementation Guide
Apache License 2.0
0 stars 0 forks source link

FI-2328: Bulk Data Patient Export Group #4

Closed emichaud998 closed 9 months ago

emichaud998 commented 10 months ago

Summary

This PR adds Patient export tests (Patient/$export) to the bulk data test kit. Every test that is run for the Group export operation now has a Patient export operation version. This PR also reorganizes the entire test kit, separating each test in a test group out into their own test file, moving each test code block to a module function that is now called by the test with arguments and properties that can be included so that the test functions can be run by both the Group and Patient export, separating the Patient tests and Group tests into their own separate directories, and fixing all the spec tests to work with this new test kit organization.

Testing Guidance

To test, first run all the spec tests by running bundle exec rspec and making sure they all pass. Next, you should run the test kit locally to make sure it works. You can use the Inferno reference server to test the Group export tests (must enter a bearer token manually), and you can use the server at https://bulk-data.smarthealthit.org/ to test the Patient export tests (since the Inferno reference server does not support that operation). To use this server, you can follow the directions here: https://github.com/mitre/fhir-for-research/blob/main/workshops/bulk-data/notebook.ipynb and you can use https://8gwifi.org/jwkconvertfunctions.jsp to get private and public key from JWKS and use https://jwt.io/ to create a JSON web token to use in the token request to receive a bearer token for the server. (Not all of the tests will pass since the server does not support everything, but the basic Patient/$export tests should work)