@Override @Deprecated public void starting(Description description) { start(); }
@Test public void usesLocalImageEvenWhenPullFails() throws InterruptedException { tagImage("redis:4.0.10", "redis-local", "latest"); DockerComposeContainer composeContainer = new DockerComposeContainer(new File("src/test/resources/local-compose-test.yml")) .withExposedService("redis", 6379); composeContainer.start(); }
@Test public void test() { try (DockerComposeContainer compose = new DockerComposeContainer(composeFiles) .withLocalCompose(localMode) .withExposedService(SERVICE_NAME, SERVICE_PORT)) { compose.start(); BufferedReader br = Unreliables.retryUntilSuccess(10, TimeUnit.SECONDS, () -> { Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS); Socket socket = new Socket(compose.getServiceHost(SERVICE_NAME, SERVICE_PORT), compose.getServicePort(SERVICE_NAME, SERVICE_PORT)); return new BufferedReader(new InputStreamReader(socket.getInputStream())); }); Unreliables.retryUntilTrue(10, TimeUnit.SECONDS, () -> { while (br.ready()) { String line = br.readLine(); if (line.contains(expectedEnvVar)) { pass("Mapped environment variable was found"); return true; } } info("Mapped environment variable was not found yet - process probably not ready"); Uninterruptibles.sleepUninterruptibly(100, TimeUnit.MILLISECONDS); return false; }); } }
@BeforeAll public static void setup() throws IOException { CONTAINER_ENV.start(); MONGODB_CLIENT_URI = new MongoClientURI( "mongodb://"+ MONGODB+":"+MONGODB_PORT+"/kafkaconnect" ); MONGO_CLIENT = new MongoClient(MONGODB_CLIENT_URI); MONGO_DATABASE = MONGO_CLIENT.getDatabase(MONGODB_CLIENT_URI.getDatabase()); Properties props = new Properties(); props.put("bootstrap.servers",KAFKA_BROKER+":"+KAFKA_BROKER_PORT); props.put("key.serializer", "io.confluent.kafka.serializers.KafkaAvroSerializer"); props.put("value.serializer", "io.confluent.kafka.serializers.KafkaAvroSerializer"); props.put("schema.registry.url","http://"+SCHEMA_REGISTRY+":"+ SCHEMA_REGISTRY_PORT); PRODUCER = new KafkaProducer<>(props); String config = new String(Files.readAllBytes(Paths.get(SINK_CONNECTOR_CONFIG))); deferExecutionToWaitForDataPropagation(Duration.ofMinutes(2), "wait some time so that all container processes become available"); registerMongoDBSinkConnector(config); }