AWS SDK

AWS SDK

rev. 9f5fb9826a6af51ebfb3736d0a778b00ec7b08b3

Files changed:

tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml

@@ -106,106 +141,145 @@
  126    126   
version = "1.0.0"
  127    127   
  128    128   
[dev-dependencies.tokio]
  129    129   
version = "1.23.1"
  130    130   
features = ["macros", "test-util", "rt-multi-thread"]
  131    131   
  132    132   
[dev-dependencies.tracing-subscriber]
  133    133   
version = "0.3.16"
  134    134   
features = ["env-filter", "json"]
  135    135   
         136  +
[dev-dependencies.tracing-test]
         137  +
version = "0.2.5"
         138  +
features = ["no-env-filter"]
         139  +
  136    140   
[features]
  137    141   
behavior-version-latest = []
  138    142   
rustls = ["aws-smithy-runtime/tls-rustls"]
  139    143   
test-util = ["aws-credential-types/test-util", "aws-smithy-runtime/test-util"]
  140    144   
rt-tokio = ["aws-smithy-async/rt-tokio", "aws-smithy-types/rt-tokio"]
  141    145   
default = ["rustls", "rt-tokio"]

tmp-codegen-diff/aws-sdk/sdk/glacier/src/operation/upload_archive.rs

@@ -239,239 +410,411 @@
  259    259   
            .map_err(|err| {
  260    260   
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  261    261   
            })?;
  262    262   
        cfg.interceptor_state()
  263    263   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  264    264   
        ::std::result::Result::Ok(())
  265    265   
    }
  266    266   
}
  267    267   
#[allow(unreachable_code, unused_variables)]
  268    268   
#[cfg(test)]
  269         -
mod upload_archive_request_test {
         269  +
mod upload_archive_test {
         270  +
  270    271   
    /// Glacier requires that a version header be set on all requests.
  271    272   
    /// Test ID: GlacierVersionHeader
  272    273   
    #[::tokio::test]
  273         -
    #[allow(unused_mut)]
         274  +
    #[::tracing_test::traced_test]
  274    275   
    async fn glacier_version_header_request() {
  275    276   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  276    277   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  277    278   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  278    279   
        let mut config_builder = config_builder;
  279    280   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  280    281   
  281    282   
        let config = config_builder.http_client(http_client).build();
  282    283   
        let client = crate::Client::from_conf(config);
  283    284   
        let result = client
  284    285   
            .upload_archive()
  285    286   
            .set_account_id(::std::option::Option::Some("foo".to_owned()))
  286    287   
            .set_vault_name(::std::option::Option::Some("bar".to_owned()))
  287    288   
            .send()
  288    289   
            .await;
  289    290   
        let _ = dbg!(result);
  290    291   
        let http_request = request_receiver.expect_request();
  291    292   
        let expected_headers = [("X-Amz-Glacier-Version", "2012-06-01")];
  292    293   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  293    294   
        let body = http_request.body().bytes().expect("body should be strict");
  294    295   
        // No body
  295    296   
        ::pretty_assertions::assert_eq!(::std::str::from_utf8(body).unwrap(), "");
  296    297   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  297    298   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  298    299   
        ::pretty_assertions::assert_eq!(uri.path(), "/foo/vaults/bar/archives", "path was incorrect");
  299    300   
    }
  300    301   
    /// Glacier requires checksum headers that are cumbersome to provide.
  301    302   
    /// Test ID: GlacierChecksums
  302    303   
    #[::tokio::test]
  303         -
    #[allow(unused_mut)]
         304  +
    #[::tracing_test::traced_test]
  304    305   
    async fn glacier_checksums_request() {
  305    306   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  306    307   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  307    308   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  308    309   
        let mut config_builder = config_builder;
  309    310   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  310    311   
  311    312   
        let config = config_builder.http_client(http_client).build();
  312    313   
        let client = crate::Client::from_conf(config);
  313    314   
        let result = client
  314    315   
            .upload_archive()
  315    316   
            .set_account_id(::std::option::Option::Some("foo".to_owned()))
  316    317   
            .set_vault_name(::std::option::Option::Some("bar".to_owned()))
  317    318   
            .set_body(::std::option::Option::Some(::aws_smithy_types::byte_stream::ByteStream::from_static(
  318    319   
                b"hello world",
  319    320   
            )))
  320    321   
            .send()
  321    322   
            .await;
  322    323   
        let _ = dbg!(result);
  323    324   
        let http_request = request_receiver.expect_request();
  324    325   
        let expected_headers = [
  325    326   
            ("X-Amz-Content-Sha256", "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"),
  326    327   
            ("X-Amz-Glacier-Version", "2012-06-01"),
  327    328   
            (
  328    329   
                "X-Amz-Sha256-Tree-Hash",
  329    330   
                "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9",
  330    331   
            ),
  331    332   
        ];
  332    333   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  333    334   
        let body = http_request.body().bytes().expect("body should be strict");
  334    335   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  335    336   
            body,
  336    337   
            "hello world",
  337    338   
            ::aws_smithy_protocol_test::MediaType::from("unknown"),
  338    339   
        ));
  339    340   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  340    341   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  341    342   
        ::pretty_assertions::assert_eq!(uri.path(), "/foo/vaults/bar/archives", "path was incorrect");
  342    343   
    }
  343    344   
    /// Glacier requires that the account id be set, but you can just use a
  344    345   
    /// hyphen (-) to indicate the current account. This should be default
  345    346   
    /// behavior if the customer provides a null or empty string.
  346    347   
    /// Test ID: GlacierAccountIdEmpty
  347    348   
    #[::tokio::test]
  348         -
    #[allow(unused_mut)]
         349  +
    #[::tracing_test::traced_test]
  349    350   
    async fn glacier_account_id_empty_request() {
  350    351   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  351    352   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  352    353   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  353    354   
        let mut config_builder = config_builder;
  354    355   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  355    356   
  356    357   
        let config = config_builder.http_client(http_client).build();
  357    358   
        let client = crate::Client::from_conf(config);
  358    359   
        let result = client
  359    360   
            .upload_archive()
  360    361   
            .set_account_id(::std::option::Option::Some("".to_owned()))
  361    362   
            .set_vault_name(::std::option::Option::Some("bar".to_owned()))
  362    363   
            .send()
  363    364   
            .await;
  364    365   
        let _ = dbg!(result);
  365    366   
        let http_request = request_receiver.expect_request();
  366    367   
        let expected_headers = [("X-Amz-Glacier-Version", "2012-06-01")];
  367    368   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  368    369   
        let body = http_request.body().bytes().expect("body should be strict");
  369    370   
        // No body
  370    371   
        ::pretty_assertions::assert_eq!(::std::str::from_utf8(body).unwrap(), "");
  371    372   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  372    373   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  373    374   
        ::pretty_assertions::assert_eq!(uri.path(), "/-/vaults/bar/archives", "path was incorrect");
  374    375   
    }
  375    376   
    /// Glacier requires that the account id be set, but you can just use a
  376    377   
    /// hyphen (-) to indicate the current account. This should be default
  377    378   
    /// behavior if the customer provides a null or empty string.
  378    379   
    /// Test ID: GlacierAccountIdUnset
  379    380   
    #[::tokio::test]
  380         -
    #[allow(unused_mut)]
         381  +
    #[::tracing_test::traced_test]
  381    382   
    async fn glacier_account_id_unset_request() {
  382    383   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  383    384   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  384    385   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  385    386   
        let mut config_builder = config_builder;
  386    387   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  387    388   
  388    389   
        let config = config_builder.http_client(http_client).build();
  389    390   
        let client = crate::Client::from_conf(config);
  390    391   
        let result = client

tmp-codegen-diff/aws-sdk/sdk/glacier/src/operation/upload_multipart_part.rs

@@ -254,254 +318,319 @@
  274    274   
            .map_err(|err| {
  275    275   
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  276    276   
            })?;
  277    277   
        cfg.interceptor_state()
  278    278   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  279    279   
        ::std::result::Result::Ok(())
  280    280   
    }
  281    281   
}
  282    282   
#[allow(unreachable_code, unused_variables)]
  283    283   
#[cfg(test)]
  284         -
mod upload_multipart_part_request_test {
         284  +
mod upload_multipart_part_test {
         285  +
  285    286   
    /// Glacier requires checksum headers that are cumbersome to provide.
  286    287   
    /// Test ID: GlacierMultipartChecksums
  287    288   
    #[::tokio::test]
  288         -
    #[allow(unused_mut)]
         289  +
    #[::tracing_test::traced_test]
  289    290   
    async fn glacier_multipart_checksums_request() {
  290    291   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  291    292   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  292    293   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  293    294   
        let mut config_builder = config_builder;
  294    295   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  295    296   
  296    297   
        let config = config_builder.http_client(http_client).build();
  297    298   
        let client = crate::Client::from_conf(config);
  298    299   
        let result = client

tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml

@@ -61,61 +96,100 @@
   81     81   
features = ["client", "test-util"]
   82     82   
version = "1.6.0"
   83     83   
   84     84   
[dev-dependencies.pretty_assertions]
   85     85   
version = "1.3.0"
   86     86   
   87     87   
[dev-dependencies.tokio]
   88     88   
version = "1.23.1"
   89     89   
features = ["macros", "test-util", "rt-multi-thread"]
   90     90   
          91  +
[dev-dependencies.tracing-test]
          92  +
version = "0.2.5"
          93  +
features = ["no-env-filter"]
          94  +
   91     95   
[features]
   92     96   
behavior-version-latest = []
   93     97   
rustls = ["aws-smithy-runtime/tls-rustls"]
   94     98   
rt-tokio = ["aws-smithy-async/rt-tokio", "aws-smithy-types/rt-tokio"]
   95     99   
test-util = ["aws-credential-types/test-util", "aws-smithy-runtime/test-util"]
   96    100   
default = ["rustls", "rt-tokio"]

tmp-codegen-diff/aws-sdk/sdk/route53/src/operation/get_change.rs

@@ -214,214 +278,279 @@
  234    234   
            .map_err(|err| {
  235    235   
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  236    236   
            })?;
  237    237   
        cfg.interceptor_state()
  238    238   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  239    239   
        ::std::result::Result::Ok(())
  240    240   
    }
  241    241   
}
  242    242   
#[allow(unreachable_code, unused_variables)]
  243    243   
#[cfg(test)]
  244         -
mod get_change_request_test {
         244  +
mod get_change_test {
         245  +
  245    246   
    /// This test validates that change id is correctly trimmed
  246    247   
    /// Test ID: GetChangeTrimChangeId
  247    248   
    #[::tokio::test]
  248         -
    #[allow(unused_mut)]
         249  +
    #[::tracing_test::traced_test]
  249    250   
    async fn get_change_trim_change_id_request() {
  250    251   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  251    252   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  252    253   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  253    254   
        let mut config_builder = config_builder;
  254    255   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  255    256   
  256    257   
        let config = config_builder.http_client(http_client).build();
  257    258   
        let client = crate::Client::from_conf(config);
  258    259   
        let result = client

tmp-codegen-diff/aws-sdk/sdk/route53/src/operation/get_reusable_delegation_set.rs

@@ -220,220 +284,285 @@
  240    240   
            .map_err(|err| {
  241    241   
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  242    242   
            })?;
  243    243   
        cfg.interceptor_state()
  244    244   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  245    245   
        ::std::result::Result::Ok(())
  246    246   
    }
  247    247   
}
  248    248   
#[allow(unreachable_code, unused_variables)]
  249    249   
#[cfg(test)]
  250         -
mod get_reusable_delegation_set_request_test {
         250  +
mod get_reusable_delegation_set_test {
         251  +
  251    252   
    /// This test validates that delegation set id is correctly trimmed
  252    253   
    /// Test ID: GetReusableDelegationSetTrimDelegationSetId
  253    254   
    #[::tokio::test]
  254         -
    #[allow(unused_mut)]
         255  +
    #[::tracing_test::traced_test]
  255    256   
    async fn get_reusable_delegation_set_trim_delegation_set_id_request() {
  256    257   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  257    258   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  258    259   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  259    260   
        let mut config_builder = config_builder;
  260    261   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  261    262   
  262    263   
        let config = config_builder.http_client(http_client).build();
  263    264   
        let client = crate::Client::from_conf(config);
  264    265   
        let result = client

tmp-codegen-diff/aws-sdk/sdk/route53/src/operation/list_resource_record_sets.rs

@@ -249,249 +313,314 @@
  269    269   
            .map_err(|err| {
  270    270   
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  271    271   
            })?;
  272    272   
        cfg.interceptor_state()
  273    273   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  274    274   
        ::std::result::Result::Ok(())
  275    275   
    }
  276    276   
}
  277    277   
#[allow(unreachable_code, unused_variables)]
  278    278   
#[cfg(test)]
  279         -
mod list_resource_record_sets_request_test {
         279  +
mod list_resource_record_sets_test {
         280  +
  280    281   
    /// This test validates that hosted zone is correctly trimmed
  281    282   
    /// Test ID: ListResourceRecordSetsTrimHostedZone
  282    283   
    #[::tokio::test]
  283         -
    #[allow(unused_mut)]
         284  +
    #[::tracing_test::traced_test]
  284    285   
    async fn list_resource_record_sets_trim_hosted_zone_request() {
  285    286   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  286    287   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  287    288   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  288    289   
        let mut config_builder = config_builder;
  289    290   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  290    291   
  291    292   
        let config = config_builder.http_client(http_client).build();
  292    293   
        let client = crate::Client::from_conf(config);
  293    294   
        let result = client

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/create_multipart_upload.rs

@@ -265,265 +329,330 @@
  285    285   
            .map_err(|err| {
  286    286   
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  287    287   
            })?;
  288    288   
        cfg.interceptor_state()
  289    289   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  290    290   
        ::std::result::Result::Ok(())
  291    291   
    }
  292    292   
}
  293    293   
#[allow(unreachable_code, unused_variables)]
  294    294   
#[cfg(test)]
  295         -
mod create_multipart_upload_request_test {
         295  +
mod create_multipart_upload_test {
         296  +
  296    297   
    /// This test validates that the URI for CreateMultipartUpload is created correctly
  297    298   
    /// Test ID: CreateMultipartUploadUriConstruction
  298    299   
    #[::tokio::test]
  299         -
    #[allow(unused_mut)]
         300  +
    #[::tracing_test::traced_test]
  300    301   
    async fn create_multipart_upload_uri_construction_request() {
  301    302   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  302    303   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  303    304   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  304    305   
        let mut config_builder = config_builder;
  305    306   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  306    307   
  307    308   
        let config = config_builder.http_client(http_client).build();
  308    309   
        let client = crate::Client::from_conf(config);
  309    310   
        let result = client

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/delete_object_tagging.rs

@@ -248,248 +350,351 @@
  268    268   
            .map_err(|err| {
  269    269   
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  270    270   
            })?;
  271    271   
        cfg.interceptor_state()
  272    272   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  273    273   
        ::std::result::Result::Ok(())
  274    274   
    }
  275    275   
}
  276    276   
#[allow(unreachable_code, unused_variables)]
  277    277   
#[cfg(test)]
  278         -
mod delete_object_tagging_request_test {
  279         -
    ///     S3 clients should escape special characters in Object Keys
  280         -
    ///     when the Object Key is used as a URI label binding.
         278  +
mod delete_object_tagging_test {
         279  +
         280  +
    /// S3 clients should escape special characters in Object Keys
         281  +
    /// when the Object Key is used as a URI label binding.
  281    282   
    ///
  282    283   
    /// Test ID: S3EscapeObjectKeyInUriLabel
  283    284   
    #[::tokio::test]
  284         -
    #[allow(unused_mut)]
         285  +
    #[::tracing_test::traced_test]
  285    286   
    async fn s3_escape_object_key_in_uri_label_request() {
  286    287   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  287    288   
        let config_builder = crate::config::Config::builder()
  288    289   
            .with_test_defaults()
  289    290   
            .endpoint_url("https://s3.us-west-2.amazonaws.com");
  290    291   
  291    292   
        let mut config_builder = config_builder;
  292    293   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  293    294   
  294    295   
        let config = config_builder.http_client(http_client).build();
  295    296   
        let client = crate::Client::from_conf(config);
  296    297   
        let result = client
  297    298   
            .delete_object_tagging()
  298    299   
            .set_bucket(::std::option::Option::Some("mybucket".to_owned()))
  299    300   
            .set_key(::std::option::Option::Some("my key.txt".to_owned()))
  300    301   
            .send()
  301    302   
            .await;
  302    303   
        let _ = dbg!(result);
  303    304   
        let http_request = request_receiver.expect_request();
  304    305   
        let expected_query_params = &["tagging"];
  305    306   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_query_string(&http_request, expected_query_params));
  306    307   
        let body = http_request.body().bytes().expect("body should be strict");
  307    308   
        // No body
  308    309   
        ::pretty_assertions::assert_eq!(::std::str::from_utf8(body).unwrap(), "");
  309    310   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  310    311   
        ::pretty_assertions::assert_eq!(http_request.method(), "DELETE", "method was incorrect");
  311    312   
        ::pretty_assertions::assert_eq!(uri.path(), "/my%20key.txt", "path was incorrect");
  312    313   
        ::pretty_assertions::assert_eq!(uri.host().expect("host should be set"), "mybucket.s3.us-west-2.amazonaws.com");
  313    314   
    }
  314         -
    ///     S3 clients should preserve an Object Key representing a path
  315         -
    ///     when the Object Key is used as a URI label binding, but still
  316         -
    ///     escape special characters.
         315  +
    /// S3 clients should preserve an Object Key representing a path
         316  +
    /// when the Object Key is used as a URI label binding, but still
         317  +
    /// escape special characters.
  317    318   
    ///
  318    319   
    /// Test ID: S3EscapePathObjectKeyInUriLabel
  319    320   
    #[::tokio::test]
  320         -
    #[allow(unused_mut)]
         321  +
    #[::tracing_test::traced_test]
  321    322   
    async fn s3_escape_path_object_key_in_uri_label_request() {
  322    323   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  323    324   
        let config_builder = crate::config::Config::builder()
  324    325   
            .with_test_defaults()
  325    326   
            .endpoint_url("https://s3.us-west-2.amazonaws.com");
  326    327   
  327    328   
        let mut config_builder = config_builder;
  328    329   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  329    330   
  330    331   
        let config = config_builder.http_client(http_client).build();

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/get_bucket_location.rs

@@ -233,233 +297,298 @@
  253    253   
            .map_err(|err| {
  254    254   
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  255    255   
            })?;
  256    256   
        cfg.interceptor_state()
  257    257   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  258    258   
        ::std::result::Result::Ok(())
  259    259   
    }
  260    260   
}
  261    261   
#[allow(unreachable_code, unused_variables)]
  262    262   
#[cfg(test)]
  263         -
mod get_bucket_location_request_test {
         263  +
mod get_bucket_location_test {
         264  +
  264    265   
    /// This test case validates https://github.com/awslabs/aws-sdk-rust/issues/116
  265    266   
    /// Test ID: GetBucketLocation
  266    267   
    #[::tokio::test]
  267         -
    #[allow(unused_mut)]
         268  +
    #[::tracing_test::traced_test]
  268    269   
    async fn get_bucket_location_response() {
  269    270   
        let expected_output = crate::operation::get_bucket_location::GetBucketLocationOutput::builder()
  270    271   
            .set_location_constraint(::std::option::Option::Some(
  271    272   
                "us-west-2"
  272    273   
                    .parse::<crate::types::BucketLocationConstraint>()
  273    274   
                    .expect("static value validated to member"),
  274    275   
            ))
  275    276   
            .build();
  276    277   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  277    278   
        .status(200)

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/get_object.rs

@@ -316,316 +443,444 @@
  336    336   
            .map_err(|err| {
  337    337   
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  338    338   
            })?;
  339    339   
        cfg.interceptor_state()
  340    340   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  341    341   
        ::std::result::Result::Ok(())
  342    342   
    }
  343    343   
}
  344    344   
#[allow(unreachable_code, unused_variables)]
  345    345   
#[cfg(test)]
  346         -
mod get_object_request_test {
         346  +
mod get_object_test {
         347  +
  347    348   
    /// https://github.com/awslabs/aws-sdk-rust/issues/818
  348    349   
    /// Test ID: GetObjectIfModifiedSince
  349    350   
    #[::tokio::test]
  350         -
    #[allow(unused_mut)]
         351  +
    #[::tracing_test::traced_test]
  351    352   
    async fn get_object_if_modified_since_request() {
  352    353   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  353    354   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  354    355   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  355    356   
        let mut config_builder = config_builder;
  356    357   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  357    358   
  358    359   
        let config = config_builder.http_client(http_client).build();
  359    360   
        let client = crate::Client::from_conf(config);
  360    361   
        let result = client
  361    362   
            .get_object()
  362    363   
            .set_bucket(::std::option::Option::Some("test-bucket".to_owned()))
  363    364   
            .set_key(::std::option::Option::Some("object.txt".to_owned()))
  364    365   
            .set_if_modified_since(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  365    366   
                1626452453, 0.123_f64,
  366    367   
            )))
  367    368   
            .send()
  368    369   
            .await;
  369    370   
        let _ = dbg!(result);
  370    371   
        let http_request = request_receiver.expect_request();
  371    372   
        let expected_headers = [("if-modified-since", "Fri, 16 Jul 2021 16:20:53 GMT")];
  372    373   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  373    374   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  374    375   
        ::pretty_assertions::assert_eq!(http_request.method(), "GET", "method was incorrect");
  375    376   
        ::pretty_assertions::assert_eq!(uri.path(), "/object.txt", "path was incorrect");
  376    377   
    }
  377         -
    ///     S3 clients should not remove dot segments from request paths.
         378  +
    /// S3 clients should not remove dot segments from request paths.
  378    379   
    ///
  379    380   
    /// Test ID: S3PreservesLeadingDotSegmentInUriLabel
  380    381   
    #[::tokio::test]
  381         -
    #[allow(unused_mut)]
         382  +
    #[::tracing_test::traced_test]
  382    383   
    async fn s3_preserves_leading_dot_segment_in_uri_label_request() {
  383    384   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  384    385   
        let config_builder = crate::config::Config::builder()
  385    386   
            .with_test_defaults()
  386    387   
            .endpoint_url("https://s3.us-west-2.amazonaws.com");
  387    388   
  388    389   
        let mut config_builder = config_builder;
  389    390   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  390    391   
  391    392   
        let config = config_builder.http_client(http_client).build();
  392    393   
        let client = crate::Client::from_conf(config);
  393    394   
        let result = client
  394    395   
            .get_object()
  395    396   
            .set_bucket(::std::option::Option::Some("mybucket".to_owned()))
  396    397   
            .set_key(::std::option::Option::Some("../key.txt".to_owned()))
  397    398   
            .send()
  398    399   
            .await;
  399    400   
        let _ = dbg!(result);
  400    401   
        let http_request = request_receiver.expect_request();
  401    402   
        let body = http_request.body().bytes().expect("body should be strict");
  402    403   
        // No body
  403    404   
        ::pretty_assertions::assert_eq!(::std::str::from_utf8(body).unwrap(), "");
  404    405   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  405    406   
        ::pretty_assertions::assert_eq!(http_request.method(), "GET", "method was incorrect");
  406    407   
        ::pretty_assertions::assert_eq!(uri.path(), "/../key.txt", "path was incorrect");
  407    408   
        ::pretty_assertions::assert_eq!(uri.host().expect("host should be set"), "mybucket.s3.us-west-2.amazonaws.com");
  408    409   
    }
  409         -
    ///     S3 clients should not remove dot segments from request paths.
         410  +
    /// S3 clients should not remove dot segments from request paths.
  410    411   
    ///
  411    412   
    /// Test ID: S3PreservesEmbeddedDotSegmentInUriLabel
  412    413   
    #[::tokio::test]
  413         -
    #[allow(unused_mut)]
         414  +
    #[::tracing_test::traced_test]
  414    415   
    async fn s3_preserves_embedded_dot_segment_in_uri_label_request() {
  415    416   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  416    417   
        let config_builder = crate::config::Config::builder()
  417    418   
            .with_test_defaults()
  418    419   
            .endpoint_url("https://s3.us-west-2.amazonaws.com");
  419    420   
  420    421   
        let mut config_builder = config_builder;
  421    422   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  422    423   
  423    424   
        let config = config_builder.http_client(http_client).build();

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/head_bucket.rs

@@ -229,229 +293,294 @@
  249    249   
            .map_err(|err| {
  250    250   
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  251    251   
            })?;
  252    252   
        cfg.interceptor_state()
  253    253   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  254    254   
        ::std::result::Result::Ok(())
  255    255   
    }
  256    256   
}
  257    257   
#[allow(unreachable_code, unused_variables)]
  258    258   
#[cfg(test)]
  259         -
mod head_bucket_request_test {
         259  +
mod head_bucket_test {
         260  +
  260    261   
    /// This test case validates https://github.com/smithy-lang/smithy-rs/issues/456
  261    262   
    /// Test ID: HeadObjectEmptyBody
  262    263   
    #[::tokio::test]
  263         -
    #[allow(unused_mut)]
         264  +
    #[::tracing_test::traced_test]
  264    265   
    async fn head_object_empty_body_response() {
  265    266   
        let expected_output = crate::types::error::NotFound::builder().build();
  266    267   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(
  267    268   
            ::http::response::Builder::new()
  268    269   
                .header("content-type", "application/xml")
  269    270   
                .header("date", "Thu, 03 Jun 2021 04:05:52 GMT")
  270    271   
                .header("server", "AmazonS3")
  271    272   
                .header(
  272    273   
                    "x-amz-id-2",
  273    274   
                    "UTniwu6QmCIjVeuK2ZfeWBOnu7SqMQOS3Vac6B/K4H2ZCawYUl+nDbhGTImuyhZ5DFiojR3Kcz4=",

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/head_object.rs

@@ -266,266 +355,356 @@
  286    286   
            .map_err(|err| {
  287    287   
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  288    288   
            })?;
  289    289   
        cfg.interceptor_state()
  290    290   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  291    291   
        ::std::result::Result::Ok(())
  292    292   
    }
  293    293   
}
  294    294   
#[allow(unreachable_code, unused_variables)]
  295    295   
#[cfg(test)]
  296         -
mod head_object_request_test {
         296  +
mod head_object_test {
         297  +
  297    298   
    /// https://github.com/awslabs/aws-sdk-rust/issues/331
  298    299   
    /// Test ID: HeadObjectUriEncoding
  299    300   
    #[::tokio::test]
  300         -
    #[allow(unused_mut)]
         301  +
    #[::tracing_test::traced_test]
  301    302   
    async fn head_object_uri_encoding_request() {
  302    303   
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
  303    304   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  304    305   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  305    306   
        let mut config_builder = config_builder;
  306    307   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  307    308   
  308    309   
        let config = config_builder.http_client(http_client).build();
  309    310   
        let client = crate::Client::from_conf(config);
  310    311   
        let result = client
  311    312   
            .head_object()
  312    313   
            .set_bucket(::std::option::Option::Some("test-bucket".to_owned()))
  313    314   
            .set_key(::std::option::Option::Some("<> `?🐱".to_owned()))
  314    315   
            .send()
  315    316   
            .await;
  316    317   
        let _ = dbg!(result);
  317    318   
        let http_request = request_receiver.expect_request();
  318    319   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  319    320   
        ::pretty_assertions::assert_eq!(http_request.method(), "HEAD", "method was incorrect");
  320    321   
        ::pretty_assertions::assert_eq!(uri.path(), "/%3C%3E%20%60%3F%F0%9F%90%B1", "path was incorrect");
  321    322   
    }
  322    323   
    /// This test case validates https://github.com/smithy-lang/smithy-rs/issues/456
  323    324   
    /// Test ID: HeadObjectEmptyBody
  324    325   
    #[::tokio::test]
  325         -
    #[allow(unused_mut)]
         326  +
    #[::tracing_test::traced_test]
  326    327   
    async fn head_object_empty_body_response() {
  327    328   
        let expected_output = crate::types::error::NotFound::builder().build();
  328    329   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(
  329    330   
            ::http::response::Builder::new()
  330    331   
                .header("content-type", "application/xml")
  331    332   
                .header("date", "Thu, 03 Jun 2021 04:05:52 GMT")
  332    333   
                .header("server", "AmazonS3")
  333    334   
                .header(
  334    335   
                    "x-amz-id-2",
  335    336   
                    "UTniwu6QmCIjVeuK2ZfeWBOnu7SqMQOS3Vac6B/K4H2ZCawYUl+nDbhGTImuyhZ5DFiojR3Kcz4=",

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/list_object_versions.rs

@@ -263,263 +327,328 @@
  283    283   
            .map_err(|err| {
  284    284   
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  285    285   
            })?;
  286    286   
        cfg.interceptor_state()
  287    287   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  288    288   
        ::std::result::Result::Ok(())
  289    289   
    }
  290    290   
}
  291    291   
#[allow(unreachable_code, unused_variables)]
  292    292   
#[cfg(test)]
  293         -
mod list_object_versions_request_test {
         293  +
mod list_object_versions_test {
         294  +
  294    295   
    /// Verify that interleaving list elements (DeleteMarker and Version) from different lists works
  295    296   
    /// Test ID: OutOfOrderVersions
  296    297   
    #[::tokio::test]
  297         -
    #[allow(unused_mut)]
         298  +
    #[::tracing_test::traced_test]
  298    299   
    async fn out_of_order_versions_response() {
  299    300   
        let expected_output = crate::operation::list_object_versions::ListObjectVersionsOutput::builder()
  300    301   
            .set_name(::std::option::Option::Some("sdk-obj-versions-test".to_owned()))
  301    302   
            .set_prefix(::std::option::Option::Some("".to_owned()))
  302    303   
            .set_key_marker(::std::option::Option::Some("".to_owned()))
  303    304   
            .set_version_id_marker(::std::option::Option::Some("".to_owned()))
  304    305   
            .set_max_keys(::std::option::Option::Some(1000))
  305    306   
            .set_is_truncated(::std::option::Option::Some(false))
  306    307   
            .set_delete_markers(::std::option::Option::Some(vec![
  307    308   
                crate::types::DeleteMarkerEntry::builder()

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/list_objects.rs

@@ -265,265 +329,330 @@
  285    285   
            .map_err(|err| {
  286    286   
                ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err)
  287    287   
            })?;
  288    288   
        cfg.interceptor_state()
  289    289   
            .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params));
  290    290   
        ::std::result::Result::Ok(())
  291    291   
    }
  292    292   
}
  293    293   
#[allow(unreachable_code, unused_variables)]
  294    294   
#[cfg(test)]
  295         -
mod list_objects_request_test {
         295  +
mod list_objects_test {
         296  +
  296    297   
    /// This test validates that parsing respects whitespace
  297    298   
    /// Test ID: KeysWithWhitespace
  298    299   
    #[::tokio::test]
  299         -
    #[allow(unused_mut)]
         300  +
    #[::tracing_test::traced_test]
  300    301   
    async fn keys_with_whitespace_response() {
  301    302   
        let expected_output = crate::operation::list_objects::ListObjectsOutput::builder()
  302    303   
            .set_max_keys(::std::option::Option::Some(1000))
  303    304   
            .set_is_truncated(::std::option::Option::Some(false))
  304    305   
            .set_marker(::std::option::Option::Some("".to_owned()))
  305    306   
            .set_name(::std::option::Option::Some("bucketname".to_owned()))
  306    307   
            .set_prefix(::std::option::Option::Some("".to_owned()))
  307    308   
            .set_contents(::std::option::Option::Some(vec![
  308    309   
                crate::types::Object::builder()
  309    310   
                    .set_key(::std::option::Option::Some("    ".to_owned()))