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&param2=y&param3=k" -d"apenas um texto simples" 

Servidor:

{
    "error": "415",
    "message": "HTTP ERROR 415 - Unsupported Media Type: Tipos dados suportado: JSON"
}