Usando Shell Script para testar seu servidor

Às vezes, dependendo da linguagem de sua equipe ou projeto, é muito mais fácil usar o script de shell para testar o servidor API. Depois de algum tempo usando esse modelo, resolvi compartilhar. Espero que ajude outros desenvolvedores também.

Depende de:

  • bash
  • ondulação

Testado em Ubuntu 13.04 64bit.

#!/bin/bash

URL
=http://localhost:8080

## Unit-Testable Shell Scripts (http://eradman.com/posts/ut-shell-scripts.html)
typeset
-i tests_run=0
function try { this="$1"; }
trap
'printf "$0: exit code $? on line $LINENOnFAIL: $thisn"; exit 1' ERR
function assert {
let tests_run+=1
[ "$1" = "$2" ] && { echo -n "."; return; }
printf
"nFAIL: $thisn'$1' != '$2'n"; exit 1
}
## end

###############################################################

try "Example of GET and test for 404 status"

out=$(curl -s -w "%{http_code}" $URL)
assert "404" "$out"

try "Example of POST XML"

# Post xml (from hello.xml file) on /hello
out=$(cat test/hello.xml | curl -s -H "Content-Type: text/xml" -d @-
-X POST $URL/hello)
assert "Hello World" "$out"

###############################################################
echo

echo
"PASS: $tests_run tests run"

Fonte:
Scripts Shell testáveis ​​de unidade http://eradman.com/posts/ut-shell-scripts.html