Skip to content

Commit e785aa6

Browse files
committed
Slim down test dependencies
1 parent d53c7d3 commit e785aa6

File tree

3 files changed

+43
-25
lines changed

3 files changed

+43
-25
lines changed

chartjs-java-model/pom.xml

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,19 @@
139139
<artifactId>testcontainers</artifactId>
140140
<version>${testcontainers-version}</version>
141141
<scope>test</scope>
142+
<exclusions>
143+
<!-- No JUnit 4 -->
144+
<exclusion>
145+
<groupId>junit</groupId>
146+
<artifactId>junit</artifactId>
147+
</exclusion>
148+
</exclusions>
149+
</dependency>
150+
<dependency>
151+
<groupId>software.xdev</groupId>
152+
<artifactId>testcontainers-junit4-mock</artifactId>
153+
<version>1.0.1</version>
154+
<scope>test</scope>
142155
</dependency>
143156
<dependency>
144157
<groupId>org.testcontainers</groupId>
@@ -147,9 +160,9 @@
147160
<scope>test</scope>
148161
</dependency>
149162
<dependency>
150-
<groupId>org.testcontainers</groupId>
151-
<artifactId>selenium</artifactId>
152-
<version>${testcontainers-version}</version>
163+
<groupId>software.xdev</groupId>
164+
<artifactId>testcontainers-selenium</artifactId>
165+
<version>1.0.1</version>
153166
<scope>test</scope>
154167
</dependency>
155168

@@ -159,6 +172,13 @@
159172
<artifactId>selenium-chrome-driver</artifactId>
160173
<version>4.20.0</version>
161174
<scope>test</scope>
175+
<exclusions>
176+
<!-- Tracing is not needed -->
177+
<exclusion>
178+
<groupId>io.opentelemetry</groupId>
179+
<artifactId>*</artifactId>
180+
</exclusion>
181+
</exclusions>
162182
</dependency>
163183
</dependencies>
164184

chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@
2626
import org.openqa.selenium.OutputType;
2727
import org.openqa.selenium.chrome.ChromeOptions;
2828
import org.slf4j.bridge.SLF4JBridgeHandler;
29-
import org.testcontainers.containers.BrowserWebDriverContainer;
3029
import org.testcontainers.utility.MountableFile;
3130

3231
import software.xdev.chartjs.model.charts.Chart;
33-
import software.xdev.chartjs.model.container.SimpleBrowserWebDriverContainer;
32+
import software.xdev.chartjs.model.container.SeleniumBrowserWebDriverContainer;
33+
import software.xdev.testcontainers.selenium.containers.browser.BrowserWebDriverContainer;
3434

3535

3636
public abstract class AbstractChartTest
@@ -43,36 +43,34 @@ public abstract class AbstractChartTest
4343
protected static final String CONTAINER_TEST_TEMPLATE_HTML_FILE = "/home/user/" + TEST_TEMPLATE_HTML_FILE;
4444

4545
// One Container is started once and only the rendered HTML is changed. Improves performance.
46-
protected static final SimpleBrowserWebDriverContainer WEB_CONTAINER = createBrowserWithTempDirectoryMounted();
46+
protected static final SeleniumBrowserWebDriverContainer WEB_CONTAINER = createBrowserWithTempDirectoryMounted();
4747

48-
private static SimpleBrowserWebDriverContainer createBrowserWithTempDirectoryMounted()
48+
private static SeleniumBrowserWebDriverContainer createBrowserWithTempDirectoryMounted()
4949
{
5050
if(!SLF4JBridgeHandler.isInstalled())
5151
{
5252
SLF4JBridgeHandler.removeHandlersForRootLogger();
5353
SLF4JBridgeHandler.install();
5454
}
5555

56-
final SimpleBrowserWebDriverContainer browserContainer = new SimpleBrowserWebDriverContainer()
57-
.withRecordingMode(
58-
BrowserWebDriverContainer.VncRecordingMode.SKIP,
59-
null)
60-
.withCapabilities(new ChromeOptions())
61-
.withCopyFileToContainer(
62-
MountableFile.forClasspathResource("/" + TEST_TEMPLATE_HTML_FILE),
63-
CONTAINER_TEST_TEMPLATE_HTML_FILE);
56+
final SeleniumBrowserWebDriverContainer browserContainer =
57+
new SeleniumBrowserWebDriverContainer(new ChromeOptions())
58+
.withRecordingMode(BrowserWebDriverContainer.RecordingMode.SKIP)
59+
.withCopyFileToContainer(
60+
MountableFile.forClasspathResource("/" + TEST_TEMPLATE_HTML_FILE),
61+
CONTAINER_TEST_TEMPLATE_HTML_FILE);
6462
browserContainer.start();
6563
return browserContainer;
6664
}
6765

68-
protected SimpleBrowserWebDriverContainer getWebContainer()
66+
protected SeleniumBrowserWebDriverContainer getWebContainer()
6967
{
7068
return WEB_CONTAINER;
7169
}
7270

7371
protected void createScreenshotAndCompare(
7472
final Chart<?, ?, ?> chart,
75-
final SimpleBrowserWebDriverContainer browserContainer,
73+
final SeleniumBrowserWebDriverContainer browserContainer,
7674
final String screenshotReference)
7775
{
7876
try
@@ -93,7 +91,7 @@ protected void createScreenshotAndCompare(
9391
}
9492

9593
protected void assertCurrentBrowserViewEqualsScreenshot(
96-
final SimpleBrowserWebDriverContainer browserContainer,
94+
final SeleniumBrowserWebDriverContainer browserContainer,
9795
final String screenshotReference) throws IOException
9896
{
9997
final byte[] actual = browserContainer.webDriver().getScreenshotAs(OutputType.BYTES);
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,20 @@
2121
import org.openqa.selenium.remote.RemoteWebDriver;
2222
import org.rnorth.ducttape.timeouts.Timeouts;
2323
import org.rnorth.ducttape.unreliables.Unreliables;
24-
import org.testcontainers.containers.BrowserWebDriverContainer;
2524

25+
import software.xdev.testcontainers.selenium.containers.browser.CapabilitiesBrowserWebDriverContainer;
2626

27-
public class SimpleBrowserWebDriverContainer extends BrowserWebDriverContainer<SimpleBrowserWebDriverContainer>
27+
28+
public class SeleniumBrowserWebDriverContainer
29+
extends CapabilitiesBrowserWebDriverContainer<SeleniumBrowserWebDriverContainer>
2830
{
2931
protected RemoteWebDriver webDriver;
30-
3132
protected Capabilities capabilities;
3233

33-
@Override
34-
public SimpleBrowserWebDriverContainer withCapabilities(final Capabilities capabilities)
34+
public SeleniumBrowserWebDriverContainer(final Capabilities capabilities)
3535
{
36+
super(capabilities);
3637
this.capabilities = capabilities;
37-
return super.withCapabilities(capabilities);
3838
}
3939

4040
public synchronized RemoteWebDriver webDriver()
@@ -46,7 +46,7 @@ public synchronized RemoteWebDriver webDriver()
4646
() -> Timeouts.getWithTimeout(
4747
20,
4848
TimeUnit.SECONDS,
49-
() -> new RemoteWebDriver(this.getSeleniumAddress(), this.capabilities)
49+
() -> new RemoteWebDriver(this.getSeleniumAddressURI().toURL(), this.capabilities, false)
5050
)
5151
);
5252
}

0 commit comments

Comments
 (0)