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)