У меня тут образовалось кучка проектов, в оных както надо автоматически проверять что мы ничего не сломали в API. А оное stateless, на какойто упоротой авторизации и с JSON.
Под такую задачу получается самым оптимальным это все тестировать из javascript, там и JSON как родной и писать всяко удобнее чем на баше.
Казалось бы взять nodejs и дергать наш сервис из оного, но сервис на java и тащить ноду не комильфо, да и с отладкой скриптов там черти что. Потому была набросана программка которая принимает директорию с js и запускает их на выполнение. При желании скрипты можно дебажить в NetBeans (теоретически и в idea, но похоже не в community версии).
Брать тут: https://github.com/wayerr/jsterest
Одно подергивание вашего любимого сервиса делается вот примерно так:
function test() {
var request = {
url:"http://localhost:8080/ui/token/login",
method: "POST", // GET, POST & etc, by default - GET, or POST if it has data
headers: {
// set of headers, tool is use json
'Content-Type': 'application/json'
},
// request data, string or javascript object which is serialized to JSON
data:{
username:"admin",
password:"password"
},
// optional function which can handle response, also it invoked before response logging
// and can set `response.message` for example or do custom logging
onResponse: function(request, response) {}
};
var resp = http.execute(request);
console.debug("resp: ", resp);
/*
it prints json like follow:
{
code: 200,
message: "OK", //server message
headers: {
"Content-Type":"application/json",
"X-Other-Header":"header value"
},
contentType:"application/json",
// string or java object (converted automatically when response content type is json)
data: {...}
}
*/
}