Skip to content

Commit 6d33055

Browse files
authored
Keep exposed ports order in ContainerDef (#7811)
Order is lost and break modules with multiple ports defined.
1 parent 1419510 commit 6d33055

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

core/src/main/java/org/testcontainers/containers/ContainerDef.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class ContainerDef {
3232
@Getter
3333
private RemoteDockerImage image;
3434

35-
Set<ExposedPort> exposedPorts = new HashSet<>();
35+
Set<ExposedPort> exposedPorts = new LinkedHashSet<>();
3636

3737
Set<PortBinding> portBindings = new HashSet<>();
3838

@@ -150,7 +150,7 @@ protected void setImage(DockerImageName image) {
150150
}
151151

152152
public Set<ExposedPort> getExposedPorts() {
153-
return new HashSet<>(this.exposedPorts);
153+
return new LinkedHashSet<>(this.exposedPorts);
154154
}
155155

156156
protected void setExposedPorts(Set<ExposedPort> exposedPorts) {

core/src/main/java/org/testcontainers/containers/GenericContainer.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,12 +272,19 @@ public void setImage(Future<String> image) {
272272

273273
@Override
274274
public List<Integer> getExposedPorts() {
275-
return this.containerDef.getExposedPorts().stream().map(ExposedPort::getPort).collect(Collectors.toList());
275+
List<Integer> exposedPorts = new ArrayList<>();
276+
for (ExposedPort exposedPort : this.containerDef.getExposedPorts()) {
277+
exposedPorts.add(exposedPort.getPort());
278+
}
279+
return exposedPorts;
276280
}
277281

278282
@Override
279283
public void setExposedPorts(List<Integer> exposedPorts) {
280-
this.containerDef.setExposedPorts(exposedPorts.stream().map(ExposedPort::tcp).collect(Collectors.toSet()));
284+
this.containerDef.exposedPorts.clear();
285+
for (Integer exposedPort : exposedPorts) {
286+
this.containerDef.addExposedTcpPort(exposedPort);
287+
}
281288
}
282289

283290
/**

0 commit comments

Comments
 (0)