You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by md...@apache.org on 2022/08/01 18:21:10 UTC
[solr] branch main updated: Avoid reading local aws config (#957)
This is an automated email from the ASF dual-hosted git repository.
mdrob pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/main by this push:
new 01c059811a0 Avoid reading local aws config (#957)
01c059811a0 is described below
commit 01c059811a04d2713b34fd0bd54c2a96a1173938
Author: Mike Drob <md...@apache.org>
AuthorDate: Mon Aug 1 13:21:05 2022 -0500
Avoid reading local aws config (#957)
---
gradle/validation/rat-sources.gradle | 4 ++++
solr/modules/s3-repository/build.gradle | 1 +
solr/modules/s3-repository/src/test-files/s3.conf | 0
.../test/org/apache/solr/s3/AbstractS3ClientTest.java | 17 ++++++++++++++++-
.../org/apache/solr/s3/S3IncrementalBackupTest.java | 2 ++
versions.lock | 2 +-
6 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/gradle/validation/rat-sources.gradle b/gradle/validation/rat-sources.gradle
index de0ee5da2d1..cb67fbd0792 100644
--- a/gradle/validation/rat-sources.gradle
+++ b/gradle/validation/rat-sources.gradle
@@ -123,6 +123,10 @@ allprojects {
exclude "**/*.js"
break
+ case ":solr:modules:s3-repository":
+ exclude "src/test-files/s3.conf" // empty file
+ break
+
case ":solr:documentation":
exclude "src/markdown/*.md"
break
diff --git a/solr/modules/s3-repository/build.gradle b/solr/modules/s3-repository/build.gradle
index b1db54140ef..6b1c6cc3365 100644
--- a/solr/modules/s3-repository/build.gradle
+++ b/solr/modules/s3-repository/build.gradle
@@ -45,6 +45,7 @@ dependencies {
testImplementation 'org.apache.lucene:lucene-test-framework'
testImplementation 'com.carrotsearch.randomizedtesting:randomizedtesting-runner'
testImplementation 'junit:junit'
+ testImplementation 'software.amazon.awssdk:profiles'
testImplementation('com.adobe.testing:s3mock-junit4') {
// Don't pull in separate versions of these libs, just use what Solr already has
diff --git a/solr/modules/s3-repository/src/test-files/s3.conf b/solr/modules/s3-repository/src/test-files/s3.conf
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/solr/modules/s3-repository/src/test/org/apache/solr/s3/AbstractS3ClientTest.java b/solr/modules/s3-repository/src/test/org/apache/solr/s3/AbstractS3ClientTest.java
index 28780d1dfed..048c90c4c6b 100644
--- a/solr/modules/s3-repository/src/test/org/apache/solr/s3/AbstractS3ClientTest.java
+++ b/solr/modules/s3-repository/src/test/org/apache/solr/s3/AbstractS3ClientTest.java
@@ -19,12 +19,14 @@ package org.apache.solr.s3;
import com.adobe.testing.s3mock.junit4.S3MockRule;
import java.io.IOException;
import java.io.OutputStream;
+import java.net.URISyntaxException;
import java.nio.charset.Charset;
import org.apache.commons.io.IOUtils;
import org.apache.solr.SolrTestCaseJ4;
import org.junit.After;
import org.junit.Before;
import org.junit.ClassRule;
+import software.amazon.awssdk.profiles.ProfileFileSystemSetting;
/** Abstract class for test with S3Mock. */
public class AbstractS3ClientTest extends SolrTestCaseJ4 {
@@ -38,10 +40,12 @@ public class AbstractS3ClientTest extends SolrTestCaseJ4 {
S3StorageClient client;
@Before
- public void setUpClient() {
+ public void setUpClient() throws URISyntaxException {
System.setProperty("aws.accessKeyId", "foo");
System.setProperty("aws.secretAccessKey", "bar");
+ setS3ConfFile();
+
client =
new S3StorageClient(
BUCKET_NAME,
@@ -53,6 +57,17 @@ public class AbstractS3ClientTest extends SolrTestCaseJ4 {
false);
}
+ /**
+ * Use this to make sure that we don't pollute the test environment with defaults from the local
+ * user's ~/.aws/config or credentials
+ */
+ public static void setS3ConfFile() throws URISyntaxException {
+ String emptyFile =
+ S3IncrementalBackupTest.class.getClassLoader().getResource("s3.conf").toURI().getPath();
+ System.setProperty(ProfileFileSystemSetting.AWS_CONFIG_FILE.property(), emptyFile);
+ System.setProperty(ProfileFileSystemSetting.AWS_SHARED_CREDENTIALS_FILE.property(), emptyFile);
+ }
+
@After
public void tearDownClient() {
client.close();
diff --git a/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3IncrementalBackupTest.java b/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3IncrementalBackupTest.java
index 4372e997ad2..48b94d6e86f 100644
--- a/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3IncrementalBackupTest.java
+++ b/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3IncrementalBackupTest.java
@@ -89,6 +89,8 @@ public class S3IncrementalBackupTest extends AbstractIncrementalBackupTest {
System.setProperty("aws.accessKeyId", "foo");
System.setProperty("aws.secretAccessKey", "bar");
+ AbstractS3ClientTest.setS3ConfFile();
+
configureCluster(NUM_SHARDS) // nodes
.addConfig("conf1", getFile("conf/solrconfig.xml").getParentFile().toPath())
.withSolrXml(
diff --git a/versions.lock b/versions.lock
index ac0c1ddcbab..f47035c16bf 100644
--- a/versions.lock
+++ b/versions.lock
@@ -284,7 +284,7 @@ software.amazon.awssdk:bom:2.17.63 (1 constraints: 7505bf40)
software.amazon.awssdk:http-client-spi:2.17.63 (10 constraints: 63992164)
software.amazon.awssdk:json-utils:2.17.63 (3 constraints: 4227d652)
software.amazon.awssdk:metrics-spi:2.17.63 (6 constraints: c555c7a0)
-software.amazon.awssdk:profiles:2.17.63 (6 constraints: 7b4fb0aa)
+software.amazon.awssdk:profiles:2.17.63 (7 constraints: ef54aaf2)
software.amazon.awssdk:protocol-core:2.17.63 (4 constraints: 123cc09e)
software.amazon.awssdk:regions:2.17.63 (5 constraints: a4388089)
software.amazon.awssdk:s3:2.17.63 (3 constraints: bb244128)