4 ms·
I guess the integration is testing that the software can connect to an s3 bucket with an access key since it's trivial to just make a public bucket? But if tha
by benlivengood 6y ago
I guess the integration is testing that the software can connect to an s3 bucket with an access key since it's trivial to just make a public bucket?
But if that's the code path that needs testing then it should probably be isolated to an auth library that can be tested by simply authenticating with the secret key alone and not needing to perform a chargeable action.
- etimberg 6y agoOr if one really wanted an integration test, why not spin up something link MinIO and test with that. The infrastructure would exist only for the lifetime of the test run.
- musingsole 6y ago> Fortunately our tests just needed to retrieve objects from a bucket to confirm that an S3 bucket is presenting itself as a Delta table properly. It seems the test is about the data within the bucket assuming the correct format, not the connection to S3. Perhaps we can trust the author to have considered other ways to test this more properly that either wouldn't work for reasons or weren't nearly as fun.
- benlivengood 6y ago> It seems the test is about the data within the bucket assuming the correct format, not the connection to S3. Perhaps we can trust the author to have considered other ways to test this more properly that either wouldn't work for reasons or weren't nearly as fun. If security is legitimately not orthogonal to functional testing then that is the interesting part of the problem, but I don't see that laid out in the article. It would be a case for AWS and others to improve or add methods to support the test case in a secure way.
- aECBNhWl4sqXr2 6y agoThis looks to be the integration test: https://github.com/delta-io/delta-rs/commit/09d345e52ca3177d18a5950defb4a477b4b761ea https://github.com/delta-io/delta-rs/commit/09d345e52ca3177d... I'm not sure why the author thinks this required putting the credentials in the code itself. Heck, I'd argue that this integration test should be setting up the bucket and contents as part of the setup for the test itself, pulling the credentials from some sort of secrets manager.
- Raidion 6y agoYea, this just seems like someone is trying to rationalize avoiding work. Injecting secrets is like one of the base steps of CI/CD. How else would you make sure this works in different environments? All of that might be unnecessary for the most base case ever, but it's one of those things you solve once and use it for the rest of the project.