X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fdemo%2FDemoControllerIT.java;h=bd9dcd2ad802f8277e8076a79bc498df71a85a29;hb=029b48793ddfa1af8778b9121bf9daaa58601344;hp=2f3d07ed20ef9405e6aa49f4bdccdae0ec6eac62;hpb=436245ca8e2991d8b1e3ceb8d981cb166a06f9e8;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 2f3d07e..bd9dcd2 100644 --- a/src/test/java/de/juplo/demo/DemoControllerIT.java +++ b/src/test/java/de/juplo/demo/DemoControllerIT.java @@ -1,12 +1,21 @@ 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.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.testcontainers.containers.BrowserWebDriverContainer; +import org.springframework.boot.web.server.LocalServerPort; /** @@ -18,9 +27,37 @@ import org.testcontainers.containers.BrowserWebDriverContainer; @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(BrowserWebDriverContainer chrome) + 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(); } }