Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixed multiply bean provided #1644

Merged
merged 1 commit into from
Dec 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
@ConfigurationProperties("embedded.aerospike")
public class AerospikeProperties extends CommonContainerProperties {

static final String AEROSPIKE_BEAN_NAME = "aerospike";
static final String BEAN_NAME_AEROSPIKE = "aerospike";
static final String BEAN_NAME_AEROSPIKE_BEAN_NAME = "aerospikePackageProperties";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

strange name


boolean enabled = true;
String namespace = "TEST";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import java.util.Map;
import java.util.Optional;

import static com.playtika.testcontainer.aerospike.AerospikeProperties.AEROSPIKE_BEAN_NAME;
import static com.playtika.testcontainer.aerospike.AerospikeProperties.BEAN_NAME_AEROSPIKE;
import static com.playtika.testcontainer.common.utils.ContainerUtils.configureCommonsAndStart;

@Slf4j
Expand Down Expand Up @@ -68,7 +68,7 @@ ToxiproxyContainer.ContainerProxy aerospikeContainerProxy(ToxiproxyContainer tox
}


@Bean(name = AEROSPIKE_BEAN_NAME, destroyMethod = "stop")
@Bean(name = BEAN_NAME_AEROSPIKE, destroyMethod = "stop")
public GenericContainer<?> aerospike(AerospikeWaitStrategy aerospikeWaitStrategy,
ConfigurableEnvironment environment,
AerospikeProperties properties,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import static com.playtika.testcontainer.aerospike.AerospikeProperties.AEROSPIKE_BEAN_NAME;
import static com.playtika.testcontainer.aerospike.AerospikeProperties.BEAN_NAME_AEROSPIKE;

@Slf4j
@AutoConfiguration
Expand All @@ -26,7 +26,7 @@ public class EmbeddedAerospikeDependenciesAutoConfiguration {
protected static class AerospikeClientPostProcessorConfiguration {
@Bean
public static BeanFactoryPostProcessor aerospikeClientDependencyPostProcessor() {
return new DependsOnPostProcessor(AerospikeClient.class, new String[]{AEROSPIKE_BEAN_NAME});
return new DependsOnPostProcessor(AerospikeClient.class, new String[]{BEAN_NAME_AEROSPIKE});
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,24 @@

import java.time.Instant;

import static com.playtika.testcontainer.aerospike.AerospikeProperties.AEROSPIKE_BEAN_NAME;
import static com.playtika.testcontainer.aerospike.AerospikeProperties.BEAN_NAME_AEROSPIKE;
import static com.playtika.testcontainer.aerospike.AerospikeProperties.BEAN_NAME_AEROSPIKE_BEAN_NAME;

@AutoConfiguration(afterName = "org.springframework.boot.autoconfigure.aerospike.AerospikeAutoConfiguration")
@ConditionalOnExpression("${embedded.containers.enabled:true}")
@ConditionalOnBean({AerospikeClient.class, AerospikeProperties.class})
@ConditionalOnProperty(value = "embedded.aerospike.enabled", matchIfMissing = true)
public class EmbeddedAerospikeTestOperationsAutoConfiguration {

@Bean
@Bean(BEAN_NAME_AEROSPIKE_BEAN_NAME)
@ConfigurationProperties("embedded.aerospike.install")
public InstallPackageProperties aerospikePackageProperties() {
return new InstallPackageProperties();
}

@Bean
public PackageInstaller aerospikePackageInstaller(InstallPackageProperties aerospikePackageProperties,
@Qualifier(AEROSPIKE_BEAN_NAME) GenericContainer<?> aerospike) {
public PackageInstaller aerospikePackageInstaller(@Qualifier(BEAN_NAME_AEROSPIKE_BEAN_NAME) InstallPackageProperties aerospikePackageProperties,
@Qualifier(BEAN_NAME_AEROSPIKE) GenericContainer<?> aerospike) {
return new AptGetPackageInstaller(aerospikePackageProperties, aerospike);
}

Expand Down Expand Up @@ -62,7 +63,7 @@ public void cleanExpiredDocumentsBefore(Instant expireTime) {
@Bean
@ConditionalOnMissingBean
public AerospikeTestOperations aerospikeTestOperations(ExpiredDocumentsCleaner expiredDocumentsCleaner,
@Qualifier(AEROSPIKE_BEAN_NAME) GenericContainer<?> aerospike) {
@Qualifier(BEAN_NAME_AEROSPIKE) GenericContainer<?> aerospike) {
return new AerospikeTestOperations(expiredDocumentsCleaner, aerospike);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

import java.io.IOException;

import static com.playtika.testcontainer.aerospike.AerospikeProperties.AEROSPIKE_BEAN_NAME;
import static com.playtika.testcontainer.aerospike.AerospikeProperties.BEAN_NAME_AEROSPIKE;
import static org.assertj.core.api.Assertions.assertThat;


Expand Down Expand Up @@ -76,7 +76,7 @@ private void hasDependsOn(String beanName) {
assertThat(beanFactory.getBeanDefinition(beanName).getDependsOn())
.isNotNull()
.isNotEmpty()
.contains(AEROSPIKE_BEAN_NAME);
.contains(BEAN_NAME_AEROSPIKE);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
@ConfigurationProperties("embedded.couchbase")
public class CouchbaseProperties extends CommonContainerProperties {
public static final String BEAN_NAME_EMBEDDED_COUCHBASE = "embeddedCouchbase";
public static final String BEAN_NAME_EMBEDDED_COUCHBASE_PACKAGE_PROPERTIES = "couchbasePackageProperties";
CouchbaseService[] services = new CouchbaseService[]{
CouchbaseService.INDEX
, CouchbaseService.KV
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,23 @@
import org.testcontainers.containers.GenericContainer;

import static com.playtika.testcontainer.couchbase.CouchbaseProperties.BEAN_NAME_EMBEDDED_COUCHBASE;
import static com.playtika.testcontainer.couchbase.CouchbaseProperties.BEAN_NAME_EMBEDDED_COUCHBASE_PACKAGE_PROPERTIES;

@AutoConfiguration
@ConditionalOnExpression("${embedded.containers.enabled:true}")
@ConditionalOnBean({CouchbaseProperties.class})
@ConditionalOnProperty(value = "embedded.couchbase.enabled", matchIfMissing = true)
public class EmbeddedCouchbaseTestOperationsAutoConfiguration {

@Bean
@Bean(BEAN_NAME_EMBEDDED_COUCHBASE_PACKAGE_PROPERTIES)
@ConfigurationProperties("embedded.couchbase.install")
public InstallPackageProperties couchbasePackageProperties() {
return new InstallPackageProperties();
}

@Bean
public PackageInstaller couchbasePackageInstaller(
InstallPackageProperties couchbasePackageProperties,
@Qualifier(BEAN_NAME_EMBEDDED_COUCHBASE_PACKAGE_PROPERTIES) InstallPackageProperties couchbasePackageProperties,
@Qualifier(BEAN_NAME_EMBEDDED_COUCHBASE) GenericContainer<?> couchbase
) {
return new AptGetPackageInstaller(couchbasePackageProperties, couchbase);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,22 @@
import org.testcontainers.containers.GenericContainer;

import static com.playtika.testcontainer.kafka.properties.KafkaConfigurationProperties.KAFKA_BEAN_NAME;
import static com.playtika.testcontainer.kafka.properties.KafkaConfigurationProperties.KAFKA_PACKAGE_PROPERTIES_BEAN_NAME;

@AutoConfiguration
@ConditionalOnBean({KafkaConfigurationProperties.class})
@ConditionalOnExpression("${embedded.containers.enabled:true}")
@ConditionalOnProperty(value = {"embedded.kafka.enabled"}, havingValue = "true", matchIfMissing = true)
public class EmbeddedKafkaTestOperationsAutoConfiguration {

@Bean
@Bean(KAFKA_PACKAGE_PROPERTIES_BEAN_NAME)
@ConfigurationProperties("embedded.kafka.install")
public InstallPackageProperties kafkaPackageProperties() {
return new InstallPackageProperties();
}

@Bean
public PackageInstaller kafkaPackageInstaller(InstallPackageProperties kafkaPackageProperties,
public PackageInstaller kafkaPackageInstaller(@Qualifier(KAFKA_PACKAGE_PROPERTIES_BEAN_NAME) InstallPackageProperties kafkaPackageProperties,
@Qualifier(KAFKA_BEAN_NAME) GenericContainer<?> kafka) {
return new YumPackageInstaller(kafkaPackageProperties, kafka);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ private void registerKafkaEnvironment(GenericContainer<?> kafka,

@Bean
public KafkaTopicsConfigurer kafkaConfigurer(
GenericContainer<?> kafka,
@Qualifier(KAFKA_BEAN_NAME) GenericContainer<?> kafka,
KafkaConfigurationProperties kafkaProperties,
ZookeeperConfigurationProperties zookeeperProperties) {
return new KafkaTopicsConfigurer(kafka, zookeeperProperties, kafkaProperties);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
public class KafkaConfigurationProperties extends CommonContainerProperties {

public static final String KAFKA_BEAN_NAME = "kafka";
public static final String KAFKA_PACKAGE_PROPERTIES_BEAN_NAME = "kafkaPackageProperties";
public static final String KAFKA_PLAIN_TEXT_TOXI_PROXY_BEAN_NAME = "kafkaPlainTextContainerProxy";
public static final String KAFKA_SASL_TOXI_PROXY_BEAN_NAME = "kafkaSaslContainerProxy";
public static final String KAFKA_USER = "alice";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,23 @@
import org.testcontainers.containers.GenericContainer;

import static com.playtika.testcontainer.keydb.KeyDbProperties.BEAN_NAME_EMBEDDED_KEYDB;
import static com.playtika.testcontainer.keydb.KeyDbProperties.BEAN_NAME_EMBEDDED_KEYDB_PACKAGE_PROPERTIES;

@AutoConfiguration
@ConditionalOnBean({KeyDbProperties.class})
@ConditionalOnExpression("${embedded.containers.enabled:true}")
@ConditionalOnProperty(value = "embedded.keydb.enabled", matchIfMissing = true)
public class EmbeddedKeyDbTestOperationsAutoConfiguration {

@Bean
@Bean(BEAN_NAME_EMBEDDED_KEYDB_PACKAGE_PROPERTIES)
@ConfigurationProperties("embedded.keydb.install")
public InstallPackageProperties keyDbPackageProperties() {
return new InstallPackageProperties();
}

@Bean
public PackageInstaller keyDbPackageInstaller(
InstallPackageProperties keyDbPackageProperties,
@Qualifier(BEAN_NAME_EMBEDDED_KEYDB_PACKAGE_PROPERTIES) InstallPackageProperties keyDbPackageProperties,
@Qualifier(BEAN_NAME_EMBEDDED_KEYDB) GenericContainer<?> keyDb
) {
return new ApkPackageInstaller(keyDbPackageProperties, keyDb);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
@ConfigurationProperties("embedded.keydb")
public class KeyDbProperties extends CommonContainerProperties implements InitializingBean {
public static final String BEAN_NAME_EMBEDDED_KEYDB = "embeddedKeyDb";
public static final String BEAN_NAME_EMBEDDED_KEYDB_PACKAGE_PROPERTIES = "keyDbPackageProperties";

public String user = "root";
public String password = "passw";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,23 @@
import org.testcontainers.containers.GenericContainer;

import static com.playtika.testcontainer.mariadb.MariaDBProperties.BEAN_NAME_EMBEDDED_MARIADB;
import static com.playtika.testcontainer.mariadb.MariaDBProperties.BEAN_NAME_MARIADB_PACKAGE_PROPERTIES;

@AutoConfiguration
@ConditionalOnExpression("${embedded.containers.enabled:true}")
@ConditionalOnBean({MariaDBProperties.class})
@ConditionalOnProperty(value = "embedded.mariadb.enabled", matchIfMissing = true)
public class EmbeddedMariaDBTestOperationsAutoConfiguration {

@Bean
@Bean(BEAN_NAME_MARIADB_PACKAGE_PROPERTIES)
@ConfigurationProperties("embedded.mariadb.install")
public InstallPackageProperties mariadbPackageProperties() {
return new InstallPackageProperties();
}

@Bean
public PackageInstaller mariadbPackageInstaller(
InstallPackageProperties mariadbPackageProperties,
@Qualifier(BEAN_NAME_MARIADB_PACKAGE_PROPERTIES) InstallPackageProperties mariadbPackageProperties,
@Qualifier(BEAN_NAME_EMBEDDED_MARIADB) GenericContainer<?> mariadb
) {
return new AptGetPackageInstaller(mariadbPackageProperties, mariadb);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
@ConfigurationProperties("embedded.mariadb")
public class MariaDBProperties extends CommonContainerProperties {
static final String BEAN_NAME_EMBEDDED_MARIADB = "embeddedMariaDb";
static final String BEAN_NAME_MARIADB_PACKAGE_PROPERTIES= "mariadbPackageProperties";

String encoding = "utf8mb4";
String collation = "utf8mb4_unicode_ci";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,23 @@
import org.testcontainers.containers.GenericContainer;

import static com.playtika.testcontainer.memsql.MemSqlProperties.BEAN_NAME_EMBEDDED_MEMSQL;
import static com.playtika.testcontainer.memsql.MemSqlProperties.BEAN_NAME_EMBEDDED_MEMSQL_PACKAGE_PROPERTIES;

@AutoConfiguration
@ConditionalOnBean({MemSqlProperties.class})
@ConditionalOnExpression("${embedded.containers.enabled:true}")
@ConditionalOnProperty(value = "embedded.memsql.enabled", matchIfMissing = true)
public class EmbeddedMemSqlTestOperationsAutoConfiguration {

@Bean
@Bean(BEAN_NAME_EMBEDDED_MEMSQL_PACKAGE_PROPERTIES)
@ConfigurationProperties("embedded.memsql.install")
public InstallPackageProperties memsqlPackageProperties() {
return new InstallPackageProperties();
}

@Bean
public PackageInstaller memsqlPackageInstaller(
InstallPackageProperties memsqlPackageProperties,
@Qualifier(BEAN_NAME_EMBEDDED_MEMSQL_PACKAGE_PROPERTIES) InstallPackageProperties memsqlPackageProperties,
@Qualifier(BEAN_NAME_EMBEDDED_MEMSQL) GenericContainer<?> memsql
) {
return new YumPackageInstaller(memsqlPackageProperties, memsql);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
@ConfigurationProperties("embedded.memsql")
public class MemSqlProperties extends CommonContainerProperties {
static final String BEAN_NAME_EMBEDDED_MEMSQL = "embeddedMemsql";
static final String BEAN_NAME_EMBEDDED_MEMSQL_PACKAGE_PROPERTIES = "memsqlPackageProperties";
String user = "root";
String password = "pass";
String database = "test_db";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import java.util.Optional;

import static com.playtika.testcontainer.common.utils.ContainerUtils.configureCommonsAndStart;
import static com.playtika.testcontainer.minio.MinioProperties.MINIO_BEAN_NAME;
import static com.playtika.testcontainer.minio.MinioProperties.BEAN_NAME_EMBEDDED_MINIO;

@Slf4j
@Configuration
Expand All @@ -48,7 +48,7 @@ public MinioWaitStrategy minioWaitStrategy(MinioProperties properties) {
@Bean
@ConditionalOnToxiProxyEnabled(module = "minio")
ToxiproxyContainer.ContainerProxy minioContainerProxy(ToxiproxyContainer toxiproxyContainer,
@Qualifier(MINIO_BEAN_NAME) GenericContainer<?> minio,
@Qualifier(BEAN_NAME_EMBEDDED_MINIO) GenericContainer<?> minio,
ConfigurableEnvironment environment,
MinioProperties properties) {
ToxiproxyContainer.ContainerProxy proxy = toxiproxyContainer.getProxy(minio, properties.getPort());
Expand All @@ -65,7 +65,7 @@ ToxiproxyContainer.ContainerProxy minioContainerProxy(ToxiproxyContainer toxipro
return proxy;
}

@Bean(name = MINIO_BEAN_NAME, destroyMethod = "stop")
@Bean(name = BEAN_NAME_EMBEDDED_MINIO, destroyMethod = "stop")
public GenericContainer<?> minio(MinioWaitStrategy minioWaitStrategy,
ConfigurableEnvironment environment,
MinioProperties properties,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,24 +12,25 @@
import org.springframework.context.annotation.Bean;
import org.testcontainers.containers.GenericContainer;

import static com.playtika.testcontainer.minio.MinioProperties.MINIO_BEAN_NAME;
import static com.playtika.testcontainer.minio.MinioProperties.BEAN_NAME_EMBEDDED_MINIO;
import static com.playtika.testcontainer.minio.MinioProperties.BEAN_NAME_EMBEDDED_MINIO_PACKAGE_PROPERTIES;

@AutoConfiguration
@ConditionalOnExpression("${embedded.containers.enabled:true}")
@ConditionalOnBean({MinioProperties.class})
@ConditionalOnProperty(value = "embedded.minio.enabled", matchIfMissing = true)
public class EmbeddedMinioTestOperationsAutoConfiguration {

@Bean
@Bean(BEAN_NAME_EMBEDDED_MINIO_PACKAGE_PROPERTIES)
@ConfigurationProperties("embedded.minio.install")
InstallPackageProperties minioPackageProperties() {
public InstallPackageProperties minioPackageProperties() {
return new InstallPackageProperties();
}

@Bean
PackageInstaller minioPackageInstaller(
InstallPackageProperties minioPackageProperties,
@Qualifier(MINIO_BEAN_NAME) GenericContainer<?> minio
public PackageInstaller minioPackageInstaller(
@Qualifier(BEAN_NAME_EMBEDDED_MINIO_PACKAGE_PROPERTIES) InstallPackageProperties minioPackageProperties,
@Qualifier(BEAN_NAME_EMBEDDED_MINIO) GenericContainer<?> minio
) {
return new MicroDnfPackageInstaller(minioPackageProperties, minio);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
@ConfigurationProperties("embedded.minio")
public class MinioProperties extends CommonContainerProperties {

static final String MINIO_BEAN_NAME = "minio";
static final String BEAN_NAME_EMBEDDED_MINIO = "minio";
static final String BEAN_NAME_EMBEDDED_MINIO_PACKAGE_PROPERTIES = "minioPackageProperties";

String accessKey = "AKIAIOSFODNN7EXAMPLE";
String secretKey = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,23 @@
import org.testcontainers.containers.GenericContainer;

import static com.playtika.testcontainer.mongodb.MongodbProperties.BEAN_NAME_EMBEDDED_MONGODB;
import static com.playtika.testcontainer.mongodb.MongodbProperties.BEAN_NAME_EMBEDDED_MONGODB_PACKAGE_PROPERTIES;

@AutoConfiguration
@ConditionalOnExpression("${embedded.containers.enabled:true}")
@ConditionalOnBean({MongodbProperties.class})
@ConditionalOnProperty(value = "embedded.mongodb.enabled", matchIfMissing = true)
public class EmbeddedMongodbTestOperationsAutoConfiguration {

@Bean
@Bean(BEAN_NAME_EMBEDDED_MONGODB_PACKAGE_PROPERTIES)
@ConfigurationProperties("embedded.mongodb.install")
InstallPackageProperties mongodbPackageProperties() {
public InstallPackageProperties mongodbPackageProperties() {
return new InstallPackageProperties();
}

@Bean
PackageInstaller mongodbPackageInstaller(
InstallPackageProperties mongodbPackageProperties,
public PackageInstaller mongodbPackageInstaller(
@Qualifier(BEAN_NAME_EMBEDDED_MONGODB_PACKAGE_PROPERTIES) InstallPackageProperties mongodbPackageProperties,
@Qualifier(BEAN_NAME_EMBEDDED_MONGODB) GenericContainer<?> mongodb
) {
return new AptGetPackageInstaller(mongodbPackageProperties, mongodb);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
public class MongodbProperties extends CommonContainerProperties {

static final String BEAN_NAME_EMBEDDED_MONGODB = "embeddedMongodb";
static final String BEAN_NAME_EMBEDDED_MONGODB_PACKAGE_PROPERTIES = "mongodbPackageProperties";

private String host = "localhost";
/**
Expand Down
Loading