Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation note on aws_s3_bucket_object keys with leading '/' #7574

Merged
merged 1 commit into from
Oct 17, 2019

Conversation

ewbankkit
Copy link
Contributor

Fixes #7362.
Added test case to verify that Terraform ignores ALL leading '/'s in S3 object keys.
Acceptance tests:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccDataSourceAWSS3BucketObject_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws/ -v -parallel 20 -run=TestAccDataSourceAWSS3BucketObject_ -timeout 120m
=== RUN   TestAccDataSourceAWSS3BucketObject_basic
=== PAUSE TestAccDataSourceAWSS3BucketObject_basic
=== RUN   TestAccDataSourceAWSS3BucketObject_readableBody
=== PAUSE TestAccDataSourceAWSS3BucketObject_readableBody
=== RUN   TestAccDataSourceAWSS3BucketObject_kmsEncrypted
=== PAUSE TestAccDataSourceAWSS3BucketObject_kmsEncrypted
=== RUN   TestAccDataSourceAWSS3BucketObject_allParams
=== PAUSE TestAccDataSourceAWSS3BucketObject_allParams
=== RUN   TestAccDataSourceAWSS3BucketObject_leadingSlash
=== PAUSE TestAccDataSourceAWSS3BucketObject_leadingSlash
=== CONT  TestAccDataSourceAWSS3BucketObject_basic
=== CONT  TestAccDataSourceAWSS3BucketObject_leadingSlash
=== CONT  TestAccDataSourceAWSS3BucketObject_allParams
=== CONT  TestAccDataSourceAWSS3BucketObject_kmsEncrypted
=== CONT  TestAccDataSourceAWSS3BucketObject_readableBody
--- PASS: TestAccDataSourceAWSS3BucketObject_basic (47.18s)
--- PASS: TestAccDataSourceAWSS3BucketObject_readableBody (48.53s)
--- PASS: TestAccDataSourceAWSS3BucketObject_allParams (49.34s)
--- PASS: TestAccDataSourceAWSS3BucketObject_leadingSlash (49.56s)
--- PASS: TestAccDataSourceAWSS3BucketObject_kmsEncrypted (72.37s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	72.396s

@ghost ghost added size/L Managed by automation to categorize the size of a PR. service/s3 Issues and PRs that pertain to the s3 service. documentation Introduces or discusses updates to documentation. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. labels Feb 15, 2019
@ewbankkit
Copy link
Contributor Author

ewbankkit commented Feb 26, 2019

Updated documentation and added a new acceptance test for the fact that multiple /s inside or at the end of a key name are compressed to a single /.

Acceptance tests:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccDataSourceAWSS3BucketObject_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws/ -v -parallel 20 -run=TestAccDataSourceAWSS3BucketObject_ -timeout 120m
=== RUN   TestAccDataSourceAWSS3BucketObject_basic
=== PAUSE TestAccDataSourceAWSS3BucketObject_basic
=== RUN   TestAccDataSourceAWSS3BucketObject_readableBody
=== PAUSE TestAccDataSourceAWSS3BucketObject_readableBody
=== RUN   TestAccDataSourceAWSS3BucketObject_kmsEncrypted
=== PAUSE TestAccDataSourceAWSS3BucketObject_kmsEncrypted
=== RUN   TestAccDataSourceAWSS3BucketObject_allParams
=== PAUSE TestAccDataSourceAWSS3BucketObject_allParams
=== RUN   TestAccDataSourceAWSS3BucketObject_leadingSlash
=== PAUSE TestAccDataSourceAWSS3BucketObject_leadingSlash
=== RUN   TestAccDataSourceAWSS3BucketObject_multipleSlashes
=== PAUSE TestAccDataSourceAWSS3BucketObject_multipleSlashes
=== CONT  TestAccDataSourceAWSS3BucketObject_basic
=== CONT  TestAccDataSourceAWSS3BucketObject_leadingSlash
=== CONT  TestAccDataSourceAWSS3BucketObject_multipleSlashes
=== CONT  TestAccDataSourceAWSS3BucketObject_kmsEncrypted
=== CONT  TestAccDataSourceAWSS3BucketObject_allParams
=== CONT  TestAccDataSourceAWSS3BucketObject_readableBody
--- PASS: TestAccDataSourceAWSS3BucketObject_basic (50.40s)
--- PASS: TestAccDataSourceAWSS3BucketObject_readableBody (50.72s)
--- PASS: TestAccDataSourceAWSS3BucketObject_leadingSlash (51.35s)
--- PASS: TestAccDataSourceAWSS3BucketObject_allParams (51.36s)
--- PASS: TestAccDataSourceAWSS3BucketObject_multipleSlashes (51.77s)
--- PASS: TestAccDataSourceAWSS3BucketObject_kmsEncrypted (75.14s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	75.189s

@aeschright aeschright requested a review from a team June 26, 2019 00:48
@ewbankkit ewbankkit force-pushed the issue-7362 branch 2 times, most recently from b64e3d3 to 7501251 Compare October 4, 2019 18:37
@ewbankkit
Copy link
Contributor Author

Rebased to remove conflict.
Re-ran acceptance tests:

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccDataSourceAWSS3BucketObject_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws/ -v -count 1 -parallel 20 -run=TestAccDataSourceAWSS3BucketObject_ -timeout 120m
go: finding github.com/terraform-providers/terraform-provider-tls v2.1.1+incompatible
go: finding github.com/terraform-providers/terraform-provider-tls v2.1.1+incompatible
=== RUN   TestAccDataSourceAWSS3BucketObject_basic
=== PAUSE TestAccDataSourceAWSS3BucketObject_basic
=== RUN   TestAccDataSourceAWSS3BucketObject_readableBody
=== PAUSE TestAccDataSourceAWSS3BucketObject_readableBody
=== RUN   TestAccDataSourceAWSS3BucketObject_kmsEncrypted
=== PAUSE TestAccDataSourceAWSS3BucketObject_kmsEncrypted
=== RUN   TestAccDataSourceAWSS3BucketObject_allParams
=== PAUSE TestAccDataSourceAWSS3BucketObject_allParams
=== RUN   TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOff
=== PAUSE TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOff
=== RUN   TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOn
=== PAUSE TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOn
=== RUN   TestAccDataSourceAWSS3BucketObject_LeadingSlash
=== PAUSE TestAccDataSourceAWSS3BucketObject_LeadingSlash
=== RUN   TestAccDataSourceAWSS3BucketObject_MultipleSlashes
=== PAUSE TestAccDataSourceAWSS3BucketObject_MultipleSlashes
=== CONT  TestAccDataSourceAWSS3BucketObject_basic
=== CONT  TestAccDataSourceAWSS3BucketObject_MultipleSlashes
=== CONT  TestAccDataSourceAWSS3BucketObject_LeadingSlash
=== CONT  TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOn
=== CONT  TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOff
=== CONT  TestAccDataSourceAWSS3BucketObject_allParams
=== CONT  TestAccDataSourceAWSS3BucketObject_kmsEncrypted
=== CONT  TestAccDataSourceAWSS3BucketObject_readableBody
--- PASS: TestAccDataSourceAWSS3BucketObject_basic (56.93s)
--- PASS: TestAccDataSourceAWSS3BucketObject_LeadingSlash (57.87s)
--- PASS: TestAccDataSourceAWSS3BucketObject_readableBody (58.07s)
--- PASS: TestAccDataSourceAWSS3BucketObject_allParams (58.90s)
--- PASS: TestAccDataSourceAWSS3BucketObject_MultipleSlashes (59.17s)
--- PASS: TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOff (60.05s)
--- PASS: TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOn (61.21s)
--- PASS: TestAccDataSourceAWSS3BucketObject_kmsEncrypted (81.43s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	81.488s

@ewbankkit
Copy link
Contributor Author

Rebased to include changes from #10388.

$ make testacc TEST=./aws/ TESTARGS='-run=TestAccDataSourceAWSS3BucketObject_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws/ -v -count 1 -parallel 20 -run=TestAccDataSourceAWSS3BucketObject_ -timeout 120m
go: finding github.com/terraform-providers/terraform-provider-tls v2.1.1+incompatible
go: finding github.com/terraform-providers/terraform-provider-tls v2.1.1+incompatible
=== RUN   TestAccDataSourceAWSS3BucketObject_basic
=== PAUSE TestAccDataSourceAWSS3BucketObject_basic
=== RUN   TestAccDataSourceAWSS3BucketObject_readableBody
=== PAUSE TestAccDataSourceAWSS3BucketObject_readableBody
=== RUN   TestAccDataSourceAWSS3BucketObject_kmsEncrypted
=== PAUSE TestAccDataSourceAWSS3BucketObject_kmsEncrypted
=== RUN   TestAccDataSourceAWSS3BucketObject_allParams
=== PAUSE TestAccDataSourceAWSS3BucketObject_allParams
=== RUN   TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOff
=== PAUSE TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOff
=== RUN   TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOn
=== PAUSE TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOn
=== RUN   TestAccDataSourceAWSS3BucketObject_LeadingSlash
=== PAUSE TestAccDataSourceAWSS3BucketObject_LeadingSlash
=== RUN   TestAccDataSourceAWSS3BucketObject_MultipleSlashes
=== PAUSE TestAccDataSourceAWSS3BucketObject_MultipleSlashes
=== CONT  TestAccDataSourceAWSS3BucketObject_basic
=== CONT  TestAccDataSourceAWSS3BucketObject_MultipleSlashes
=== CONT  TestAccDataSourceAWSS3BucketObject_LeadingSlash
=== CONT  TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOn
=== CONT  TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOff
=== CONT  TestAccDataSourceAWSS3BucketObject_allParams
=== CONT  TestAccDataSourceAWSS3BucketObject_kmsEncrypted
=== CONT  TestAccDataSourceAWSS3BucketObject_readableBody
--- PASS: TestAccDataSourceAWSS3BucketObject_readableBody (58.21s)
--- PASS: TestAccDataSourceAWSS3BucketObject_basic (58.90s)
--- PASS: TestAccDataSourceAWSS3BucketObject_allParams (60.14s)
--- PASS: TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOff (60.55s)
--- PASS: TestAccDataSourceAWSS3BucketObject_LeadingSlash (60.63s)
--- PASS: TestAccDataSourceAWSS3BucketObject_MultipleSlashes (61.20s)
--- PASS: TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOn (63.03s)
--- PASS: TestAccDataSourceAWSS3BucketObject_kmsEncrypted (83.10s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	83.158s

@aeschright aeschright self-assigned this Oct 9, 2019
Copy link
Contributor

@aeschright aeschright left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

--- PASS: TestAccDataSourceAWSS3BucketObject_basic (24.26s)
--- PASS: TestAccDataSourceAWSS3BucketObject_LeadingSlash (24.54s)
--- PASS: TestAccDataSourceAWSS3BucketObject_readableBody (24.84s)
--- PASS: TestAccDataSourceAWSS3BucketObject_MultipleSlashes (25.08s)
--- PASS: TestAccDataSourceAWSS3BucketObject_allParams (25.42s)
--- PASS: TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOff (25.53s)
--- PASS: TestAccDataSourceAWSS3BucketObject_ObjectLockLegalHoldOn (26.26s)
--- PASS: TestAccDataSourceAWSS3BucketObject_kmsEncrypted (45.09s)

@aeschright aeschright added this to the v2.33.0 milestone Oct 11, 2019
@nywilken nywilken merged commit 252bc3e into hashicorp:master Oct 17, 2019
@ewbankkit ewbankkit deleted the issue-7362 branch October 17, 2019 10:05
@ghost
Copy link

ghost commented Mar 29, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks!

@ghost ghost locked and limited conversation to collaborators Mar 29, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Introduces or discusses updates to documentation. service/s3 Issues and PRs that pertain to the s3 service. size/L Managed by automation to categorize the size of a PR. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Documentation: Note on aws_s3_bucket_object keys with leading '/'
3 participants