Client Test

Client Test

rev. 1fb202108840af7ccb1069c5b8afebf43a5e5aec

Files changed:

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_attributes.rs

@@ -202,202 +292,292 @@
  222    222   
  223    223   
#[allow(unreachable_code, unused_variables)]
  224    224   
#[cfg(test)]
  225    225   
mod xml_attributes_test {
  226    226   
  227    227   
    /// Serializes XML attributes on the synthesized document
  228    228   
    /// Test ID: XmlAttributes
  229    229   
    #[::tokio::test]
  230    230   
    #[::tracing_test::traced_test]
  231    231   
    async fn xml_attributes_request() {
  232         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         232  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  233    233   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  234    234   
  235    235   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  236    236   
        let result = client
  237    237   
            .xml_attributes()
  238    238   
            .set_foo(::std::option::Option::Some("hi".to_owned()))
  239    239   
            .set_attr(::std::option::Option::Some("test".to_owned()))
  240    240   
            .send()
  241    241   
            .await;
  242    242   
        let _ = dbg!(result);
  243    243   
        let http_request = request_receiver.expect_request();
  244    244   
        let expected_headers = [("Content-Type", "application/xml")];
  245    245   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  246    246   
        let body = http_request.body().bytes().expect("body should be strict");
  247    247   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  248    248   
            body,
  249    249   
            "<XmlAttributesRequest test=\"test\">\n    <foo>hi</foo>\n</XmlAttributesRequest>\n",
  250    250   
            ::aws_smithy_protocol_test::MediaType::from("application/xml"),
  251    251   
        ));
  252    252   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  253    253   
        ::pretty_assertions::assert_eq!(http_request.method(), "PUT", "method was incorrect");
  254    254   
        ::pretty_assertions::assert_eq!(uri.path(), "/XmlAttributes", "path was incorrect");
  255    255   
    }
  256    256   
  257    257   
    /// Serializes XML attributes with escaped characters on the synthesized document
  258    258   
    /// Test ID: XmlAttributesWithEscaping
  259    259   
    #[::tokio::test]
  260    260   
    #[::tracing_test::traced_test]
  261    261   
    async fn xml_attributes_with_escaping_request() {
  262         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         262  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  263    263   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  264    264   
  265    265   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  266    266   
        let result = client
  267    267   
            .xml_attributes()
  268    268   
            .set_foo(::std::option::Option::Some("hi".to_owned()))
  269    269   
            .set_attr(::std::option::Option::Some("<test&mock>".to_owned()))
  270    270   
            .send()
  271    271   
            .await;
  272    272   
        let _ = dbg!(result);

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_attributes_on_payload.rs

@@ -210,210 +270,270 @@
  230    230   
  231    231   
#[allow(unreachable_code, unused_variables)]
  232    232   
#[cfg(test)]
  233    233   
mod xml_attributes_on_payload_test {
  234    234   
  235    235   
    /// Serializes XML attributes on the synthesized document
  236    236   
    /// Test ID: XmlAttributesOnPayload
  237    237   
    #[::tokio::test]
  238    238   
    #[::tracing_test::traced_test]
  239    239   
    async fn xml_attributes_on_payload_request() {
  240         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         240  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  241    241   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  242    242   
  243    243   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  244    244   
        let result = client
  245    245   
            .xml_attributes_on_payload()
  246    246   
            .set_payload(::std::option::Option::Some(
  247    247   
                crate::types::XmlAttributesPayloadRequest::builder()
  248    248   
                    .set_foo(::std::option::Option::Some("hi".to_owned()))
  249    249   
                    .set_attr(::std::option::Option::Some("test".to_owned()))
  250    250   
                    .build(),

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_blobs.rs

@@ -195,195 +255,255 @@
  215    215   
  216    216   
#[allow(unreachable_code, unused_variables)]
  217    217   
#[cfg(test)]
  218    218   
mod xml_blobs_test {
  219    219   
  220    220   
    /// Blobs are base64 encoded
  221    221   
    /// Test ID: XmlBlobs
  222    222   
    #[::tokio::test]
  223    223   
    #[::tracing_test::traced_test]
  224    224   
    async fn xml_blobs_request() {
  225         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         225  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  226    226   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  227    227   
  228    228   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  229    229   
        let result = client
  230    230   
            .xml_blobs()
  231    231   
            .set_data(::std::option::Option::Some(::aws_smithy_types::Blob::new("value")))
  232    232   
            .send()
  233    233   
            .await;
  234    234   
        let _ = dbg!(result);
  235    235   
        let http_request = request_receiver.expect_request();

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_empty_lists.rs

@@ -202,202 +262,262 @@
  222    222   
  223    223   
#[allow(unreachable_code, unused_variables)]
  224    224   
#[cfg(test)]
  225    225   
mod xml_empty_lists_test {
  226    226   
  227    227   
    /// Serializes Empty XML lists
  228    228   
    /// Test ID: XmlEmptyLists
  229    229   
    #[::tokio::test]
  230    230   
    #[::tracing_test::traced_test]
  231    231   
    async fn xml_empty_lists_request() {
  232         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         232  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  233    233   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  234    234   
  235    235   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  236    236   
        let result = client
  237    237   
            .xml_empty_lists()
  238    238   
            .set_string_list(::std::option::Option::Some(vec![]))
  239    239   
            .set_string_set(::std::option::Option::Some(vec![]))
  240    240   
            .send()
  241    241   
            .await;
  242    242   
        let _ = dbg!(result);

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_empty_maps.rs

@@ -202,202 +262,262 @@
  222    222   
  223    223   
#[allow(unreachable_code, unused_variables)]
  224    224   
#[cfg(test)]
  225    225   
mod xml_empty_maps_test {
  226    226   
  227    227   
    /// Serializes Empty XML maps
  228    228   
    /// Test ID: XmlEmptyMaps
  229    229   
    #[::tokio::test]
  230    230   
    #[::tracing_test::traced_test]
  231    231   
    async fn xml_empty_maps_request() {
  232         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         232  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  233    233   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  234    234   
  235    235   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  236    236   
        let result = client
  237    237   
            .xml_empty_maps()
  238    238   
            .set_my_map(::std::option::Option::Some(::std::collections::HashMap::new()))
  239    239   
            .send()
  240    240   
            .await;
  241    241   
        let _ = dbg!(result);
  242    242   
        let http_request = request_receiver.expect_request();

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_empty_strings.rs

@@ -202,202 +262,262 @@
  222    222   
  223    223   
#[allow(unreachable_code, unused_variables)]
  224    224   
#[cfg(test)]
  225    225   
mod xml_empty_strings_test {
  226    226   
  227    227   
    /// Serializes xml empty strings
  228    228   
    /// Test ID: XmlEmptyStrings
  229    229   
    #[::tokio::test]
  230    230   
    #[::tracing_test::traced_test]
  231    231   
    async fn xml_empty_strings_request() {
  232         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         232  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  233    233   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  234    234   
  235    235   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  236    236   
        let result = client
  237    237   
            .xml_empty_strings()
  238    238   
            .set_empty_string(::std::option::Option::Some("".to_owned()))
  239    239   
            .send()
  240    240   
            .await;
  241    241   
        let _ = dbg!(result);
  242    242   
        let http_request = request_receiver.expect_request();

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_enums.rs

@@ -195,195 +255,255 @@
  215    215   
  216    216   
#[allow(unreachable_code, unused_variables)]
  217    217   
#[cfg(test)]
  218    218   
mod xml_enums_test {
  219    219   
  220    220   
    /// Serializes simple scalar properties
  221    221   
    /// Test ID: XmlEnums
  222    222   
    #[::tokio::test]
  223    223   
    #[::tracing_test::traced_test]
  224    224   
    async fn xml_enums_request() {
  225         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         225  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  226    226   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  227    227   
  228    228   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  229    229   
        let result = client
  230    230   
            .xml_enums()
  231    231   
            .set_foo_enum1(::std::option::Option::Some(
  232    232   
                "Foo".parse::<crate::types::FooEnum>().expect("static value validated to member"),
  233    233   
            ))
  234    234   
            .set_foo_enum2(::std::option::Option::Some(
  235    235   
                "0".parse::<crate::types::FooEnum>().expect("static value validated to member"),

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_int_enums.rs

@@ -201,201 +261,261 @@
  221    221   
  222    222   
#[allow(unreachable_code, unused_variables)]
  223    223   
#[cfg(test)]
  224    224   
mod xml_int_enums_test {
  225    225   
  226    226   
    /// Serializes simple scalar properties
  227    227   
    /// Test ID: XmlIntEnums
  228    228   
    #[::tokio::test]
  229    229   
    #[::tracing_test::traced_test]
  230    230   
    async fn xml_int_enums_request() {
  231         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         231  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  232    232   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  233    233   
  234    234   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  235    235   
        let result = client
  236    236   
            .xml_int_enums()
  237    237   
            .set_int_enum1(::std::option::Option::Some(1))
  238    238   
            .set_int_enum2(::std::option::Option::Some(2))
  239    239   
            .set_int_enum3(::std::option::Option::Some(3))
  240    240   
            .set_int_enum_list(::std::option::Option::Some(vec![1, 2]))
  241    241   
            .set_int_enum_set(::std::option::Option::Some(vec![1, 2]))

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_lists.rs

@@ -195,195 +255,255 @@
  215    215   
  216    216   
#[allow(unreachable_code, unused_variables)]
  217    217   
#[cfg(test)]
  218    218   
mod xml_lists_test {
  219    219   
  220    220   
    /// Tests for XML list serialization
  221    221   
    /// Test ID: XmlLists
  222    222   
    #[::tokio::test]
  223    223   
    #[::tracing_test::traced_test]
  224    224   
    async fn xml_lists_request() {
  225         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         225  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  226    226   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  227    227   
  228    228   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  229    229   
        let result = client
  230    230   
            .xml_lists()
  231    231   
            .set_string_list(::std::option::Option::Some(vec!["foo".to_owned(), "bar".to_owned()]))
  232    232   
            .set_string_set(::std::option::Option::Some(vec!["foo".to_owned(), "bar".to_owned()]))
  233    233   
            .set_integer_list(::std::option::Option::Some(vec![1, 2]))
  234    234   
            .set_boolean_list(::std::option::Option::Some(vec![true, false]))
  235    235   
            .set_timestamp_list(::std::option::Option::Some(vec![

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_map_with_xml_namespace.rs

@@ -210,210 +270,270 @@
  230    230   
  231    231   
#[allow(unreachable_code, unused_variables)]
  232    232   
#[cfg(test)]
  233    233   
mod xml_map_with_xml_namespace_test {
  234    234   
  235    235   
    /// Serializes XML maps in requests that have xmlNamespace and xmlName on members
  236    236   
    /// Test ID: RestXmlXmlMapWithXmlNamespace
  237    237   
    #[::tokio::test]
  238    238   
    #[::tracing_test::traced_test]
  239    239   
    async fn rest_xml_xml_map_with_xml_namespace_request() {
  240         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         240  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  241    241   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  242    242   
  243    243   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  244    244   
        let result = client
  245    245   
            .xml_map_with_xml_namespace()
  246    246   
            .set_my_map(::std::option::Option::Some({
  247    247   
                let mut ret = ::std::collections::HashMap::new();
  248    248   
                ret.insert("a".to_owned(), "A".to_owned());
  249    249   
                ret.insert("b".to_owned(), "B".to_owned());
  250    250   
                ret

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_maps.rs

@@ -195,195 +255,255 @@
  215    215   
  216    216   
#[allow(unreachable_code, unused_variables)]
  217    217   
#[cfg(test)]
  218    218   
mod xml_maps_test {
  219    219   
  220    220   
    /// Tests for XML map serialization
  221    221   
    /// Test ID: XmlMaps
  222    222   
    #[::tokio::test]
  223    223   
    #[::tracing_test::traced_test]
  224    224   
    async fn xml_maps_request() {
  225         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         225  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  226    226   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  227    227   
  228    228   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  229    229   
        let result = client
  230    230   
            .xml_maps()
  231    231   
            .set_my_map(::std::option::Option::Some({
  232    232   
                let mut ret = ::std::collections::HashMap::new();
  233    233   
                ret.insert(
  234    234   
                    "foo".to_owned(),
  235    235   
                    crate::types::GreetingStruct::builder()

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_maps_xml_name.rs

@@ -202,202 +262,262 @@
  222    222   
  223    223   
#[allow(unreachable_code, unused_variables)]
  224    224   
#[cfg(test)]
  225    225   
mod xml_maps_xml_name_test {
  226    226   
  227    227   
    /// Serializes XML maps that have xmlName on members
  228    228   
    /// Test ID: XmlMapsXmlName
  229    229   
    #[::tokio::test]
  230    230   
    #[::tracing_test::traced_test]
  231    231   
    async fn xml_maps_xml_name_request() {
  232         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         232  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  233    233   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  234    234   
  235    235   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  236    236   
        let result = client
  237    237   
            .xml_maps_xml_name()
  238    238   
            .set_my_map(::std::option::Option::Some({
  239    239   
                let mut ret = ::std::collections::HashMap::new();
  240    240   
                ret.insert(
  241    241   
                    "foo".to_owned(),
  242    242   
                    crate::types::GreetingStruct::builder()

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_namespaces.rs

@@ -202,202 +262,262 @@
  222    222   
  223    223   
#[allow(unreachable_code, unused_variables)]
  224    224   
#[cfg(test)]
  225    225   
mod xml_namespaces_test {
  226    226   
  227    227   
    /// Serializes XML namespaces
  228    228   
    /// Test ID: XmlNamespaces
  229    229   
    #[::tokio::test]
  230    230   
    #[::tracing_test::traced_test]
  231    231   
    async fn xml_namespaces_request() {
  232         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         232  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  233    233   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  234    234   
  235    235   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  236    236   
        let result = client
  237    237   
            .xml_namespaces()
  238    238   
            .set_nested(::std::option::Option::Some(
  239    239   
                crate::types::XmlNamespaceNested::builder()
  240    240   
                    .set_foo(::std::option::Option::Some("Foo".to_owned()))
  241    241   
                    .set_values(::std::option::Option::Some(vec!["Bar".to_owned(), "Baz".to_owned()]))
  242    242   
                    .build(),

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_timestamps.rs

@@ -202,202 +448,448 @@
  222    222   
  223    223   
#[allow(unreachable_code, unused_variables)]
  224    224   
#[cfg(test)]
  225    225   
mod xml_timestamps_test {
  226    226   
  227    227   
    /// Tests how normal timestamps are serialized
  228    228   
    /// Test ID: XmlTimestamps
  229    229   
    #[::tokio::test]
  230    230   
    #[::tracing_test::traced_test]
  231    231   
    async fn xml_timestamps_request() {
  232         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         232  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  233    233   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  234    234   
  235    235   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  236    236   
        let result = client
  237    237   
            .xml_timestamps()
  238    238   
            .set_normal(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  239    239   
                1398796238, 0_f64,
  240    240   
            )))
  241    241   
            .send()
  242    242   
            .await;
  243    243   
        let _ = dbg!(result);
  244    244   
        let http_request = request_receiver.expect_request();
  245    245   
        let expected_headers = [("Content-Type", "application/xml")];
  246    246   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  247    247   
        let body = http_request.body().bytes().expect("body should be strict");
  248    248   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  249    249   
            body,
  250    250   
            "<XmlTimestampsRequest>\n    <normal>2014-04-29T18:30:38Z</normal>\n</XmlTimestampsRequest>\n",
  251    251   
            ::aws_smithy_protocol_test::MediaType::from("application/xml"),
  252    252   
        ));
  253    253   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  254    254   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  255    255   
        ::pretty_assertions::assert_eq!(uri.path(), "/XmlTimestamps", "path was incorrect");
  256    256   
    }
  257    257   
  258    258   
    /// Ensures that the timestampFormat of date-time works like normal timestamps
  259    259   
    /// Test ID: XmlTimestampsWithDateTimeFormat
  260    260   
    #[::tokio::test]
  261    261   
    #[::tracing_test::traced_test]
  262    262   
    async fn xml_timestamps_with_date_time_format_request() {
  263         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         263  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  264    264   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  265    265   
  266    266   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  267    267   
        let result = client
  268    268   
            .xml_timestamps()
  269    269   
            .set_date_time(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  270    270   
                1398796238, 0_f64,
  271    271   
            )))
  272    272   
            .send()
  273    273   
            .await;
  274    274   
        let _ = dbg!(result);
  275    275   
        let http_request = request_receiver.expect_request();
  276    276   
        let expected_headers = [("Content-Type", "application/xml")];
  277    277   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  278    278   
        let body = http_request.body().bytes().expect("body should be strict");
  279    279   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  280    280   
            body,
  281    281   
            "<XmlTimestampsRequest>\n    <dateTime>2014-04-29T18:30:38Z</dateTime>\n</XmlTimestampsRequest>\n",
  282    282   
            ::aws_smithy_protocol_test::MediaType::from("application/xml"),
  283    283   
        ));
  284    284   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  285    285   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  286    286   
        ::pretty_assertions::assert_eq!(uri.path(), "/XmlTimestamps", "path was incorrect");
  287    287   
    }
  288    288   
  289    289   
    /// Ensures that the timestampFormat of date-time on the target shape works like normal timestamps
  290    290   
    /// Test ID: XmlTimestampsWithDateTimeOnTargetFormat
  291    291   
    #[::tokio::test]
  292    292   
    #[::tracing_test::traced_test]
  293    293   
    async fn xml_timestamps_with_date_time_on_target_format_request() {
  294         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         294  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  295    295   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  296    296   
  297    297   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  298    298   
        let result = client
  299    299   
            .xml_timestamps()
  300    300   
            .set_date_time_on_target(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  301    301   
                1398796238, 0_f64,
  302    302   
            )))
  303    303   
            .send()
  304    304   
            .await;
  305    305   
        let _ = dbg!(result);
  306    306   
        let http_request = request_receiver.expect_request();
  307    307   
        let expected_headers = [("Content-Type", "application/xml")];
  308    308   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  309    309   
        let body = http_request.body().bytes().expect("body should be strict");
  310    310   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  311    311   
            body,
  312    312   
            "<XmlTimestampsRequest>\n    <dateTimeOnTarget>2014-04-29T18:30:38Z</dateTimeOnTarget>\n</XmlTimestampsRequest>\n",
  313    313   
            ::aws_smithy_protocol_test::MediaType::from("application/xml"),
  314    314   
        ));
  315    315   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  316    316   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  317    317   
        ::pretty_assertions::assert_eq!(uri.path(), "/XmlTimestamps", "path was incorrect");
  318    318   
    }
  319    319   
  320    320   
    /// Ensures that the timestampFormat of epoch-seconds works
  321    321   
    /// Test ID: XmlTimestampsWithEpochSecondsFormat
  322    322   
    #[::tokio::test]
  323    323   
    #[::tracing_test::traced_test]
  324    324   
    async fn xml_timestamps_with_epoch_seconds_format_request() {
  325         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         325  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  326    326   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  327    327   
  328    328   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  329    329   
        let result = client
  330    330   
            .xml_timestamps()
  331    331   
            .set_epoch_seconds(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  332    332   
                1398796238, 0_f64,
  333    333   
            )))
  334    334   
            .send()
  335    335   
            .await;
  336    336   
        let _ = dbg!(result);
  337    337   
        let http_request = request_receiver.expect_request();
  338    338   
        let expected_headers = [("Content-Type", "application/xml")];
  339    339   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  340    340   
        let body = http_request.body().bytes().expect("body should be strict");
  341    341   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  342    342   
            body,
  343    343   
            "<XmlTimestampsRequest>\n    <epochSeconds>1398796238</epochSeconds>\n</XmlTimestampsRequest>\n",
  344    344   
            ::aws_smithy_protocol_test::MediaType::from("application/xml"),
  345    345   
        ));
  346    346   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  347    347   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  348    348   
        ::pretty_assertions::assert_eq!(uri.path(), "/XmlTimestamps", "path was incorrect");
  349    349   
    }
  350    350   
  351    351   
    /// Ensures that the timestampFormat of epoch-seconds on the target shape works
  352    352   
    /// Test ID: XmlTimestampsWithEpochSecondsOnTargetFormat
  353    353   
    #[::tokio::test]
  354    354   
    #[::tracing_test::traced_test]
  355    355   
    async fn xml_timestamps_with_epoch_seconds_on_target_format_request() {
  356         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         356  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  357    357   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  358    358   
  359    359   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  360    360   
        let result = client
  361    361   
            .xml_timestamps()
  362    362   
            .set_epoch_seconds_on_target(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  363    363   
                1398796238, 0_f64,
  364    364   
            )))
  365    365   
            .send()
  366    366   
            .await;
  367    367   
        let _ = dbg!(result);
  368    368   
        let http_request = request_receiver.expect_request();
  369    369   
        let expected_headers = [("Content-Type", "application/xml")];
  370    370   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  371    371   
        let body = http_request.body().bytes().expect("body should be strict");
  372    372   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  373    373   
            body,
  374    374   
            "<XmlTimestampsRequest>\n    <epochSecondsOnTarget>1398796238</epochSecondsOnTarget>\n</XmlTimestampsRequest>\n",
  375    375   
            ::aws_smithy_protocol_test::MediaType::from("application/xml"),
  376    376   
        ));
  377    377   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  378    378   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  379    379   
        ::pretty_assertions::assert_eq!(uri.path(), "/XmlTimestamps", "path was incorrect");
  380    380   
    }
  381    381   
  382    382   
    /// Ensures that the timestampFormat of http-date works
  383    383   
    /// Test ID: XmlTimestampsWithHttpDateFormat
  384    384   
    #[::tokio::test]
  385    385   
    #[::tracing_test::traced_test]
  386    386   
    async fn xml_timestamps_with_http_date_format_request() {
  387         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         387  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  388    388   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  389    389   
  390    390   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  391    391   
        let result = client
  392    392   
            .xml_timestamps()
  393    393   
            .set_http_date(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  394    394   
                1398796238, 0_f64,
  395    395   
            )))
  396    396   
            .send()
  397    397   
            .await;
  398    398   
        let _ = dbg!(result);
  399    399   
        let http_request = request_receiver.expect_request();
  400    400   
        let expected_headers = [("Content-Type", "application/xml")];
  401    401   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  402    402   
        let body = http_request.body().bytes().expect("body should be strict");
  403    403   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  404    404   
            body,
  405    405   
            "<XmlTimestampsRequest>\n    <httpDate>Tue, 29 Apr 2014 18:30:38 GMT</httpDate>\n</XmlTimestampsRequest>\n",
  406    406   
            ::aws_smithy_protocol_test::MediaType::from("application/xml"),
  407    407   
        ));
  408    408   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  409    409   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  410    410   
        ::pretty_assertions::assert_eq!(uri.path(), "/XmlTimestamps", "path was incorrect");
  411    411   
    }
  412    412   
  413    413   
    /// Ensures that the timestampFormat of http-date on the target shape works
  414    414   
    /// Test ID: XmlTimestampsWithHttpDateOnTargetFormat
  415    415   
    #[::tokio::test]
  416    416   
    #[::tracing_test::traced_test]
  417    417   
    async fn xml_timestamps_with_http_date_on_target_format_request() {
  418         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         418  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  419    419   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  420    420   
  421    421   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  422    422   
        let result = client
  423    423   
            .xml_timestamps()
  424    424   
            .set_http_date_on_target(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  425    425   
                1398796238, 0_f64,
  426    426   
            )))
  427    427   
            .send()
  428    428   
            .await;

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/operation/xml_unions.rs

@@ -199,199 +357,357 @@
  219    219   
  220    220   
#[allow(unreachable_code, unused_variables)]
  221    221   
#[cfg(test)]
  222    222   
mod xml_unions_test {
  223    223   
  224    224   
    /// Serializes union struct member
  225    225   
    /// Test ID: XmlUnionsWithStructMember
  226    226   
    #[::tokio::test]
  227    227   
    #[::tracing_test::traced_test]
  228    228   
    async fn xml_unions_with_struct_member_request() {
  229         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         229  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  230    230   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  231    231   
  232    232   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  233    233   
        let result = client
  234    234   
            .xml_unions()
  235    235   
            .set_union_value(::std::option::Option::Some(crate::types::XmlUnionShape::StructValue(
  236    236   
                crate::types::XmlNestedUnionStruct::builder()
  237    237   
                    .set_string_value(::std::option::Option::Some("string".to_owned()))
  238    238   
                    .set_boolean_value(::std::option::Option::Some(true))
  239    239   
                    .set_byte_value(::std::option::Option::Some(1))
  240    240   
                    .set_short_value(::std::option::Option::Some(2))
  241    241   
                    .set_integer_value(::std::option::Option::Some(3))
  242    242   
                    .set_long_value(::std::option::Option::Some(4))
  243    243   
                    .set_float_value(::std::option::Option::Some(5.5_f32))
  244    244   
                    .set_double_value(::std::option::Option::Some(6.5_f64))
  245    245   
                    .build(),
  246    246   
            )))
  247    247   
            .send()
  248    248   
            .await;
  249    249   
        let _ = dbg!(result);
  250    250   
        let http_request = request_receiver.expect_request();
  251    251   
        let expected_headers = [("Content-Type", "application/xml")];
  252    252   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  253    253   
        let body = http_request.body().bytes().expect("body should be strict");
  254    254   
        ::aws_smithy_protocol_test::assert_ok(
  255    255   
        ::aws_smithy_protocol_test::validate_body(body, "<XmlUnionsRequest>\n    <unionValue>\n       <structValue>\n          <stringValue>string</stringValue>\n          <booleanValue>true</booleanValue>\n          <byteValue>1</byteValue>\n          <shortValue>2</shortValue>\n          <integerValue>3</integerValue>\n          <longValue>4</longValue>\n          <floatValue>5.5</floatValue>\n          <doubleValue>6.5</doubleValue>\n       </structValue>\n    </unionValue>\n</XmlUnionsRequest>\n", ::aws_smithy_protocol_test::MediaType::from("application/xml"))
  256    256   
        );
  257    257   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  258    258   
        ::pretty_assertions::assert_eq!(http_request.method(), "PUT", "method was incorrect");
  259    259   
        ::pretty_assertions::assert_eq!(uri.path(), "/XmlUnions", "path was incorrect");
  260    260   
    }
  261    261   
  262    262   
    /// serialize union string member
  263    263   
    /// Test ID: XmlUnionsWithStringMember
  264    264   
    #[::tokio::test]
  265    265   
    #[::tracing_test::traced_test]
  266    266   
    async fn xml_unions_with_string_member_request() {
  267         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         267  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  268    268   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  269    269   
  270    270   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  271    271   
        let result = client
  272    272   
            .xml_unions()
  273    273   
            .set_union_value(::std::option::Option::Some(crate::types::XmlUnionShape::StringValue(
  274    274   
                "some string".to_owned(),
  275    275   
            )))
  276    276   
            .send()
  277    277   
            .await;
  278    278   
        let _ = dbg!(result);
  279    279   
        let http_request = request_receiver.expect_request();
  280    280   
        let expected_headers = [("Content-Type", "application/xml")];
  281    281   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  282    282   
        let body = http_request.body().bytes().expect("body should be strict");
  283    283   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  284    284   
            body,
  285    285   
            "<XmlUnionsRequest>\n   <unionValue>\n      <stringValue>some string</stringValue>\n   </unionValue>\n</XmlUnionsRequest>\n",
  286    286   
            ::aws_smithy_protocol_test::MediaType::from("application/xml"),
  287    287   
        ));
  288    288   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  289    289   
        ::pretty_assertions::assert_eq!(http_request.method(), "PUT", "method was incorrect");
  290    290   
        ::pretty_assertions::assert_eq!(uri.path(), "/XmlUnions", "path was incorrect");
  291    291   
    }
  292    292   
  293    293   
    /// Serializes union boolean member
  294    294   
    /// Test ID: XmlUnionsWithBooleanMember
  295    295   
    #[::tokio::test]
  296    296   
    #[::tracing_test::traced_test]
  297    297   
    async fn xml_unions_with_boolean_member_request() {
  298         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         298  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  299    299   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  300    300   
  301    301   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  302    302   
        let result = client
  303    303   
            .xml_unions()
  304    304   
            .set_union_value(::std::option::Option::Some(crate::types::XmlUnionShape::BooleanValue(true)))
  305    305   
            .send()
  306    306   
            .await;
  307    307   
        let _ = dbg!(result);
  308    308   
        let http_request = request_receiver.expect_request();
  309    309   
        let expected_headers = [("Content-Type", "application/xml")];
  310    310   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  311    311   
        let body = http_request.body().bytes().expect("body should be strict");
  312    312   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  313    313   
            body,
  314    314   
            "<XmlUnionsRequest>\n   <unionValue>\n      <booleanValue>true</booleanValue>\n   </unionValue>\n</XmlUnionsRequest>\n",
  315    315   
            ::aws_smithy_protocol_test::MediaType::from("application/xml"),
  316    316   
        ));
  317    317   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  318    318   
        ::pretty_assertions::assert_eq!(http_request.method(), "PUT", "method was incorrect");
  319    319   
        ::pretty_assertions::assert_eq!(uri.path(), "/XmlUnions", "path was incorrect");
  320    320   
    }
  321    321   
  322    322   
    /// Serializes union member
  323    323   
    /// Test ID: XmlUnionsWithUnionMember
  324    324   
    #[::tokio::test]
  325    325   
    #[::tracing_test::traced_test]
  326    326   
    async fn xml_unions_with_union_member_request() {
  327         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         327  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  328    328   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  329    329   
  330    330   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  331    331   
        let result = client
  332    332   
            .xml_unions()
  333    333   
            .set_union_value(::std::option::Option::Some(crate::types::XmlUnionShape::UnionValue(
  334    334   
                ::std::boxed::Box::new(crate::types::XmlUnionShape::BooleanValue(true)),
  335    335   
            )))
  336    336   
            .send()
  337    337   
            .await;

tmp-codegen-diff/codegen-client-test/rest_xml_extras/rust-client-codegen/Cargo.toml

@@ -1,1 +54,55 @@
   19     19   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-runtime-api"
   20     20   
features = ["client", "http-02x"]
   21     21   
[dependencies.aws-smithy-types]
   22     22   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-types"
   23     23   
[dependencies.aws-smithy-xml]
   24     24   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-xml"
   25     25   
[dependencies.http]
   26     26   
version = "0.2.9"
   27     27   
[dependencies.md-5]
   28     28   
version = "0.10.0"
          29  +
[dev-dependencies.aws-smithy-http-client]
          30  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-http-client"
          31  +
features = ["test-util"]
   29     32   
[dev-dependencies.aws-smithy-protocol-test]
   30     33   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-protocol-test"
   31         -
[dev-dependencies.aws-smithy-runtime]
   32         -
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-runtime"
   33         -
features = ["client", "test-util"]
   34     34   
[dev-dependencies.bytes]
   35     35   
version = "1.4.0"
   36     36   
[dev-dependencies.pretty_assertions]
   37     37   
version = "1.3.0"
   38     38   
[dev-dependencies.tokio]
   39     39   
version = "1.23.1"
   40     40   
features = ["macros", "test-util", "rt-multi-thread"]
   41     41   
[dev-dependencies.tracing]
   42     42   
version = "0.1"
   43     43   
[dev-dependencies.tracing-test]
   44     44   
version = "0.2.5"
   45     45   
features = ["no-env-filter"]
   46     46   
[features]
   47     47   
test-util = ["aws-smithy-runtime/test-util"]
   48     48   
rt-tokio = ["aws-smithy-async/rt-tokio", "aws-smithy-types/rt-tokio"]
   49     49   
behavior-version-latest = []
   50     50   
rustls = ["aws-smithy-runtime/tls-rustls"]
          51  +
default-https-client = ["aws-smithy-runtime/default-https-client"]
   51     52   
gated-tests = []
   52         -
default = ["rt-tokio", "rustls"]
          53  +
default = ["rt-tokio", "rustls", "default-https-client"]
   53     54   
   54     55