Skip to content

Commit

Permalink
[Tests] Fix third party tests with Gradle 5.0 (#36302)
Browse files Browse the repository at this point in the history
This pull request fixes the build.gradle file so that it
works with the Gradle 5.0 update (#34263).

It also makes use of the ignore: 404 header in REST tests
so that previous snapshots are deleted as part of the test
set up. This way each new test run with an external service
should start with a fresh repository even if the previous
test run failed and left snapshots in the repo. (This is a
best effort as it does not fix a corrupted repository)
  • Loading branch information
tlrx committed Dec 6, 2018
1 parent 84aa569 commit 362bcc3
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,19 @@ setup:
client: "integration_test"
base_path: "${base_path}"

# Remove the snapshots, if a previous test failed to delete them. This is
# useful for third party tests that runs the test against a real external service.
- do:
snapshot.delete:
repository: repository
snapshot: snapshot-one
ignore: 404
- do:
snapshot.delete:
repository: repository
snapshot: snapshot-two
ignore: 404

---
"Snapshot/Restore with repository-gcs":

Expand Down
20 changes: 11 additions & 9 deletions plugins/repository-s3/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -106,20 +106,12 @@ String s3ECSBasePath = System.getenv("amazon_s3_base_path_ecs")
// If all these variables are missing then we are testing against the internal fixture instead, which has the following
// credentials hard-coded in.

if (!s3PermanentAccessKey && !s3PermanentSecretKey && !s3PermanentBucket && !s3PermanentBasePath
&& !s3EC2Bucket && !s3EC2BasePath
&& !s3ECSBucket && !s3ECSBasePath) {
if (!s3PermanentAccessKey && !s3PermanentSecretKey && !s3PermanentBucket && !s3PermanentBasePath) {
s3PermanentAccessKey = 's3_integration_test_permanent_access_key'
s3PermanentSecretKey = 's3_integration_test_permanent_secret_key'
s3PermanentBucket = 'permanent-bucket-test'
s3PermanentBasePath = 'integration_test'

s3EC2Bucket = 'ec2-bucket-test'
s3EC2BasePath = 'integration_test'

s3ECSBucket = 'ecs-bucket-test'
s3ECSBasePath = 'integration_test'

useFixture = true

} else if (!s3PermanentAccessKey || !s3PermanentSecretKey || !s3PermanentBucket || !s3PermanentBasePath) {
Expand All @@ -137,6 +129,16 @@ if (!s3TemporaryAccessKey && !s3TemporarySecretKey && !s3TemporaryBucket && !s3T
throw new IllegalArgumentException("not all options specified to run against external S3 service as temporary credentials are present")
}

if (!s3EC2Bucket && !s3EC2BasePath && !s3ECSBucket && !s3ECSBasePath) {
s3EC2Bucket = 'ec2-bucket-test'
s3EC2BasePath = 'integration_test'
s3ECSBucket = 'ecs-bucket-test'
s3ECSBasePath = 'integration_test'
} else if (!s3EC2Bucket || !s3EC2BasePath || !s3ECSBucket || !s3ECSBasePath) {
throw new IllegalArgumentException("not all options specified to run EC2/ECS tests are present")
}


final String minioVersion = 'RELEASE.2018-06-22T23-48-46Z'
final String minioBinDir = "${buildDir}/minio/bin"
final String minioDataDir = "${buildDir}/minio/data"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@ setup:
canned_acl: private
storage_class: standard

# Remove the snapshots, if a previous test failed to delete them. This is
# useful for third party tests that runs the test against a real external service.
- do:
snapshot.delete:
repository: repository_permanent
snapshot: snapshot-one
ignore: 404
- do:
snapshot.delete:
repository: repository_permanent
snapshot: snapshot-two
ignore: 404

---
"Snapshot and Restore with repository-s3 using permanent credentials":

Expand Down

0 comments on commit 362bcc3

Please sign in to comment.