katt
katt copied to clipboard
Erlang code as a step
Hi.
I needed "smarter" KATT scenarios so I implemented a new step type that I call action. It allows you to write Erlang code as a step and it looks like this, tell me what you think:
Running this in the erlang shell: katt:run("priv/test_action.apib", [{inparam, "invalue"}]).
POST /helloworld
> Accept: text/html
Hello {{<inparam}}
< 200
{
"param1":"{{>param1}}",
"param2":"{{>param2}}"
}
! erlang <<<
A = mymodule:dostuff("{{<param1}}"),
B = othermodule:dostuff("{{<param2}}"),
[{outparam1, A},{outparam2, B}].
>>>
POST {{<outparam1}}/{{<outparam2}}
< 200
Have you seen #53 and specifically this PR https://github.com/for-GET/katt/pull/57 ? I believe this issue should be treated as duplicate, if I'm not mistaken.
It is very similar but this one is more generic because it is not tied to a request. Code executed outside the context of a request makes it much cleaner IMHO.