mountpoint-s3
mountpoint-s3 copied to clipboard
Integration tests fail against non-US regions without a FIPS endpoint
This is not a bug of the connector but instead of the integration tests.
Running the integration tests related to FIPS will fail against non-US regions such as eu-west-1.
Test output against eu-west-1. Second backtrace is excluded.
RUST_BACKTRACE=1 S3_BUCKET_NAME=mountpoint-dev-euw1-happybucket3f5e770e-ouzzdtbh53m5 S3_BUCKET_TEST_PREFIX=github-actions-tmp/run-4437065662/attempt-1/ S3_FORBIDDEN_BUCKET_NAME=mountpoint-dev-euw1-nopermbuckete72ffdcb-xihjutllbz57 AWS_REGION=eu-west-1 S3_REGION=eu-west-1 cargo test -p mountpoint-s3-client --test endpoint --features s3_tests
test test_addressing_style_uri_fips_dualstack::addressingstyle_virtual_expects ... FAILED
test test_addressing_style_uri_fips::addressingstyle_virtual_expects ... FAILED
failures:
---- test_addressing_style_uri_fips_dualstack::addressingstyle_virtual_expects stdout ----
thread 'test_addressing_style_uri_fips_dualstack::addressingstyle_virtual_expects' panicked at 'get_object body part failed: ClientError(ResponseError(MetaRequestResult { response_status: 0, crt_error: Error(1059, "aws-c-io: AWS_IO_DNS_INVALID_NAME, Host name was invalid for dns resolution."), error_response_headers: None, error_response_body: None }))', mountpoint-s3-client/tests/common/mod.rs:96:32
stack backtrace:
0: rust_begin_unwind
at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/std/src/panicking.rs:575:5
1: core::panicking::panic_fmt
at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/panicking.rs:64:14
2: core::result::unwrap_failed
at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/result.rs:1791:5
3: core::result::Result<T,E>::expect
at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/result.rs:1070:23
4: endpoint::common::check_get_result::{{closure}}
at ./tests/common/mod.rs:96:30
5: endpoint::run_test::{{closure}}
at ./tests/endpoint.rs:36:46
6: endpoint::test_addressing_style_uri_fips_dualstack::{{closure}}
at ./tests/endpoint.rs:89:5
7: endpoint::test_addressing_style_uri_fips_dualstack::addressingstyle_virtual_expects::{{closure}}
at ./tests/endpoint.rs:82:1
8: <core::pin::Pin<P> as core::future::future::Future>::poll
at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/future/future.rs:124:9
9: <core::pin::Pin<P> as core::future::future::Future>::poll
at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/future/future.rs:124:9
10: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}
at /Users/djonesoa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.25.0/src/runtime/scheduler/current_thread.rs:541:57
11: tokio::runtime::coop::with_budget
at /Users/djonesoa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.25.0/src/runtime/coop.rs:102:5
12: tokio::runtime::coop::budget
at /Users/djonesoa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.25.0/src/runtime/coop.rs:68:5
13: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}
at /Users/djonesoa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.25.0/src/runtime/scheduler/current_thread.rs:541:25
14: tokio::runtime::scheduler::current_thread::Context::enter
at /Users/djonesoa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.25.0/src/runtime/scheduler/current_thread.rs:350:19
15: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}
at /Users/djonesoa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.25.0/src/runtime/scheduler/current_thread.rs:540:36
16: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
at /Users/djonesoa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.25.0/src/runtime/scheduler/current_thread.rs:615:57
17: tokio::macros::scoped_tls::ScopedKey<T>::set
at /Users/djonesoa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.25.0/src/macros/scoped_tls.rs:61:9
18: tokio::runtime::scheduler::current_thread::CoreGuard::enter
at /Users/djonesoa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.25.0/src/runtime/scheduler/current_thread.rs:615:27
19: tokio::runtime::scheduler::current_thread::CoreGuard::block_on
at /Users/djonesoa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.25.0/src/runtime/scheduler/current_thread.rs:530:19
20: tokio::runtime::scheduler::current_thread::CurrentThread::block_on
at /Users/djonesoa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.25.0/src/runtime/scheduler/current_thread.rs:154:24
21: tokio::runtime::runtime::Runtime::block_on
at /Users/djonesoa/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.25.0/src/runtime/runtime.rs:282:47
22: endpoint::test_addressing_style_uri_fips_dualstack::addressingstyle_virtual_expects
at ./tests/endpoint.rs:82:1
23: endpoint::test_addressing_style_uri_fips_dualstack::addressingstyle_virtual_expects::{{closure}}
at ./tests/endpoint.rs:82:1
24: core::ops::function::FnOnce::call_once
at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/ops/function.rs:507:5
25: core::ops::function::FnOnce::call_once
at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/ops/function.rs:507:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Seems like it's really a bug in documenting the tests—we need to test against a region that has all these endpoint options available, so only some regions are valid choices for S3_REGION.
Agree, although I think it would be preferable to skip these tests if the region is not known to have FIPS endpoint rather than rule out these regions for integration tests.
Let's close this out for now. We can revisit if we ever try to make the tests multi-region, but I don't think we expect to make any changes here for the moment.