Skip to content

Instantly share code, notes, and snippets.

View luuizeduardo's full-sized avatar

Luiz Eduardo Martins luuizeduardo

View GitHub Profile
@luuizeduardo
luuizeduardo / pom.xml
Last active December 16, 2022 14:11
Initial setup for spring boot api tests
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Main {
public static void main(String[] args) {
SpringApplication.run(Main.class, args);
}
@luuizeduardo
luuizeduardo / YourApiService
Last active September 23, 2022 14:44
Service configuration
package org.example.services;
import com.fasterxml.jackson.databind.JsonNode;
import io.restassured.RestAssured;
import io.restassured.builder.RequestSpecBuilder;
import io.restassured.http.ContentType;
import io.restassured.response.Response;
import io.restassured.specification.RequestSpecification;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@luuizeduardo
luuizeduardo / ApiTest
Last active September 23, 2022 14:57
Test class
package api.test.java.tests;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.restassured.response.Response;
import org.example.services.YourApiService;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.extension.ExtendWith;
@ExtendWith(SpringExtension.class)
@SpringBootTest
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@luuizeduardo
luuizeduardo / ApiTestConstructor
Created October 7, 2022 15:38
Constructor method
private final YourApiService yourApiService;
public ApiTest(YourApiService yourApiService) {
this.yourApiService = yourApiService;
}
@luuizeduardo
luuizeduardo / TestCase
Created October 7, 2022 16:13
Create user test case
@Test
public void testCreateUser() throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
String body = "{\"name\": \"Luiz Eduardo\", \"job\": \"Senior QA Engineer\"}";
JsonNode requestBody = mapper.readTree(body);
}
package org.example.repositories;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Repository;
import java.io.IOException;
import java.net.URL;
@Repository
@luuizeduardo
luuizeduardo / ApiTestV2
Last active October 21, 2022 15:55
Improve the object mapping
package api.test.java.tests;
import com.fasterxml.jackson.databind.JsonNode;
import io.restassured.response.Response;
import org.example.repositories.FileUtils;
import org.example.services.YourApiService;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.context.SpringBootTest;
{
"name": "Luiz Eduardo",
"job": "Senior QA Engineer"
}