How to customize Request Data
Sometimes the automatically generated samples are not sufficient for your use case. @thymian/plugin-sampler lets you customize the generated samples
by modifying the request data files directly or adding multiple test cases.
Step 1: Locate the Request Sample
Section titled “Step 1: Locate the Request Sample”Navigate to the endpoint you want to customize:
cd .thymian/samples/YourAPI/.../endpoint/requests/ls# Output: 0-request.jsonStep 2: Edit Inline Values
Section titled “Step 2: Edit Inline Values”Open 0-request.json and modify values directly:
Before:
{ "body": { "email": "user@example.com", "age": 25 }}After:
{ "body": { "email": "alice@test.com", "age": 30 }}Step 3: Add Multiple Samples
Section titled “Step 3: Add Multiple Samples”Create additional sample files for different test cases:
cp 0-request.json 1-request.jsoncp 0-request.json 2-request.jsonEdit each file with different data:
1-request.json (edge case - minimum values):
{ "body": { "email": "min@test.com", "age": 18 }}2-request.json (edge case - maximum values):
{ "body": { "email": "max@test.com", "age": 120 }}Step 4: Use File References for Large Data
Section titled “Step 4: Use File References for Large Data”For large payloads, use external files:
echo '{"large": "payload", ...}' > custom-payload.jsonReference it in your sample:
{ "body": { "$file": "custom-payload.json" }}Not only JSON files are supported, but any file type. For example, you could have an XML file named user.xml:
<user> <email></email> <age>25</age></user>you can load it as follows:
{ "body": { "$file": "./user.xml" }}And also any other kind of files are supported, for example, a png file that you want to load as base64:
{ "body": { "$file": "./my-picture.png", "$encoding": "base64" }}