tonitch/back/test #139
@ -31,6 +31,8 @@ dependencies {
 | 
			
		||||
	testImplementation("org.springframework.boot:spring-boot-testcontainers")
 | 
			
		||||
	testImplementation("org.testcontainers:junit-jupiter")
 | 
			
		||||
	testImplementation("org.testcontainers:postgresql")
 | 
			
		||||
	testImplementation("io.rest-assured:rest-assured")
 | 
			
		||||
	testImplementation("org.hamcrest:hamcrest")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
tasks.register("run") {
 | 
			
		||||
 | 
			
		||||
@ -1,13 +1,70 @@
 | 
			
		||||
package ovh.herisson.Clyde;
 | 
			
		||||
 | 
			
		||||
import org.junit.jupiter.api.Test;
 | 
			
		||||
// import org.springframework.boot.test.context.SpringBootTest;
 | 
			
		||||
import static org.assertj.core.api.Assertions.assertThat;
 | 
			
		||||
 | 
			
		||||
// @SpringBootTest
 | 
			
		||||
import org.junit.jupiter.api.AfterAll;
 | 
			
		||||
import org.junit.jupiter.api.BeforeAll;
 | 
			
		||||
import org.junit.jupiter.api.BeforeEach;
 | 
			
		||||
import org.junit.jupiter.api.Test;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.boot.test.context.SpringBootTest;
 | 
			
		||||
import org.springframework.boot.test.web.server.LocalServerPort;
 | 
			
		||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
 | 
			
		||||
import org.springframework.web.service.annotation.GetExchange;
 | 
			
		||||
import org.testcontainers.containers.PostgreSQLContainer;
 | 
			
		||||
import org.testcontainers.junit.jupiter.Container;
 | 
			
		||||
import org.testcontainers.junit.jupiter.Testcontainers;
 | 
			
		||||
 | 
			
		||||
import io.restassured.RestAssured;
 | 
			
		||||
 | 
			
		||||
import com.github.dockerjava.api.model.ExposedPort;
 | 
			
		||||
import com.github.dockerjava.api.model.HostConfig;
 | 
			
		||||
import com.github.dockerjava.api.model.PortBinding;
 | 
			
		||||
import com.github.dockerjava.api.model.Ports;
 | 
			
		||||
 | 
			
		||||
@Testcontainers
 | 
			
		||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 | 
			
		||||
class ClydeApplicationTests {
 | 
			
		||||
 | 
			
		||||
	@LocalServerPort
 | 
			
		||||
	private Integer port;
 | 
			
		||||
 | 
			
		||||
	@Container
 | 
			
		||||
	@ServiceConnection
 | 
			
		||||
	static PostgreSQLContainer<?> postgres = new PostgreSQLContainer<>("postgres:alpine")
 | 
			
		||||
		.withDatabaseName("clyde")
 | 
			
		||||
		.withUsername("devel")
 | 
			
		||||
		.withPassword("devel")
 | 
			
		||||
		.withCreateContainerCmdModifier(cmd -> cmd.withHostConfig(
 | 
			
		||||
                    new HostConfig().withPortBindings(new PortBinding(Ports.Binding.bindPort(5432), new ExposedPort(5432)))
 | 
			
		||||
            ));
 | 
			
		||||
 | 
			
		||||
	@Autowired
 | 
			
		||||
	private ClydeApplication controller;
 | 
			
		||||
 | 
			
		||||
	@BeforeAll
 | 
			
		||||
	static void beforeAll(){
 | 
			
		||||
		postgres.start();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	@AfterAll
 | 
			
		||||
	static void afterAll() {
 | 
			
		||||
		postgres.stop();
 | 
			
		||||
	}
 | 
			
		||||
	@BeforeEach
 | 
			
		||||
	void setUp() {
 | 
			
		||||
		RestAssured.baseURI = "http://localhost:" + port;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	void contextLoads() {
 | 
			
		||||
	void contextLoads(){
 | 
			
		||||
		assertThat(controller).isNotNull();
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	@Test
 | 
			
		||||
	void enableMock(){
 | 
			
		||||
		RestAssured.get("/ping").then().statusCode(200);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user