TokenUtil com RestAssured

Para que possamos adquirir o token, dessa vez será diferente.

Criaremos sim a classe TokenUtil no pacote de teste no projeto de restassured, mas faremos o seguinte:

  1. Criaremos um método que retornará uma Response e faremos um POST, passando username e password do usuário, veja:

    private static Response authRequest(String username, String password) throws Exception {
        return given()
                .auth()
                .preemptive()
                .basic("myclientid", "myclientsecret")
                //contentType extamente o que estamos passando na requisição de login
                //do Postman (no body)
                .contentType("application/x-www-form-urlencoded")
                .formParam("grant-type", "password")
                .formParam("username", username)
                .formParam("username", password)
                .when()
                .post("/oauth2/token");

    }
  1. Depois, criaremos mais um método para obter o accesstoken. Afinal, quando rodamos uma requisição de POST de login, é o que ele retorna, correto?

    private static String obtainAccessToken(String username, String password) throws Exception {
        Response response = authRequest(username, password);

        JsonPath jsonBody = response.jsonPath();

        return jsonBody.getString("access_token");
    }

Classe finalizada:

Após obter o Token de acesso, voltar a nossa classe de Teste e inicializar as variáveis.

Atualizado