4 import java.net.DatagramSocket;
5 import java.net.InetAddress;
6 import java.net.SocketException;
7 import java.net.UnknownHostException;
8 import lombok.extern.slf4j.Slf4j;
9 import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
10 import org.junit.jupiter.api.BeforeEach;
11 import org.junit.jupiter.api.Test;
12 import org.junit.jupiter.api.extension.ExtendWith;
13 import org.openqa.selenium.By;
14 import org.openqa.selenium.WebElement;
15 import org.openqa.selenium.remote.RemoteWebDriver;
16 import org.springframework.boot.test.context.SpringBootTest;
17 import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
18 import org.springframework.boot.web.server.LocalServerPort;
22 * Integration-Test for the {@link DemoController}.
25 @SpringBootTest(webEnvironment = RANDOM_PORT)
26 @ExtendWith(WebDriverExtension.class)
28 public class DemoControllerIT
36 void generateBaseUri()
38 try (final DatagramSocket socket = new DatagramSocket())
40 socket.connect(InetAddress.getByName("8.8.8.8"), 10002);
43 socket.getLocalAddress().getHostAddress() +
47 catch (SocketException | UnknownHostException e)
49 throw new RuntimeException(e);
55 void testSubmit(RemoteWebDriver driver)
57 driver.get(baseUri + "/");
58 log.info("Fetched page:\n\n{}\n", driver.getPageSource());
60 WebElement submit = driver.findElement(By.cssSelector(".card-footer > button"));
61 assertThat(submit).isNotNull();