A companion to Vegeta that tells him what to do. Define a configuration file like below and run:
python -m bulma -c samples/bulma.config.json
bulma.config.json
{
"Project": "My Super Project",
"Duration": "5s",
"Rate": "50/1s",
"Header": {
"Content-Type":[ "application/json" ],
"Accept-Encoding":[ "*" ]
},
"Corpus": [
{
"id": "Getting Todo JSON data",
"method": "GET",
"url": "https://jsonplaceholder.typicode.com/todos/1",
"header": { "Content-Type": ["application/json"] }
},
{
"id": "Converting text to Md5",
"method": "GET",
"url": "http://md5.jsontest.com/?text=example_text",
"header": { "Content-Type": ["application/json"] }
}
]
}
Each of the cases within the Corpus
are passed directly to Vegeta's JSON format allowing you to specify anything that would normally be supported by that tool.
Bulma supports the following body types which can be attached to any cases witin the Corpus
:
body
: Raw string bodybody_file
: Relative location to a file, content's are extractedbody_graphql
: Relative location to a file containing a GraphQL query. contents are extracted and pushed intoquery
property for a GraphQL request
Note that relativity here is relative to where you run the script