Reputation: 101
I am trying to create one mapping.json under the mappings folder with multiple stubs as below. But I am facing the following error
Wiremock: v2.5.1 (standalone)
Mapping.json file looks,
[
{
"scenarioName": "Savings account Stub",
"request": {
"url": "/ws/*****",
"method": "POST",
"bodyPatterns" : [{
"contains" : "AccountRequest"
}
]
},
"response": {
"status": 200,
"bodyFileName": "******"
}
},
{
"scenarioName": "Current account Stub",
"request": {
"method": "POST",
"url": "/ws/*****",
"bodyPatterns": [
{
"contains": "AccountListRequest"
}
]
},
"response": {
"status": 200,
"bodyFileName": "******"
}
}]
Error:
Exception in thread "main" wiremock.com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of com.github.tomakehurst.wiremock.stubbing.StubMapping out of START_ARRAY token
Is there any possibility to create multiple stubs for the same URL in single mapping file? Can anyone tell me what is the exact issue?
Upvotes: 3
Views: 12651
Reputation: 7125
Looking at the stubbing documentation, I think you want your mappings.json
to look like...
{
"mappings": [
{
"scenarioName": "foo",
"request": {},
"response": {}
}, {
"request": {}
}
],
"importOptions": {
"duplicatePolicy": "IGNORE",
"deleteAllNotInImport": true
}
}
You'd then want to make a POST request to /__admin/mappings/import
with your mappings.json
as the request body. The reason for this is that I believe multiple mappings in a single file are only supported via the import option.
Upvotes: 5