X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fdemo%2FDemoControllerIT.java;h=bd9dcd2ad802f8277e8076a79bc498df71a85a29;hb=029b48793ddfa1af8778b9121bf9daaa58601344;hp=6a9a2a5f2b9eab072912d53854ead6f8356a7068;hpb=c2b14ee43dab34cd637b765a6f5477d6b0f4a257;p=demos%2Fspring-boot diff --git a/src/test/java/de/juplo/demo/DemoControllerIT.java b/src/test/java/de/juplo/demo/DemoControllerIT.java index 6a9a2a5..bd9dcd2 100644 --- a/src/test/java/de/juplo/demo/DemoControllerIT.java +++ b/src/test/java/de/juplo/demo/DemoControllerIT.java @@ -1,26 +1,63 @@ package de.juplo.demo; +import java.net.DatagramSocket; +import java.net.InetAddress; +import java.net.SocketException; +import java.net.UnknownHostException; import lombok.extern.slf4j.Slf4j; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTest; -import org.springframework.test.context.junit.jupiter.SpringExtension; -import org.springframework.test.web.reactive.server.WebTestClient; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.remote.RemoteWebDriver; +import org.springframework.boot.test.context.SpringBootTest; +import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; +import org.springframework.boot.web.server.LocalServerPort; /** * Integration-Test for the {@link DemoController}. * @author Kai Moritz */ -@ExtendWith(SpringExtension.class) -@WebFluxTest +@SpringBootTest(webEnvironment = RANDOM_PORT) +@ExtendWith(WebDriverExtension.class) @Slf4j public class DemoControllerIT { + @LocalServerPort + int port; + String baseUri; + + + @BeforeEach() + void generateBaseUri() + { + try (final DatagramSocket socket = new DatagramSocket()) + { + socket.connect(InetAddress.getByName("8.8.8.8"), 10002); + baseUri = + "http://" + + socket.getLocalAddress().getHostAddress() + + ":" + + port; + } + catch (SocketException | UnknownHostException e) + { + throw new RuntimeException(e); + } + } + + @Test - void testSubmit(WebTestClient client) + void testSubmit(RemoteWebDriver driver) { - + driver.get(baseUri + "/"); + log.info("Fetched page:\n\n{}\n", driver.getPageSource()); + + WebElement submit = driver.findElement(By.cssSelector(".card-footer > button")); + assertThat(submit).isNotNull(); } }