9
respostas

Test Usando JWT

Como eu testo um controller que deve receber um token jwt? Vi que posso inserir o Athenticate no header e colocar o token manualmente, mas quando esse token expirar o teste vai começar a falhar. Como eu faço testes em um controller desse tipo, que recebe um JWT ?

9 respostas

E precisava fazer isso sem usar profile :)

Oi Walaci,

Você pode testar normalmente, enviando um token recem gerado para o controller, pois no teste o token nunca vai estar expirado, pois acabou de ser gerado.

Rodrigo mesmo que eu va por exemplo no postman envio uma requisição para auth e pego o token retornado? Se eu colocar esse token ele nunca vai expirar tb por ser um teste?

O Token você vai precisar gerar manualmente no testes mesmo.

Chamando a classe Tokenservice para gerar um token.

Entendi, entao em cada teste eu tenho que chamar essa classe para gerar o token e usar no teste

Rodrigo muito obrigado pela ajuda, sabe me dizer se vai ter mais modulos como por exemplo ensinando a gerenciar Logs? Tenho uma caso aqui que precisava gravar em um arquivo de log tudo que o usuario logado faz no sistema, tipo, o que ele altero, o que ele criou, o que ele apagou e dados de data e hora de acesso e quanto tempo logado, coisas do tipo. Eu ate fiz com log4j mas da forma em que eu fiz em cada controller tenho que digitar as linhas que sao gravadas e tal, gostaria de saber se tem como fazer isso com um filter por exemplo de forma automatica. Eu não axei nenhum curso referente a isso no alura, se caso ja tiver me ajudaria bastante. Muito obrigado pela ajuda e parabens pelas aulas, aprendi muito, excelente didatica e clareza nas explicações

Rodrigo boa tarde, como eu faço para pegar esse valor de mesAno na requisição? e como eu envio ele pelo postman? Obrigado

Fiz o controller assim ams nao esta indo

@RequestMapping(method = RequestMethod.GET, value = "/{id}/preenche-form-para-relatorio-de-economia-ml?mesAno=") public ResponseEntity<?> getRelatorioEconomiaMl(@PathVariable(value = "id") String idUc, @RequestAttribute("mesAno") String mesAno){}

Rodrigo boa tarde, como eu faço para pegar esse valor de mesAno na requisição? e como eu envio ele pelo postman? Obrigado

Fiz o controller assim ams nao esta indo

@RequestMapping(method = RequestMethod.GET, value = "/{id}/preenche-form-para-relatorio-de-economia-ml?mesAno=") public ResponseEntity<?> getRelatorioEconomiaMl(@PathVariable(value = "id") String idUc, @RequestAttribute("mesAno") String mesAno){}

@RequestMapping(method = RequestMethod.GET, value = "/{id}/preenche-form-para-relatorio-de-economia-ml?mesAno=")
    public ResponseEntity<?> getRelatorioEconomiaMl(@PathVariable(value = "id") String idUc, @RequestAttribute("mesAno") String mesAno){