Skip to content

Commit 7f354bc

Browse files
authored
Regression tests for new S3 bucket configuration properties (#2822)
1 parent a9f8852 commit 7f354bc

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

src/org/labkey/test/TestProperties.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
import org.apache.commons.lang3.StringUtils;
1919
import org.apache.commons.lang3.SystemUtils;
2020
import org.labkey.serverapi.reader.Readers;
21+
import org.labkey.test.util.CachingSupplier;
2122
import org.labkey.test.util.CspLogUtil;
23+
import org.labkey.test.util.TestDataGenerator;
2224
import org.labkey.test.util.TestLogger;
2325
import org.labkey.test.util.Version;
2426
import org.openqa.selenium.Dimension;
@@ -37,8 +39,10 @@
3739
import java.util.Iterator;
3840
import java.util.List;
3941
import java.util.Map;
42+
import java.util.Objects;
4043
import java.util.Optional;
4144
import java.util.Properties;
45+
import java.util.Random;
4246
import java.util.stream.Collectors;
4347
import java.util.stream.Stream;
4448

@@ -245,11 +249,29 @@ public static boolean isCloudPipelineEnabled()
245249
return getBooleanProperty("use.cloud.pipeline", false);
246250
}
247251

252+
private static final CachingSupplier<String> defaultBucketName = new CachingSupplier<>(() ->
253+
TestDataGenerator.randomChoice(Stream.of(getCloudPipelineBucketNameWithSqs(), getCloudPipelineBucketNameWithoutSqs())
254+
.filter(Objects::nonNull).toList()));
255+
/**
256+
* Get a pipeline bucket name for use with S3 testing. There are two buckets in different regions. This will
257+
* randomly select one of them (and cache the result). If SQS is required, use
258+
* {@link #getCloudPipelineBucketNameWithSqs()}
259+
*/
248260
public static String getCloudPipelineBucketName()
261+
{
262+
return defaultBucketName.get();
263+
}
264+
265+
public static String getCloudPipelineBucketNameWithSqs()
249266
{
250267
return System.getProperty("cloud.pipeline.bucket");
251268
}
252269

270+
public static String getCloudPipelineBucketNameWithoutSqs()
271+
{
272+
return System.getProperty("cloud.pipeline.bucket.nosqs");
273+
}
274+
253275
public static Optional<Dimension> getWindowSize()
254276
{
255277
String dimensionStr = System.getProperty("webtest.window.size", "1280x1024");

0 commit comments

Comments
 (0)