Skip to content

Commit ad2abd9

Browse files
committed
Add extra database manipulation to multi-project, too
1 parent 5d9f743 commit ad2abd9

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

modules/ingest-geoip/qa/multi-project/src/yamlRestTest/java/org/elasticsearch/ingest/geoip/IngestGeoIpClientMultiProjectYamlTestSuiteIT.java

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,20 @@
2121
import org.elasticsearch.test.rest.yaml.ClientYamlTestCandidate;
2222
import org.elasticsearch.test.rest.yaml.ESClientYamlSuiteTestCase;
2323
import org.junit.Before;
24+
import org.junit.BeforeClass;
2425
import org.junit.ClassRule;
2526
import org.junit.rules.RuleChain;
27+
import org.junit.rules.TemporaryFolder;
2628
import org.junit.rules.TestRule;
2729

30+
import java.nio.file.Files;
31+
import java.nio.file.Path;
32+
import java.util.Objects;
33+
2834
import static org.elasticsearch.ingest.geoip.IngestGeoIpClientYamlTestSuiteIT.assertDatabasesLoaded;
35+
import static org.elasticsearch.ingest.geoip.IngestGeoIpClientYamlTestSuiteIT.getRootPath;
2936
import static org.elasticsearch.ingest.geoip.IngestGeoIpClientYamlTestSuiteIT.putGeoipPipeline;
37+
import static org.hamcrest.Matchers.is;
3038

3139
@FixForMultiProject(description = "Potentially remove this test after https://elasticco.atlassian.net/browse/ES-12094 is implemented")
3240
public class IngestGeoIpClientMultiProjectYamlTestSuiteIT extends MultipleProjectsClientYamlSuiteTestCase {
@@ -35,7 +43,10 @@ public class IngestGeoIpClientMultiProjectYamlTestSuiteIT extends MultipleProjec
3543

3644
private static GeoIpHttpFixture fixture = new GeoIpHttpFixture(useFixture);
3745

46+
public static TemporaryFolder configDir = new TemporaryFolder();
47+
3848
private static ElasticsearchCluster cluster = ElasticsearchCluster.local()
49+
.withConfigDir(() -> getRootPath(configDir))
3950
.module("reindex")
4051
.module("ingest-geoip")
4152
.systemProperty("ingest.geoip.downloader.enabled.default", "true")
@@ -51,7 +62,7 @@ public class IngestGeoIpClientMultiProjectYamlTestSuiteIT extends MultipleProjec
5162
.build();
5263

5364
@ClassRule
54-
public static TestRule ruleChain = RuleChain.outerRule(fixture).around(cluster);
65+
public static TestRule ruleChain = RuleChain.outerRule(fixture).around(configDir).around(cluster);
5566

5667
@Override
5768
protected String getTestRestCluster() {
@@ -67,6 +78,19 @@ public static Iterable<Object[]> parameters() throws Exception {
6778
return ESClientYamlSuiteTestCase.createParameters();
6879
}
6980

81+
@BeforeClass
82+
public static void copyExtraDatabase() throws Exception {
83+
Path configPath = getRootPath(configDir);
84+
assertThat(Files.exists(configPath), is(true));
85+
Path ingestGeoipDatabaseDir = configPath.resolve("ingest-geoip");
86+
Files.createDirectory(ingestGeoipDatabaseDir);
87+
final var clazz = IngestGeoIpClientYamlTestSuiteIT.class; // long line prevention
88+
Files.copy(
89+
Objects.requireNonNull(clazz.getResourceAsStream("/ipinfo/asn_sample.mmdb")),
90+
ingestGeoipDatabaseDir.resolve("asn.mmdb")
91+
);
92+
}
93+
7094
@Before
7195
public void waitForDatabases() throws Exception {
7296
putGeoipPipeline("pipeline-with-geoip");

modules/ingest-geoip/src/yamlRestTest/java/org/elasticsearch/ingest/geoip/IngestGeoIpClientYamlTestSuiteIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ static void assertDatabasesLoaded() throws Exception {
162162
}
163163

164164
@SuppressForbidden(reason = "fixtures use java.io.File based APIs")
165-
private static Path getRootPath(TemporaryFolder folder) {
165+
public static Path getRootPath(TemporaryFolder folder) {
166166
return folder.getRoot().toPath();
167167
}
168168
}

0 commit comments

Comments
 (0)