Skip to content

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.

Navigate to the endpoint you want to customize:

Terminal window
cd .thymian/samples/YourAPI/.../endpoint/requests/
ls
# Output: 0-request.json

Open 0-request.json and modify values directly:

Before:

{
"body": {
"email": "user@example.com",
"age": 25
}
}

After:

{
"body": {
"email": "alice@test.com",
"age": 30
}
}

Create additional sample files for different test cases:

Terminal window
cp 0-request.json 1-request.json
cp 0-request.json 2-request.json

Edit 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:

Terminal window
echo '{"large": "payload", ...}' > custom-payload.json

Reference 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"
}
}