Testes com a ferramenta curl - PPCA2014/ppca_soa GitHub Wiki
Testes realizados no Ubuntu 15.04
Versão curl: curl 7.38.0 (x86_64-pc-linux-gnu)
Teste 01
Objetivo: Enviar um JSON grande ao servidor através de uma requisição POST.
curl:
curl -vX POST localhost:2301/hellow_world/2015?demo=1 -d @dados.json
Conteúdo do arquivo dados.json:
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"},
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"},
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"},
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"},
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"},
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"},
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"},
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"},
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"},
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"},
{"firstName":"Celson", "lastName":"Doe"},
{"firstName":"Rodrigo", "lastName":"Smith"},
{"firstName":"Marcio", "lastName":"Jones"},
{"firstName":"Maria", "lastName":"Doe"},
{"firstName":"Joao", "lastName":"Smith"},
{"firstName":"Everton", "lastName":"Agilar"}
]}
Servidor:
POST /hellow_world/2015
Header:
Expect: "100-continue"
HTTP-Version: "HTTP/1.1"
Url: "/hellow_world/2015"
Accept: "*/*"
Metodo: "POST"
Content-Type: "application/x-www-form-urlencoded"
Content-Length: 1633
Query: [{"demo","1"}]
User-Agent: "curl/7.38.0"
Payload: {"employees":[{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastName":"Smith"},{"firstName":"Peter","lastName":"Jones"},{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastName":"Smith"},{"firstName":"Peter","lastName":"Jones"},{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastName":"Smith"},{"firstName":"Peter","lastName":"Jones"},{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastName":"Smith"},{"firstName":"Peter","lastName":"Jones"},{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastName":"Smith"},{"firstName":"Peter","lastName":"Jones"},{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastName":"Smith"},{"firstName":"Peter","lastName":"Jones"},{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastName":"Smith"},{"firstName":"Peter","lastName":"Jones"},{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastName":"Smith"},{"firstName":"Peter","lastName":"Jones"},{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastName":"Smith"},{"firstName":"Peter","lastName":"Jones"},{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastName":"Smith"},{"firstName":"Peter","lastName":"Jones"},{"firstName":"Celson","lastName":"Doe"},{"firstName":"Rodrigo","lastName":"Smith"},{"firstName":"Marcio","lastName":"Jones"},{"firstName":"Maria","lastName":"Doe"},{"firstName":"Joao","lastName":"Smith"},{"firstName":"Everton","lastName":"Agilar"}]}
Teste 02
Objetivo: Enviar um JSON pequeno ao servidor através de uma requisição POST.
curl:
curl -vX POST localhost:2301/aluno/listagem_formandos -d"{\"data_inicial\":\"01/01/2015\",\"data_final\":\"30/06/2015\"}"
Servidor:
POST /aluno/listagem_formandos
Header:
HTTP-Version: "HTTP/1.1"
Url: "/aluno/listagem_formandos"
Accept: "*/*"
Metodo: "POST"
Content-Type: "application/x-www-form-urlencoded"
Content-Length: 55
Query: []
User-Agent: "curl/7.38.0"
Payload: {"data_inicial":"01/01/2015","data_final":"30/06/2015"}
Teste 03
Objetivo: Testar um requisição GET simples sem querystring.
curl:
curl -vX GET localhost:2301/aluno/100
Servidor:
GET /aluno/100
Header:
HTTP-Version: "HTTP/1.1"
Url: "/aluno/100"
Accept: "*/*"
Metodo: "GET"
Query: []
User-Agent: "curl/7.38.0"
Payload: []
Teste 04
Objetivo: Testar a leitura de vários parâmetros querystring de uma requisição GET.
curl:
curl -vX GET "localhost:2301/aluno/?fields=nome,cpf&ano_ingresso=2015&sort=nome&analitico=1"
Servidor:
GET /aluno/
Header:
HTTP-Version: "HTTP/1.1"
Url: "/aluno/"
Accept: "*/*"
Metodo: "GET"
Query: [{"fields","nome,cpf"},
{"ano_ingresso","2015"},
{"sort","nome"},
{"analitico","1"}]
User-Agent: "curl/7.38.0"
Payload: []
Teste 05
Objetivo: Testar update do nome de uma pessoa com requisição PUT
curl:
curl -vX PUT localhost:2301/pessoa/123456789 -d"{\"nome\":\"Everton de Vargas Agilar\"}"
Servidor:
Header:
HTTP-Version: "HTTP/1.1"
Url: "/pessoa/123456789"
Accept: "*/*"
Metodo: "PUT"
Content-Type: "application/x-www-form-urlencoded"
Content-Length: 35
Query: []
User-Agent: "curl/7.38.0"
Payload: {"nome":"Everton de Vargas Agilar"}
Teste 06
Objetivo: Testar requisição POST com dados inválidos. O servidor aceita somente JSON.
curl:
curl -vX GET "localhost:2301/aluno/?param1=x¶m2=y¶m3=k" -d"apenas um texto simples"
Servidor:
{
"error": "415",
"message": "HTTP ERROR 415 - Unsupported Media Type: Tipos dados suportado: JSON"
}