Skip to content

Commit bf933dd

Browse files
admitrovijusti
authored andcommitted
Replace ToxiproxyContainer.ContainerProxy to ToxiproxyClient #1181
1 parent b8676f1 commit bf933dd

File tree

61 files changed

+983
-662
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+983
-662
lines changed

embedded-aerospike/src/main/java/com/playtika/testcontainer/aerospike/EmbeddedAerospikeBootstrapConfiguration.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44
import com.playtika.testcontainer.common.spring.DockerPresenceBootstrapConfiguration;
55
import com.playtika.testcontainer.common.utils.ContainerUtils;
66
import com.playtika.testcontainer.toxiproxy.EmbeddedToxiProxyBootstrapConfiguration;
7+
import com.playtika.testcontainer.toxiproxy.ToxiproxyClientProxy;
8+
import com.playtika.testcontainer.toxiproxy.ToxiproxyHelper;
79
import com.playtika.testcontainer.toxiproxy.condition.ConditionalOnToxiProxyEnabled;
10+
import eu.rekawek.toxiproxy.ToxiproxyClient;
811
import lombok.extern.slf4j.Slf4j;
912
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
1013
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -24,7 +27,6 @@
2427
import org.testcontainers.containers.wait.strategy.WaitStrategy;
2528

2629
import java.util.LinkedHashMap;
27-
import java.util.Map;
2830
import java.util.Optional;
2931

3032
import static com.playtika.testcontainer.aerospike.AerospikeProperties.BEAN_NAME_AEROSPIKE;
@@ -49,20 +51,19 @@ public AerospikeWaitStrategy aerospikeStartupCheckStrategy(AerospikeProperties p
4951

5052
@Bean
5153
@ConditionalOnToxiProxyEnabled(module = "aerospike")
52-
ToxiproxyContainer.ContainerProxy aerospikeContainerProxy(ToxiproxyContainer toxiproxyContainer,
53-
GenericContainer<?> aerospike,
54-
AerospikeProperties properties,
55-
ConfigurableEnvironment environment) {
56-
ToxiproxyContainer.ContainerProxy proxy = toxiproxyContainer.getProxy(aerospike, properties.port);
57-
58-
Map<String, Object> map = new LinkedHashMap<>();
59-
map.put("embedded.aerospike.toxiproxy.host", proxy.getContainerIpAddress());
60-
map.put("embedded.aerospike.toxiproxy.port", proxy.getProxyPort());
61-
map.put("embedded.aerospike.toxiproxy.proxyName", proxy.getName());
62-
63-
MapPropertySource propertySource = new MapPropertySource("embeddedAerospikeToxiProxyInfo", map);
64-
environment.getPropertySources().addFirst(propertySource);
65-
log.info("Started Aerospike ToxiProxy connection details {}", map);
54+
ToxiproxyClientProxy aerospikeContainerProxy(ToxiproxyClient toxiproxyClient,
55+
ToxiproxyContainer toxiproxyContainer,
56+
GenericContainer<?> aerospike,
57+
AerospikeProperties properties,
58+
ConfigurableEnvironment environment) {
59+
ToxiproxyClientProxy proxy = ToxiproxyHelper.createProxy(
60+
toxiproxyClient,
61+
toxiproxyContainer,
62+
aerospike,
63+
properties.port,
64+
"aerospike");
65+
66+
ToxiproxyHelper.registerProxyEnvironment(proxy, "embedded.aerospike", "embeddedAerospikeToxiProxyInfo", environment);
6667

6768
return proxy;
6869
}

embedded-aerospike/src/test/java/com/playtika/testcontainer/aerospike/EmbeddedAerospikeBootstrapConfigurationTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import com.aerospike.client.*;
44
import com.aerospike.client.Record;
55
import com.aerospike.client.policy.Policy;
6+
import com.playtika.testcontainer.toxiproxy.ToxiproxyClientProxy;
67
import eu.rekawek.toxiproxy.model.ToxicDirection;
78
import org.assertj.core.data.Offset;
89
import org.junit.jupiter.api.Test;
910
import org.springframework.beans.factory.BeanFactoryUtils;
1011
import org.springframework.beans.factory.annotation.Autowired;
11-
import org.testcontainers.containers.ToxiproxyContainer;
1212

1313
import java.io.IOException;
1414

@@ -19,7 +19,7 @@
1919
public class EmbeddedAerospikeBootstrapConfigurationTest extends BaseAerospikeTest {
2020

2121
@Autowired
22-
ToxiproxyContainer.ContainerProxy aerospikeContainerProxy;
22+
ToxiproxyClientProxy aerospikeContainerProxy;
2323

2424
@Test
2525
public void shouldSave() {

embedded-aerospike/src/test/java/com/playtika/testcontainer/aerospike/ToxiProxyAerospikeTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@
44
import com.aerospike.client.Key;
55
import com.aerospike.client.Record;
66
import com.aerospike.client.policy.Policy;
7+
import com.playtika.testcontainer.toxiproxy.ToxiproxyClientProxy;
78
import eu.rekawek.toxiproxy.model.ToxicDirection;
89
import org.junit.jupiter.api.Test;
910
import org.springframework.beans.factory.annotation.Autowired;
10-
import org.testcontainers.containers.ToxiproxyContainer;
1111

1212
import static org.assertj.core.api.Assertions.assertThatThrownBy;
1313

1414
public class ToxiProxyAerospikeTest extends BaseAerospikeTest {
1515

1616
@Autowired
17-
ToxiproxyContainer.ContainerProxy aerospikeContainerProxy;
17+
ToxiproxyClientProxy aerospikeContainerProxy;
1818

1919
@Test
2020
void addsLatency() throws Exception {

embedded-artifactory/src/main/java/com/playtika/testcontainer/artifactory/EmbeddedArtifactoryBootstrapConfiguration.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
import com.playtika.testcontainer.common.spring.DockerPresenceBootstrapConfiguration;
44
import com.playtika.testcontainer.common.utils.ContainerUtils;
5+
import com.playtika.testcontainer.toxiproxy.ToxiproxyClientProxy;
6+
import com.playtika.testcontainer.toxiproxy.ToxiproxyHelper;
57
import com.playtika.testcontainer.toxiproxy.condition.ConditionalOnToxiProxyEnabled;
8+
import eu.rekawek.toxiproxy.ToxiproxyClient;
69
import lombok.extern.slf4j.Slf4j;
710
import org.springframework.beans.factory.annotation.Qualifier;
811
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
@@ -21,7 +24,6 @@
2124
import org.testcontainers.containers.wait.strategy.WaitStrategy;
2225

2326
import java.util.LinkedHashMap;
24-
import java.util.Map;
2527
import java.util.Optional;
2628

2729
import static com.playtika.testcontainer.artifactory.ArtifactoryProperties.ARTIFACTORY_BEAN_NAME;
@@ -48,20 +50,19 @@ public WaitStrategy artifactoryWaitStrategy(ArtifactoryProperties properties) {
4850

4951
@Bean
5052
@ConditionalOnToxiProxyEnabled(module = "artifactory")
51-
ToxiproxyContainer.ContainerProxy artifactoryContainerProxy(ToxiproxyContainer toxiproxyContainer,
52-
@Qualifier(ARTIFACTORY_BEAN_NAME) GenericContainer<?> artifactory,
53-
ArtifactoryProperties properties,
54-
ConfigurableEnvironment environment) {
55-
ToxiproxyContainer.ContainerProxy proxy = toxiproxyContainer.getProxy(artifactory, properties.getRestApiPort());
56-
57-
Map<String, Object> map = new LinkedHashMap<>();
58-
map.put("embedded.artifactory.toxiproxy.host", proxy.getContainerIpAddress());
59-
map.put("embedded.artifactory.toxiproxy.port", proxy.getProxyPort());
60-
map.put("embedded.artifactory.toxiproxy.proxyName", proxy.getName());
61-
62-
MapPropertySource propertySource = new MapPropertySource("embeddedArtifactoryToxiproxyInfo", map);
63-
environment.getPropertySources().addFirst(propertySource);
64-
log.info("Started Artifactory ToxiProxy connection details {}", map);
53+
ToxiproxyClientProxy artifactoryContainerProxy(ToxiproxyClient toxiproxyClient,
54+
ToxiproxyContainer toxiproxyContainer,
55+
@Qualifier(ARTIFACTORY_BEAN_NAME) GenericContainer<?> artifactory,
56+
ArtifactoryProperties properties,
57+
ConfigurableEnvironment environment) {
58+
ToxiproxyClientProxy proxy = ToxiproxyHelper.createProxy(
59+
toxiproxyClient,
60+
toxiproxyContainer,
61+
artifactory,
62+
properties.getRestApiPort(),
63+
"artifactory");
64+
65+
ToxiproxyHelper.registerProxyEnvironment(proxy, "embedded.artifactory", "embeddedArtifactoryToxiproxyInfo", environment);
6566

6667
return proxy;
6768
}

embedded-azurite/src/main/java/com/playtika/testcontainer/azurite/EmbeddedAzuriteBootstrapConfiguration.java

Lines changed: 42 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
import com.playtika.testcontainer.common.spring.DockerPresenceBootstrapConfiguration;
44
import com.playtika.testcontainer.common.utils.ContainerUtils;
5+
import com.playtika.testcontainer.toxiproxy.ToxiproxyClientProxy;
6+
import com.playtika.testcontainer.toxiproxy.ToxiproxyHelper;
57
import com.playtika.testcontainer.toxiproxy.condition.ConditionalOnToxiProxyEnabled;
8+
import eu.rekawek.toxiproxy.ToxiproxyClient;
69
import lombok.extern.slf4j.Slf4j;
710
import org.springframework.beans.factory.annotation.Qualifier;
811
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
@@ -18,7 +21,6 @@
1821
import org.testcontainers.containers.ToxiproxyContainer;
1922

2023
import java.util.LinkedHashMap;
21-
import java.util.Map;
2224
import java.util.Optional;
2325

2426
import static com.playtika.testcontainer.azurite.AzuriteProperties.AZURITE_BEAN_NAME;
@@ -36,60 +38,57 @@ public class EmbeddedAzuriteBootstrapConfiguration {
3638

3739
@Bean
3840
@ConditionalOnToxiProxyEnabled(module = "azurite")
39-
ToxiproxyContainer.ContainerProxy azuriteBlobContainerProxy(ToxiproxyContainer toxiproxyContainer,
40-
@Qualifier(AZURITE_BEAN_NAME) GenericContainer<?> azurite,
41-
AzuriteProperties properties,
42-
ConfigurableEnvironment environment) {
43-
ToxiproxyContainer.ContainerProxy proxy = toxiproxyContainer.getProxy(azurite, properties.getBlobStoragePort());
44-
45-
Map<String, Object> map = new LinkedHashMap<>();
46-
map.put("embedded.azurite.toxiproxy.host", proxy.getContainerIpAddress());
47-
map.put("embedded.azurite.toxiproxy.blobStoragePort", proxy.getProxyPort());
48-
map.put("embedded.azurite.toxiproxy.proxyName", proxy.getName());
49-
50-
MapPropertySource propertySource = new MapPropertySource("embeddedAzuriteBlobToxiproxyInfo", map);
51-
environment.getPropertySources().addFirst(propertySource);
52-
log.info("Started Azurite ToxiProxy connection details {}", map);
41+
ToxiproxyClientProxy azuriteBlobContainerProxy(ToxiproxyClient toxiproxyClient,
42+
ToxiproxyContainer toxiproxyContainer,
43+
@Qualifier(AZURITE_BEAN_NAME) GenericContainer<?> azurite,
44+
AzuriteProperties properties,
45+
ConfigurableEnvironment environment) {
46+
ToxiproxyClientProxy proxy = ToxiproxyHelper.createProxy(
47+
toxiproxyClient,
48+
toxiproxyContainer,
49+
azurite,
50+
properties.getBlobStoragePort(),
51+
"azurite");
52+
53+
ToxiproxyHelper.registerProxyEnvironment(proxy, "embedded.azurite", "embeddedAzuriteBlobToxiproxyInfo", environment, "blobStoragePort");
5354

5455
return proxy;
5556
}
5657

5758
@Bean
5859
@ConditionalOnToxiProxyEnabled(module = "azurite")
59-
ToxiproxyContainer.ContainerProxy azuriteQueueContainerProxy(ToxiproxyContainer toxiproxyContainer,
60-
@Qualifier(AZURITE_BEAN_NAME) GenericContainer<?> azurite,
61-
AzuriteProperties properties,
62-
ConfigurableEnvironment environment) {
63-
ToxiproxyContainer.ContainerProxy proxy = toxiproxyContainer.getProxy(azurite, properties.getQueueStoragePort());
64-
65-
Map<String, Object> map = new LinkedHashMap<>();
66-
map.put("embedded.azurite.toxiproxy.host", proxy.getContainerIpAddress());
67-
map.put("embedded.azurite.toxiproxy.queueStoragePor", proxy.getProxyPort());
68-
map.put("embedded.azurite.toxiproxy.proxyName", proxy.getName());
69-
70-
MapPropertySource propertySource = new MapPropertySource("embeddedAzuriteQueueToxiproxyInfo", map);
71-
environment.getPropertySources().addFirst(propertySource);
72-
log.info("Started Azurite ToxiProxy connection details {}", map);
60+
ToxiproxyClientProxy azuriteQueueContainerProxy(ToxiproxyClient toxiproxyClient,
61+
ToxiproxyContainer toxiproxyContainer,
62+
@Qualifier(AZURITE_BEAN_NAME) GenericContainer<?> azurite,
63+
AzuriteProperties properties,
64+
ConfigurableEnvironment environment) {
65+
ToxiproxyClientProxy proxy = ToxiproxyHelper.createProxy(
66+
toxiproxyClient,
67+
toxiproxyContainer,
68+
azurite,
69+
properties.getQueueStoragePort(),
70+
"azurite");
71+
72+
ToxiproxyHelper.registerProxyEnvironment(proxy, "embedded.azurite", "embeddedAzuriteQueueToxiproxyInfo", environment, "queueStoragePor");
7373

7474
return proxy;
7575
}
7676

7777
@Bean
7878
@ConditionalOnToxiProxyEnabled(module = "azurite")
79-
ToxiproxyContainer.ContainerProxy azuriteTableContainerProxy(ToxiproxyContainer toxiproxyContainer,
80-
@Qualifier(AZURITE_BEAN_NAME) GenericContainer<?> azurite,
81-
AzuriteProperties properties,
82-
ConfigurableEnvironment environment) {
83-
ToxiproxyContainer.ContainerProxy proxy = toxiproxyContainer.getProxy(azurite, properties.getTableStoragePort());
84-
85-
Map<String, Object> map = new LinkedHashMap<>();
86-
map.put("embedded.azurite.toxiproxy.host", proxy.getContainerIpAddress());
87-
map.put("embedded.azurite.toxiproxy.tableStoragePort", proxy.getProxyPort());
88-
map.put("embedded.azurite.toxiproxy.proxyName", proxy.getName());
89-
90-
MapPropertySource propertySource = new MapPropertySource("embeddedAzuriteTableToxiproxyInfo", map);
91-
environment.getPropertySources().addFirst(propertySource);
92-
log.info("Started Azurite ToxiProxy connection details {}", map);
79+
ToxiproxyClientProxy azuriteTableContainerProxy(ToxiproxyClient toxiproxyClient,
80+
ToxiproxyContainer toxiproxyContainer,
81+
@Qualifier(AZURITE_BEAN_NAME) GenericContainer<?> azurite,
82+
AzuriteProperties properties,
83+
ConfigurableEnvironment environment) {
84+
ToxiproxyClientProxy proxy = ToxiproxyHelper.createProxy(
85+
toxiproxyClient,
86+
toxiproxyContainer,
87+
azurite,
88+
properties.getTableStoragePort(),
89+
"azurite");
90+
91+
ToxiproxyHelper.registerProxyEnvironment(proxy, "embedded.azurite", "embeddedAzuriteTableToxiproxyInfo", environment, "tableStoragePort");
9392

9493
return proxy;
9594
}

embedded-cassandra/src/main/java/com/playtika/testcontainer/cassandra/EmbeddedCassandraBootstrapConfiguration.java

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
import com.playtika.testcontainer.common.utils.ContainerUtils;
44
import com.playtika.testcontainer.common.utils.FileUtils;
5+
import com.playtika.testcontainer.toxiproxy.ToxiproxyClientProxy;
6+
import com.playtika.testcontainer.toxiproxy.ToxiproxyHelper;
57
import com.playtika.testcontainer.toxiproxy.condition.ConditionalOnToxiProxyEnabled;
8+
import eu.rekawek.toxiproxy.ToxiproxyClient;
69
import lombok.RequiredArgsConstructor;
710
import lombok.extern.slf4j.Slf4j;
811
import org.springframework.beans.factory.annotation.Qualifier;
@@ -47,20 +50,19 @@ public class EmbeddedCassandraBootstrapConfiguration {
4750

4851
@Bean
4952
@ConditionalOnToxiProxyEnabled(module = "cassandra")
50-
ToxiproxyContainer.ContainerProxy cassandraContainerProxy(ToxiproxyContainer toxiproxyContainer,
51-
@Qualifier(BEAN_NAME_EMBEDDED_CASSANDRA) CassandraContainer cassandra,
52-
CassandraProperties properties,
53-
ConfigurableEnvironment environment) {
54-
ToxiproxyContainer.ContainerProxy proxy = toxiproxyContainer.getProxy(cassandra, properties.getPort());
55-
56-
Map<String, Object> map = new LinkedHashMap<>();
57-
map.put("embedded.cassandra.toxiproxy.host", proxy.getContainerIpAddress());
58-
map.put("embedded.cassandra.toxiproxy.port", proxy.getProxyPort());
59-
map.put("embedded.cassandra.toxiproxy.proxyName", proxy.getName());
60-
61-
MapPropertySource propertySource = new MapPropertySource("embeddedCassandraToxiproxyInfo", map);
62-
environment.getPropertySources().addFirst(propertySource);
63-
log.info("Started Cassandra ToxiProxy connection details {}", map);
53+
ToxiproxyClientProxy cassandraContainerProxy(ToxiproxyClient toxiproxyClient,
54+
ToxiproxyContainer toxiproxyContainer,
55+
@Qualifier(BEAN_NAME_EMBEDDED_CASSANDRA) CassandraContainer cassandra,
56+
CassandraProperties properties,
57+
ConfigurableEnvironment environment) {
58+
ToxiproxyClientProxy proxy = ToxiproxyHelper.createProxy(
59+
toxiproxyClient,
60+
toxiproxyContainer,
61+
cassandra,
62+
properties.getPort(),
63+
"cassandra");
64+
65+
ToxiproxyHelper.registerProxyEnvironment(proxy, "embedded.cassandra", "embeddedCassandraToxiproxyInfo", environment);
6466

6567
return proxy;
6668
}

embedded-clickhouse/src/main/java/com/playtika/testcontainer/clickhouse/EmbeddedClickHouseBootstrapConfiguration.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
import com.playtika.testcontainer.common.spring.DockerPresenceBootstrapConfiguration;
44
import com.playtika.testcontainer.common.utils.ContainerUtils;
5+
import com.playtika.testcontainer.toxiproxy.ToxiproxyClientProxy;
6+
import com.playtika.testcontainer.toxiproxy.ToxiproxyHelper;
57
import com.playtika.testcontainer.toxiproxy.condition.ConditionalOnToxiProxyEnabled;
8+
import eu.rekawek.toxiproxy.ToxiproxyClient;
69
import lombok.extern.slf4j.Slf4j;
710
import org.springframework.beans.factory.annotation.Qualifier;
811
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
@@ -19,7 +22,6 @@
1922
import org.testcontainers.containers.ToxiproxyContainer;
2023

2124
import java.util.LinkedHashMap;
22-
import java.util.Map;
2325
import java.util.Optional;
2426

2527
import static com.playtika.testcontainer.clickhouse.ClickHouseProperties.BEAN_NAME_EMBEDDED_CLICK_HOUSE;
@@ -37,20 +39,19 @@ public class EmbeddedClickHouseBootstrapConfiguration {
3739

3840
@Bean
3941
@ConditionalOnToxiProxyEnabled(module = "clickhouse")
40-
ToxiproxyContainer.ContainerProxy clickhouseContainerProxy(ToxiproxyContainer toxiproxyContainer,
41-
@Qualifier(BEAN_NAME_EMBEDDED_CLICK_HOUSE) ClickHouseContainer clickHouseContainer,
42-
ClickHouseProperties properties,
43-
ConfigurableEnvironment environment) {
44-
ToxiproxyContainer.ContainerProxy proxy = toxiproxyContainer.getProxy(clickHouseContainer, properties.getPort());
45-
46-
Map<String, Object> map = new LinkedHashMap<>();
47-
map.put("embedded.clickhouse.toxiproxy.host", proxy.getContainerIpAddress());
48-
map.put("embedded.clickhouse.toxiproxy.port", proxy.getProxyPort());
49-
map.put("embedded.clickhouse.toxiproxy.proxyName", proxy.getName());
50-
51-
MapPropertySource propertySource = new MapPropertySource("embeddedClickHouseToxiproxyInfo", map);
52-
environment.getPropertySources().addFirst(propertySource);
53-
log.info("Started ClickHouse ToxiProxy connection details {}", map);
42+
ToxiproxyClientProxy clickhouseContainerProxy(ToxiproxyClient toxiproxyClient,
43+
ToxiproxyContainer toxiproxyContainer,
44+
@Qualifier(BEAN_NAME_EMBEDDED_CLICK_HOUSE) ClickHouseContainer clickHouseContainer,
45+
ClickHouseProperties properties,
46+
ConfigurableEnvironment environment) {
47+
ToxiproxyClientProxy proxy = ToxiproxyHelper.createProxy(
48+
toxiproxyClient,
49+
toxiproxyContainer,
50+
clickHouseContainer,
51+
properties.getPort(),
52+
"clickhouse");
53+
54+
ToxiproxyHelper.registerProxyEnvironment(proxy, "embedded.clickhouse", "embeddedClickHouseToxiproxyInfo", environment);
5455

5556
return proxy;
5657
}

0 commit comments

Comments
 (0)