Skip to content

Commit

Permalink
[#noissue] Apply testcontainers-elasticsearch to testweb
Browse files Browse the repository at this point in the history
  • Loading branch information
emeroad committed Jun 30, 2022
1 parent 2a3833d commit 858900c
Show file tree
Hide file tree
Showing 8 changed files with 142 additions and 111 deletions.
16 changes: 13 additions & 3 deletions agent-testweb/elasticsearch-8-plugin-testweb/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,19 @@
<version>8.1.2</version>
</dependency>
<dependency>
<groupId>pl.allegro.tech</groupId>
<artifactId>embedded-elasticsearch</artifactId>
<version>2.10.0</version>
<groupId>org.testcontainers</groupId>
<artifactId>elasticsearch</artifactId>
<version>${testcontainers.version}</version>
</dependency>
<dependency>
<groupId>com.navercorp.pinpoint</groupId>
<artifactId>pinpoint-plugin-it-utils</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@
@RestController
public class ElasticSearch8PluginController {

private final EmbeddedElasticServer elasticServer;
private final ElasticSearchServer elasticServer;

public ElasticSearch8PluginController(EmbeddedElasticServer elasticServer) {
public ElasticSearch8PluginController(ElasticSearchServer elasticServer) {
this.elasticServer = Objects.requireNonNull(elasticServer, "elasticServer");
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package com.pinpoint.test.plugin;

import com.navercorp.pinpoint.pluginit.utils.LogUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
import org.testcontainers.DockerClientFactory;
import org.testcontainers.containers.output.OutputFrame;
import org.testcontainers.elasticsearch.ElasticsearchContainer;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import java.io.IOException;
import java.util.function.Consumer;

@Component
public class ElasticSearchServer {
private final Logger logger = LogManager.getLogger(this.getClass());
public ElasticsearchContainer elasticSearchContainer;

private final String address = "127.0.0.1";

public String getAddress() {
return address;
}

public int getPort() {
return elasticSearchContainer.getMappedPort(9200);
}

@PostConstruct
public void init() throws IOException, InterruptedException {
logger.info("ElasticSearchServer init");
if (!DockerClientFactory.instance().isDockerAvailable()) {
throw new IllegalStateException("Docker not enabled");
}

elasticSearchContainer = new ElasticsearchContainer();
elasticSearchContainer.withLogConsumer(new Consumer<OutputFrame>() {
@Override
public void accept(OutputFrame outputFrame) {
logger.info(LogUtils.removeLineBreak(outputFrame.getUtf8String()));
}
});
elasticSearchContainer.start();
logger.info("host:{} port:{}", elasticSearchContainer.getHttpHostAddress(), getPort());
}

@PreDestroy
private void shutdown() {
logger.info("ElasticSearchServer destroy");
if (elasticSearchContainer != null) {
elasticSearchContainer.stop();
}
}
}

This file was deleted.

16 changes: 13 additions & 3 deletions agent-testweb/elasticsearch-plugin-testweb/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,19 @@
<version>7.16.0</version>
</dependency>
<dependency>
<groupId>pl.allegro.tech</groupId>
<artifactId>embedded-elasticsearch</artifactId>
<version>2.10.0</version>
<groupId>org.testcontainers</groupId>
<artifactId>elasticsearch</artifactId>
<version>${testcontainers.version}</version>
</dependency>
<dependency>
<groupId>com.navercorp.pinpoint</groupId>
<artifactId>pinpoint-plugin-it-utils</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@
@RestController
public class ElasticSearchPluginController {

private final EmbeddedElasticServer elasticServer;
private final ElasticSearchServer elasticServer;

public ElasticSearchPluginController(EmbeddedElasticServer elasticServer) {
public ElasticSearchPluginController(ElasticSearchServer elasticServer) {
this.elasticServer = Objects.requireNonNull(elasticServer, "elasticServer");
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package com.pinpoint.test.plugin;

import com.navercorp.pinpoint.pluginit.utils.LogUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
import org.testcontainers.DockerClientFactory;
import org.testcontainers.containers.output.OutputFrame;
import org.testcontainers.elasticsearch.ElasticsearchContainer;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import java.util.function.Consumer;


@Component
public class ElasticSearchServer {
private final Logger logger = LogManager.getLogger(this.getClass());
public ElasticsearchContainer elasticSearchContainer;

private final String address = "127.0.0.1";

public String getAddress() {
return address;
}

public int getPort() {
return elasticSearchContainer.getMappedPort(9200);
}

@PostConstruct
public void init() {
logger.info("ElasticSearchServer init");
if (!DockerClientFactory.instance().isDockerAvailable()) {
throw new IllegalStateException("Docker not enabled");
}

elasticSearchContainer = new ElasticsearchContainer();
elasticSearchContainer.withLogConsumer(new Consumer<OutputFrame>() {
@Override
public void accept(OutputFrame outputFrame) {
logger.info(LogUtils.removeLineBreak(outputFrame.getUtf8String()));
}
});
elasticSearchContainer.start();
logger.info("host:{} port:{}", elasticSearchContainer.getHttpHostAddress(), getPort());
}

@PreDestroy
private void shutdown() {
logger.info("ElasticSearchServer destroy");
if (elasticSearchContainer != null) {
elasticSearchContainer.stop();
}
}
}

This file was deleted.

0 comments on commit 858900c

Please sign in to comment.