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.springframework.boot.web.server.LocalServerPort;
/**
@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(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();
}
}