Skip to content

Commit b127084

Browse files
committed
Refactor MockServer to use ephemeral port and remove TestSocketUtils dependency
1 parent e8e1210 commit b127084

2 files changed

Lines changed: 2 additions & 7 deletions

File tree

src/test/java/am/ik/blog/MockConfig.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import org.springframework.context.annotation.Bean;
99
import org.springframework.context.annotation.Primary;
1010
import org.springframework.test.context.DynamicPropertyRegistrar;
11-
import org.springframework.test.util.TestSocketUtils;
1211

1312
@TestConfiguration(proxyBeanMethods = false)
1413
public class MockConfig {
@@ -24,8 +23,7 @@ InstantSource testClock() {
2423

2524
@Bean
2625
MockServer mockServer() {
27-
int availableTcpPort = TestSocketUtils.findAvailableTcpPort();
28-
MockServer mockServer = new MockServer(availableTcpPort);
26+
MockServer mockServer = new MockServer(0);
2927
mockServer.run();
3028
return mockServer;
3129
}

src/test/java/am/ik/blog/mockserver/MockServer.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ public class MockServer implements AutoCloseable {
2323

2424
private final List<Rule> rules = new ArrayList<>();
2525

26-
private final int port;
27-
2826
private final HttpContext context;
2927

3028
private Response fallbackResponse = Response.notFound();
@@ -36,7 +34,6 @@ public MockServer(int port) {
3634
catch (IOException e) {
3735
throw new UncheckedIOException(e);
3836
}
39-
this.port = port;
4037
this.context = this.server.createContext("/", new MockHandler());
4138
this.server.setExecutor(Executors.newSingleThreadExecutor());
4239
}
@@ -46,7 +43,7 @@ public void addFilter(Filter filter) {
4643
}
4744

4845
public int port() {
49-
return port;
46+
return this.server.getAddress().getPort();
5047
}
5148

5249
public MockServer GET(String path, Function<Request, Response> responseFunction) {

0 commit comments

Comments
 (0)