Upgrade to the latest Testcontainers

* Use `debezium/example-mysql:latest` image in the `CdcBootStarterIntegrationTest`
to avoid failing when some transitive dependency does not exist any more
This commit is contained in:
Artem Bilan
2021-02-11 11:08:12 -05:00
parent 0dd30e1593
commit 85d7494e6d

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2020-2020 the original author or authors.
* Copyright 2020-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,7 +18,6 @@ package org.springframework.cloud.fn.common.cdc;
import java.time.Duration;
import com.zaxxer.hikari.HikariDataSource;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.GenericContainer;
@@ -30,12 +29,15 @@ import org.springframework.boot.test.context.runner.ApplicationContextRunner;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.jdbc.JdbcTestUtils;
import com.zaxxer.hikari.HikariDataSource;
import static org.assertj.core.api.Assertions.assertThat;
import static org.awaitility.Awaitility.await;
/**
* @author Christian Tzolov
* @author David Turanski
* @author Artem Bilan
*/
@Testcontainers
public class CdcBootStarterIntegrationTest {
@@ -45,12 +47,13 @@ public class CdcBootStarterIntegrationTest {
private static String MAPPED_PORT;
@Container
static GenericContainer debeziumMySQL = new GenericContainer<>(DockerImageName.parse("debezium/example-mysql:1.0"))
.withEnv("MYSQL_ROOT_PASSWORD", "debezium")
.withEnv("MYSQL_USER", "mysqluser")
.withEnv("MYSQL_PASSWORD", "mysqlpw")
// .withLogConsumer(new Slf4jLogConsumer(LoggerFactory.getLogger("mysql")))
.withExposedPorts(3306);
static GenericContainer debeziumMySQL =
new GenericContainer<>(DockerImageName.parse("debezium/example-mysql:latest"))
.withEnv("MYSQL_ROOT_PASSWORD", "debezium")
.withEnv("MYSQL_USER", "mysqluser")
.withEnv("MYSQL_PASSWORD", "mysqlpw")
// .withLogConsumer(new Slf4jLogConsumer(LoggerFactory.getLogger("mysql")))
.withExposedPorts(3306);
private static JdbcTemplate jdbcTemplate;
@@ -91,7 +94,8 @@ public class CdcBootStarterIntegrationTest {
TestCdcApplication.TestSourceRecordConsumer testConsumer = context
.getBean(TestCdcApplication.TestSourceRecordConsumer.class);
jdbcTemplate.update(
"insert into `customers`(`first_name`,`last_name`,`email`) VALUES('Test666', 'Test666', 'Test666@spring.org')");
"insert into `customers`(`first_name`,`last_name`,`email`) " +
"VALUES('Test666', 'Test666', 'Test666@spring.org')");
JdbcTestUtils.deleteFromTableWhere(jdbcTemplate, "customers", "first_name = ?", "Test666");
await().atMost(Duration.ofSeconds(30))
@@ -107,4 +111,5 @@ public class CdcBootStarterIntegrationTest {
dataSource.setPassword(password);
return new JdbcTemplate(dataSource);
}
}