lifen-postman/README.md

53 lines
2.6 KiB
Markdown

# About lifen-postman
<!-- vscode-markdown-toc -->
* [Installation and execution via CLI](#InstallationandexecutionviaCLI)
* [An example of NewMan's test report](#AnexampleofNewManstestreport)
* [Installation and execution in the PostMan GUI](#InstallationandexecutioninthePostManGUI)
* [An Example of Test Report in PostMan](#anExampleofTestReportinPostMan)
<!-- vscode-markdown-toc-config
numbering=true
autoSave=true
/vscode-markdown-toc-config -->
<!-- /vscode-markdown-toc -->
This repository holds some PostMan files that performs tests against Lifen's Fhir API. They represent my handout regardinf the technical test. There is also a Node programm that run `NewMan`.
## 1. <a id='InstallationandexecutionviaCLI'></a>Installation and execution via CLI
NodeJs 16+ is required.
1. Clone this repository on your local computer
2. Open your favorite IDE, VSC or a terminal
2. Purge the `node_modules` folder (`rm -rf ./node_module/*`)
3. Install `NewMan` via npm with the command `npm install`. It will lookup eveything based on the `package.json` file.
4. Run newman via the npx command `npx newman run .\lifen-api.postman_collection.json -e '.\fhir-api public post-prod.postman_environment.json'`
### a. <a id='AnexampleofNewManstestreport'></a>An example of NewMan's test report
![An example of NewMan's test report](./public/newman-testresult-example.jpg)
## 2. <a id='InstallationandexecutioninthePostManGUI'></a>Installation and execution in the PostMan GUI
PostMan is required to run them.
1. Download the 3 jsons files
2. Create or select a Workspace that will get them
3. `File` > `Import...` and drag-and-drop them on the lightbox.
![Import modale with some files ready to be imported](./public/import-screen-with-files.jpg)
4. Open the collection properties
![a Collection Properties panel in PostMan](./public/lifen-api-collection-properties.jpg)
5. Run the files with the following settings
![a runner in PostMan](./public/lifen-api-runner.jpg)
* Run the `POST a Json Web Token` is optional, the collection handle the JWT generation and use for each requests
* The servers don't like to be rushed, you will get better results by addind a **Delay** of **500**ms
* You can save the responses to diagnose them after run.
* The request `GET CommunicationRequest` wait 10 sec before being launched, because Irène may not have processed the CommunicationRequest that early.
* There is no need to save the cookies, as there will be no cookies baked here 🚫🍪😔
### a. <a id='anExampleofTestReportinPostMan'></a>An Example of Test Report in PostMan
![an Example of Test Report](./public/run-result-example.jpg)