Skip to content

Commit

Permalink
BAU bind testcontainers processes to localhost
Browse files Browse the repository at this point in the history
  • Loading branch information
nlsteers committed Sep 10, 2024
1 parent 3e659ff commit 94bef3f
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 3 deletions.
4 changes: 2 additions & 2 deletions .secrets.baseline
Original file line number Diff line number Diff line change
Expand Up @@ -754,7 +754,7 @@
"filename": "src/test/java/uk/gov/pay/connector/rules/PostgresTestDocker.java",
"hashed_secret": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3",
"is_verified": false,
"line_number": 18
"line_number": 24
}
],
"src/test/java/uk/gov/pay/connector/util/RandomIdGeneratorTest.java": [
Expand Down Expand Up @@ -1086,5 +1086,5 @@
}
]
},
"generated_at": "2024-09-06T12:14:52Z"
"generated_at": "2024-09-10T14:27:15Z"
}
14 changes: 13 additions & 1 deletion src/test/java/uk/gov/pay/connector/rules/PostgresTestDocker.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
package uk.gov.pay.connector.rules;

import com.github.dockerjava.api.model.ExposedPort;
import com.github.dockerjava.api.model.HostConfig;
import com.github.dockerjava.api.model.PortBinding;
import com.github.dockerjava.api.model.Ports;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.PostgreSQLContainer;


import java.sql.Connection;
import java.sql.SQLException;

import static java.sql.DriverManager.getConnection;
import static org.testcontainers.containers.PostgreSQLContainer.POSTGRESQL_PORT;

public class PostgresTestDocker {

Expand All @@ -25,7 +31,13 @@ public static void getOrCreate() {

POSTGRES_CONTAINER = new PostgreSQLContainer<>("postgres:15.2")
.withUsername(DB_USERNAME)
.withPassword(DB_PASSWORD);
.withPassword(DB_PASSWORD)
.withCreateContainerCmdModifier(cmd -> cmd.withHostConfig(
new HostConfig().withPortBindings(new PortBinding(
Ports.Binding.bindIp("127.0.0.1"),
new ExposedPort(POSTGRESQL_PORT)
))
));

POSTGRES_CONTAINER.start();
createDatabase();
Expand Down
14 changes: 14 additions & 0 deletions src/test/java/uk/gov/pay/connector/rules/SqsTestDocker.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,20 @@
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.sqs.AmazonSQS;
import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
import com.github.dockerjava.api.command.CreateContainerCmd;
import com.github.dockerjava.api.model.ExposedPort;
import com.github.dockerjava.api.model.HostConfig;
import com.github.dockerjava.api.model.PortBinding;
import com.github.dockerjava.api.model.Ports;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.wait.strategy.Wait;

import java.util.List;
import java.util.function.Consumer;

import static org.testcontainers.containers.PostgreSQLContainer.POSTGRESQL_PORT;

public class SqsTestDocker {
private static final Logger logger = LoggerFactory.getLogger(SqsTestDocker.class);
Expand All @@ -33,6 +41,12 @@ private static void createContainer() {

sqsContainer = new GenericContainer("softwaremill/elasticmq-native:1.4.2")
.withExposedPorts(9324)
.withCreateContainerCmdModifier((Consumer<CreateContainerCmd>) cmd -> cmd.withHostConfig(
new HostConfig().withPortBindings(new PortBinding(
Ports.Binding.bindIp("127.0.0.1"),
new ExposedPort(9324)
))
))
.waitingFor(Wait.forLogMessage(".*ElasticMQ server.*.*started.*", 1));
sqsContainer.start();
}
Expand Down

0 comments on commit 94bef3f

Please sign in to comment.