Client Test

Client Test

rev. 0b749be6d000fdc7ef59d1bc26f1dce00358d95c

Files changed:

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/operation/datetime_offsets.rs

@@ -204,204 +301,301 @@
  224    224   
    #[::tracing_test::traced_test]
  225    225   
    async fn ec2_query_date_time_with_negative_offset_response() {
  226    226   
        let expected_output = crate::operation::datetime_offsets::DatetimeOffsetsOutput::builder()
  227    227   
            .set_datetime(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  228    228   
                1576540098, 0_f64,
  229    229   
            )))
  230    230   
            .build();
  231    231   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  232    232   
        .header("Content-Type", "text/xml;charset=UTF-8")
  233    233   
        .status(200)
  234         -
                    .body(::aws_smithy_types::body::SdkBody::from("<DatetimeOffsetsResponse xmlns=\"https://example.com/\">\n    <datetime>2019-12-16T22:48:18-01:00</datetime>\n    <RequestId>requestid</RequestId>\n</DatetimeOffsetsResponse>\n"))
         234  +
                    .body(::aws_smithy_types::body::SdkBody::from("<DatetimeOffsetsResponse xmlns=\"https://example.com/\">\n    <datetime>2019-12-16T22:48:18-01:00</datetime>\n    <requestId>requestid</requestId>\n</DatetimeOffsetsResponse>\n"))
  235    235   
                    .unwrap()
  236    236   
                    ).unwrap();
  237    237   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  238    238   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  239    239   
  240    240   
        let op = crate::operation::datetime_offsets::DatetimeOffsets::new();
  241    241   
        let config = op.config().expect("the operation has config");
  242    242   
        let de = config
  243    243   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  244    244   
            .expect("the config must have a deserializer");
  245    245   
  246    246   
        let parsed = de.deserialize_streaming(&mut http_response);
  247    247   
        let parsed = parsed.unwrap_or_else(|| {
  248    248   
            let http_response =
  249    249   
                http_response.map(|body| ::aws_smithy_types::body::SdkBody::from(::bytes::Bytes::copy_from_slice(body.bytes().unwrap())));
  250    250   
            de.deserialize_nonstreaming(&http_response)
  251    251   
        });
  252    252   
        let parsed = parsed
  253    253   
            .expect("should be successful response")
  254    254   
            .downcast::<crate::operation::datetime_offsets::DatetimeOffsetsOutput>()
  255    255   
            .unwrap();
  256    256   
        ::pretty_assertions::assert_eq!(parsed.datetime, expected_output.datetime, "Unexpected value for `datetime`");
  257    257   
    }
  258    258   
    /// Ensures that clients can correctly parse datetime (timestamps) with offsets
  259    259   
    /// Test ID: Ec2QueryDateTimeWithPositiveOffset
  260    260   
    #[::tokio::test]
  261    261   
    #[::tracing_test::traced_test]
  262    262   
    async fn ec2_query_date_time_with_positive_offset_response() {
  263    263   
        let expected_output = crate::operation::datetime_offsets::DatetimeOffsetsOutput::builder()
  264    264   
            .set_datetime(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  265    265   
                1576540098, 0_f64,
  266    266   
            )))
  267    267   
            .build();
  268    268   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  269    269   
        .header("Content-Type", "text/xml;charset=UTF-8")
  270    270   
        .status(200)
  271         -
                    .body(::aws_smithy_types::body::SdkBody::from("<DatetimeOffsetsResponse xmlns=\"https://example.com/\">\n    <datetime>2019-12-17T00:48:18+01:00</datetime>\n    <RequestId>requestid</RequestId>\n</DatetimeOffsetsResponse>\n"))
         271  +
                    .body(::aws_smithy_types::body::SdkBody::from("<DatetimeOffsetsResponse xmlns=\"https://example.com/\">\n    <datetime>2019-12-17T00:48:18+01:00</datetime>\n    <requestId>requestid</requestId>\n</DatetimeOffsetsResponse>\n"))
  272    272   
                    .unwrap()
  273    273   
                    ).unwrap();
  274    274   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  275    275   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  276    276   
  277    277   
        let op = crate::operation::datetime_offsets::DatetimeOffsets::new();
  278    278   
        let config = op.config().expect("the operation has config");
  279    279   
        let de = config
  280    280   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  281    281   
            .expect("the config must have a deserializer");

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/operation/empty_input_and_empty_output.rs

@@ -231,231 +291,291 @@
  251    251   
    }
  252    252   
    /// Empty output
  253    253   
    /// Test ID: Ec2QueryEmptyInputAndEmptyOutput
  254    254   
    #[::tokio::test]
  255    255   
    #[::tracing_test::traced_test]
  256    256   
    async fn ec2_query_empty_input_and_empty_output_response() {
  257    257   
        let expected_output = crate::operation::empty_input_and_empty_output::EmptyInputAndEmptyOutputOutput::builder().build();
  258    258   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  259    259   
        .header("Content-Type", "text/xml;charset=UTF-8")
  260    260   
        .status(200)
  261         -
                    .body(::aws_smithy_types::body::SdkBody::from("<EmptyInputAndEmptyOutputResponse xmlns=\"https://example.com/\">\n    <RequestId>requestid</RequestId>\n</EmptyInputAndEmptyOutputResponse>\n"))
         261  +
                    .body(::aws_smithy_types::body::SdkBody::from("<EmptyInputAndEmptyOutputResponse xmlns=\"https://example.com/\">\n    <requestId>requestid</requestId>\n</EmptyInputAndEmptyOutputResponse>\n"))
  262    262   
                    .unwrap()
  263    263   
                    ).unwrap();
  264    264   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  265    265   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  266    266   
  267    267   
        let op = crate::operation::empty_input_and_empty_output::EmptyInputAndEmptyOutput::new();
  268    268   
        let config = op.config().expect("the operation has config");
  269    269   
        let de = config
  270    270   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  271    271   
            .expect("the config must have a deserializer");

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/operation/fractional_seconds.rs

@@ -205,205 +265,265 @@
  225    225   
    #[::tracing_test::traced_test]
  226    226   
    async fn ec2_query_date_time_with_fractional_seconds_response() {
  227    227   
        let expected_output = crate::operation::fractional_seconds::FractionalSecondsOutput::builder()
  228    228   
            .set_datetime(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  229    229   
                946845296, 0.123_f64,
  230    230   
            )))
  231    231   
            .build();
  232    232   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  233    233   
        .header("Content-Type", "text/xml;charset=UTF-8")
  234    234   
        .status(200)
  235         -
                    .body(::aws_smithy_types::body::SdkBody::from("<FractionalSecondsResponse xmlns=\"https://example.com/\">\n    <datetime>2000-01-02T20:34:56.123Z</datetime>\n    <RequestId>requestid</RequestId>\n</FractionalSecondsResponse>\n"))
         235  +
                    .body(::aws_smithy_types::body::SdkBody::from("<FractionalSecondsResponse xmlns=\"https://example.com/\">\n    <datetime>2000-01-02T20:34:56.123Z</datetime>\n    <requestId>requestid</requestId>\n</FractionalSecondsResponse>\n"))
  236    236   
                    .unwrap()
  237    237   
                    ).unwrap();
  238    238   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  239    239   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  240    240   
  241    241   
        let op = crate::operation::fractional_seconds::FractionalSeconds::new();
  242    242   
        let config = op.config().expect("the operation has config");
  243    243   
        let de = config
  244    244   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  245    245   
            .expect("the config must have a deserializer");

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/operation/greeting_with_errors.rs

@@ -203,203 +340,340 @@
  223    223   
    /// Test ID: Ec2GreetingWithErrors
  224    224   
    #[::tokio::test]
  225    225   
    #[::tracing_test::traced_test]
  226    226   
    async fn ec2_greeting_with_errors_response() {
  227    227   
        let expected_output = crate::operation::greeting_with_errors::GreetingWithErrorsOutput::builder()
  228    228   
            .set_greeting(::std::option::Option::Some("Hello".to_owned()))
  229    229   
            .build();
  230    230   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  231    231   
        .header("Content-Type", "text/xml;charset=UTF-8")
  232    232   
        .status(200)
  233         -
                    .body(::aws_smithy_types::body::SdkBody::from("<GreetingWithErrorsResponse xmlns=\"https://example.com/\">\n    <greeting>Hello</greeting>\n    <RequestId>requestid</RequestId>\n</GreetingWithErrorsResponse>\n"))
         233  +
                    .body(::aws_smithy_types::body::SdkBody::from("<GreetingWithErrorsResponse xmlns=\"https://example.com/\">\n    <greeting>Hello</greeting>\n    <requestId>requestid</requestId>\n</GreetingWithErrorsResponse>\n"))
  234    234   
                    .unwrap()
  235    235   
                    ).unwrap();
  236    236   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  237    237   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  238    238   
  239    239   
        let op = crate::operation::greeting_with_errors::GreetingWithErrors::new();
  240    240   
        let config = op.config().expect("the operation has config");
  241    241   
        let de = config
  242    242   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  243    243   
            .expect("the config must have a deserializer");
  244    244   
  245    245   
        let parsed = de.deserialize_streaming(&mut http_response);
  246    246   
        let parsed = parsed.unwrap_or_else(|| {
  247    247   
            let http_response =
  248    248   
                http_response.map(|body| ::aws_smithy_types::body::SdkBody::from(::bytes::Bytes::copy_from_slice(body.bytes().unwrap())));
  249    249   
            de.deserialize_nonstreaming(&http_response)
  250    250   
        });
  251    251   
        let parsed = parsed
  252    252   
            .expect("should be successful response")
  253    253   
            .downcast::<crate::operation::greeting_with_errors::GreetingWithErrorsOutput>()
  254    254   
            .unwrap();
  255    255   
        ::pretty_assertions::assert_eq!(parsed.greeting, expected_output.greeting, "Unexpected value for `greeting`");
  256    256   
    }
  257    257   
    /// Parses simple XML errors
  258    258   
    /// Test ID: Ec2InvalidGreetingError
  259    259   
    #[::tokio::test]
  260    260   
    #[::tracing_test::traced_test]
  261    261   
    async fn ec2_invalid_greeting_error_response() {
  262    262   
        let expected_output = crate::types::error::InvalidGreeting::builder()
  263    263   
            .set_message(::std::option::Option::Some("Hi".to_owned()))
  264    264   
            .build();
  265    265   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  266    266   
        .header("Content-Type", "text/xml;charset=UTF-8")
  267    267   
        .status(400)
  268         -
                    .body(::aws_smithy_types::body::SdkBody::from("<Response>\n    <Errors>\n        <Error>\n            <Code>InvalidGreeting</Code>\n            <Message>Hi</Message>\n        </Error>\n    </Errors>\n    <RequestId>foo-id</RequestId>\n</Response>\n"))
         268  +
                    .body(::aws_smithy_types::body::SdkBody::from("<Response>\n    <Errors>\n        <Error>\n            <Code>InvalidGreeting</Code>\n            <Message>Hi</Message>\n        </Error>\n    </Errors>\n    <RequestID>foo-id</RequestID>\n</Response>\n"))
  269    269   
                    .unwrap()
  270    270   
                    ).unwrap();
  271    271   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  272    272   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  273    273   
  274    274   
        let op = crate::operation::greeting_with_errors::GreetingWithErrors::new();
  275    275   
        let config = op.config().expect("the operation has config");
  276    276   
        let de = config
  277    277   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  278    278   
            .expect("the config must have a deserializer");
  279    279   
  280    280   
        let parsed = de.deserialize_streaming(&mut http_response);
  281    281   
        let parsed = parsed.unwrap_or_else(|| {
  282    282   
            let http_response =
  283    283   
                http_response.map(|body| ::aws_smithy_types::body::SdkBody::from(::bytes::Bytes::copy_from_slice(body.bytes().unwrap())));
  284    284   
            de.deserialize_nonstreaming(&http_response)
  285    285   
        });
  286    286   
        let parsed = parsed.expect_err("should be error response");
  287    287   
        let parsed: &crate::operation::greeting_with_errors::GreetingWithErrorsError =
  288    288   
            parsed.as_operation_error().expect("operation error").downcast_ref().unwrap();
  289    289   
        if let crate::operation::greeting_with_errors::GreetingWithErrorsError::InvalidGreeting(parsed) = parsed {
  290    290   
            ::pretty_assertions::assert_eq!(parsed.message, expected_output.message, "Unexpected value for `message`");
  291    291   
        } else {
  292    292   
            panic!("wrong variant: Got: {:?}. Expected: {:?}", parsed, expected_output);
  293    293   
        }
  294    294   
    }
  295    295   
    /// Test ID: Ec2ComplexError
  296    296   
    #[::tokio::test]
  297    297   
    #[::tracing_test::traced_test]
  298    298   
    async fn ec2_complex_error_response() {
  299    299   
        let expected_output = crate::types::error::ComplexError::builder()
  300    300   
            .set_top_level(::std::option::Option::Some("Top level".to_owned()))
  301    301   
            .set_nested(::std::option::Option::Some(
  302    302   
                crate::types::ComplexNestedErrorData::builder()
  303    303   
                    .set_foo(::std::option::Option::Some("bar".to_owned()))
  304    304   
                    .build(),
  305    305   
            ))
  306    306   
            .build();
  307    307   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  308    308   
        .header("Content-Type", "text/xml;charset=UTF-8")
  309    309   
        .status(400)
  310         -
                    .body(::aws_smithy_types::body::SdkBody::from("<Response>\n    <Errors>\n        <Error>\n            <Code>ComplexError</Code>\n            <Message>Hi</Message>\n            <TopLevel>Top level</TopLevel>\n            <Nested>\n                <Foo>bar</Foo>\n            </Nested>\n        </Error>\n    </Errors>\n    <RequestId>foo-id</RequestId>\n</Response>\n"))
         310  +
                    .body(::aws_smithy_types::body::SdkBody::from("<Response>\n    <Errors>\n        <Error>\n            <Code>ComplexError</Code>\n            <Message>Hi</Message>\n            <TopLevel>Top level</TopLevel>\n            <Nested>\n                <Foo>bar</Foo>\n            </Nested>\n        </Error>\n    </Errors>\n    <RequestID>foo-id</RequestID>\n</Response>\n"))
  311    311   
                    .unwrap()
  312    312   
                    ).unwrap();
  313    313   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  314    314   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  315    315   
  316    316   
        let op = crate::operation::greeting_with_errors::GreetingWithErrors::new();
  317    317   
        let config = op.config().expect("the operation has config");
  318    318   
        let de = config
  319    319   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  320    320   
            .expect("the config must have a deserializer");

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/operation/ignores_wrapping_xml_name.rs

@@ -209,209 +269,269 @@
  229    229   
    /// Test ID: Ec2IgnoresWrappingXmlName
  230    230   
    #[::tokio::test]
  231    231   
    #[::tracing_test::traced_test]
  232    232   
    async fn ec2_ignores_wrapping_xml_name_response() {
  233    233   
        let expected_output = crate::operation::ignores_wrapping_xml_name::IgnoresWrappingXmlNameOutput::builder()
  234    234   
            .set_foo(::std::option::Option::Some("bar".to_owned()))
  235    235   
            .build();
  236    236   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  237    237   
        .header("Content-Type", "text/xml;charset=UTF-8")
  238    238   
        .status(200)
  239         -
                    .body(::aws_smithy_types::body::SdkBody::from("<IgnoresWrappingXmlNameResponse xmlns=\"https://example.com/\">\n    <foo>bar</foo>\n    <RequestId>requestid</RequestId>\n</IgnoresWrappingXmlNameResponse>\n"))
         239  +
                    .body(::aws_smithy_types::body::SdkBody::from("<IgnoresWrappingXmlNameResponse xmlns=\"https://example.com/\">\n    <foo>bar</foo>\n    <requestId>requestid</requestId>\n</IgnoresWrappingXmlNameResponse>\n"))
  240    240   
                    .unwrap()
  241    241   
                    ).unwrap();
  242    242   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  243    243   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  244    244   
  245    245   
        let op = crate::operation::ignores_wrapping_xml_name::IgnoresWrappingXmlName::new();
  246    246   
        let config = op.config().expect("the operation has config");
  247    247   
        let de = config
  248    248   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  249    249   
            .expect("the config must have a deserializer");

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/operation/no_input_and_output.rs

@@ -227,227 +287,287 @@
  247    247   
    /// Test ID: Ec2QueryNoInputAndOutput
  248    248   
    #[::tokio::test]
  249    249   
    #[::tracing_test::traced_test]
  250    250   
    async fn ec2_query_no_input_and_output_response() {
  251    251   
        let expected_output = crate::operation::no_input_and_output::NoInputAndOutputOutput::builder().build();
  252    252   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(
  253    253   
            ::http::response::Builder::new()
  254    254   
                .header("Content-Type", "text/xml;charset=UTF-8")
  255    255   
                .status(200)
  256    256   
                .body(::aws_smithy_types::body::SdkBody::from(
  257         -
                    "<NoInputAndOutputResponse xmlns=\"https://example.com/\">\n    <RequestId>requestid</RequestId>\n</NoInputAndOutputResponse>\n",
         257  +
                    "<NoInputAndOutputResponse xmlns=\"https://example.com/\">\n    <requestId>requestid</requestId>\n</NoInputAndOutputResponse>\n",
  258    258   
                ))
  259    259   
                .unwrap(),
  260    260   
        )
  261    261   
        .unwrap();
  262    262   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  263    263   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  264    264   
  265    265   
        let op = crate::operation::no_input_and_output::NoInputAndOutput::new();
  266    266   
        let config = op.config().expect("the operation has config");
  267    267   
        let de = config

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/operation/recursive_xml_shapes.rs

@@ -222,222 +282,282 @@
  242    242   
                                    .build(),
  243    243   
                            ))
  244    244   
                            .build(),
  245    245   
                    )))
  246    246   
                    .build(),
  247    247   
            ))
  248    248   
            .build();
  249    249   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  250    250   
        .header("Content-Type", "text/xml;charset=UTF-8")
  251    251   
        .status(200)
  252         -
                    .body(::aws_smithy_types::body::SdkBody::from("<RecursiveXmlShapesResponse xmlns=\"https://example.com/\">\n    <nested>\n        <foo>Foo1</foo>\n        <nested>\n            <bar>Bar1</bar>\n            <recursiveMember>\n                <foo>Foo2</foo>\n                <nested>\n                    <bar>Bar2</bar>\n                </nested>\n            </recursiveMember>\n        </nested>\n    </nested>\n    <RequestId>requestid</RequestId>\n</RecursiveXmlShapesResponse>\n"))
         252  +
                    .body(::aws_smithy_types::body::SdkBody::from("<RecursiveXmlShapesResponse xmlns=\"https://example.com/\">\n    <nested>\n        <foo>Foo1</foo>\n        <nested>\n            <bar>Bar1</bar>\n            <recursiveMember>\n                <foo>Foo2</foo>\n                <nested>\n                    <bar>Bar2</bar>\n                </nested>\n            </recursiveMember>\n        </nested>\n    </nested>\n    <requestId>requestid</requestId>\n</RecursiveXmlShapesResponse>\n"))
  253    253   
                    .unwrap()
  254    254   
                    ).unwrap();
  255    255   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  256    256   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  257    257   
  258    258   
        let op = crate::operation::recursive_xml_shapes::RecursiveXmlShapes::new();
  259    259   
        let config = op.config().expect("the operation has config");
  260    260   
        let de = config
  261    261   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  262    262   
            .expect("the config must have a deserializer");

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/operation/simple_scalar_xml_properties.rs

@@ -219,219 +279,279 @@
  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   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  247    247   
        .header("Content-Type", "text/xml;charset=UTF-8")
  248    248   
        .status(200)
  249         -
                    .body(::aws_smithy_types::body::SdkBody::from("<SimpleScalarXmlPropertiesResponse xmlns=\"https://example.com/\">\n    <stringValue>string</stringValue>\n    <emptyStringValue/>\n    <trueBooleanValue>true</trueBooleanValue>\n    <falseBooleanValue>false</falseBooleanValue>\n    <byteValue>1</byteValue>\n    <shortValue>2</shortValue>\n    <integerValue>3</integerValue>\n    <longValue>4</longValue>\n    <floatValue>5.5</floatValue>\n    <DoubleDribble>6.5</DoubleDribble>\n    <RequestId>requestid</RequestId>\n</SimpleScalarXmlPropertiesResponse>\n"))
         249  +
                    .body(::aws_smithy_types::body::SdkBody::from("<SimpleScalarXmlPropertiesResponse xmlns=\"https://example.com/\">\n    <stringValue>string</stringValue>\n    <emptyStringValue/>\n    <trueBooleanValue>true</trueBooleanValue>\n    <falseBooleanValue>false</falseBooleanValue>\n    <byteValue>1</byteValue>\n    <shortValue>2</shortValue>\n    <integerValue>3</integerValue>\n    <longValue>4</longValue>\n    <floatValue>5.5</floatValue>\n    <DoubleDribble>6.5</DoubleDribble>\n    <requestId>requestid</requestId>\n</SimpleScalarXmlPropertiesResponse>\n"))
  250    250   
                    .unwrap()
  251    251   
                    ).unwrap();
  252    252   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  253    253   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  254    254   
  255    255   
        let op = crate::operation::simple_scalar_xml_properties::SimpleScalarXmlProperties::new();
  256    256   
        let config = op.config().expect("the operation has config");
  257    257   
        let de = config
  258    258   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  259    259   
            .expect("the config must have a deserializer");

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

@@ -191,191 +251,251 @@
  211    211   
    /// Test ID: Ec2XmlBlobs
  212    212   
    #[::tokio::test]
  213    213   
    #[::tracing_test::traced_test]
  214    214   
    async fn ec2_xml_blobs_response() {
  215    215   
        let expected_output = crate::operation::xml_blobs::XmlBlobsOutput::builder()
  216    216   
            .set_data(::std::option::Option::Some(::aws_smithy_types::Blob::new("value")))
  217    217   
            .build();
  218    218   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  219    219   
        .header("Content-Type", "text/xml;charset=UTF-8")
  220    220   
        .status(200)
  221         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlBlobsResponse xmlns=\"https://example.com/\">\n    <data>dmFsdWU=</data>\n    <RequestId>requestid</RequestId>\n</XmlBlobsResponse>\n"))
         221  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlBlobsResponse xmlns=\"https://example.com/\">\n    <data>dmFsdWU=</data>\n    <requestId>requestid</requestId>\n</XmlBlobsResponse>\n"))
  222    222   
                    .unwrap()
  223    223   
                    ).unwrap();
  224    224   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  225    225   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  226    226   
  227    227   
        let op = crate::operation::xml_blobs::XmlBlobs::new();
  228    228   
        let config = op.config().expect("the operation has config");
  229    229   
        let de = config
  230    230   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  231    231   
            .expect("the config must have a deserializer");

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/operation/xml_empty_blobs.rs

@@ -202,202 +297,297 @@
  222    222   
    /// Test ID: Ec2XmlEmptyBlobs
  223    223   
    #[::tokio::test]
  224    224   
    #[::tracing_test::traced_test]
  225    225   
    async fn ec2_xml_empty_blobs_response() {
  226    226   
        let expected_output = crate::operation::xml_empty_blobs::XmlEmptyBlobsOutput::builder()
  227    227   
            .set_data(::std::option::Option::Some(::aws_smithy_types::Blob::new("")))
  228    228   
            .build();
  229    229   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  230    230   
        .header("Content-Type", "text/xml;charset=UTF-8")
  231    231   
        .status(200)
  232         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlEmptyBlobsResponse xmlns=\"https://example.com/\">\n    <data></data>\n    <RequestId>requestid</RequestId>\n</XmlEmptyBlobsResponse>\n"))
         232  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlEmptyBlobsResponse xmlns=\"https://example.com/\">\n    <data></data>\n    <requestId>requestid</requestId>\n</XmlEmptyBlobsResponse>\n"))
  233    233   
                    .unwrap()
  234    234   
                    ).unwrap();
  235    235   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  236    236   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  237    237   
  238    238   
        let op = crate::operation::xml_empty_blobs::XmlEmptyBlobs::new();
  239    239   
        let config = op.config().expect("the operation has config");
  240    240   
        let de = config
  241    241   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  242    242   
            .expect("the config must have a deserializer");
  243    243   
  244    244   
        let parsed = de.deserialize_streaming(&mut http_response);
  245    245   
        let parsed = parsed.unwrap_or_else(|| {
  246    246   
            let http_response =
  247    247   
                http_response.map(|body| ::aws_smithy_types::body::SdkBody::from(::bytes::Bytes::copy_from_slice(body.bytes().unwrap())));
  248    248   
            de.deserialize_nonstreaming(&http_response)
  249    249   
        });
  250    250   
        let parsed = parsed
  251    251   
            .expect("should be successful response")
  252    252   
            .downcast::<crate::operation::xml_empty_blobs::XmlEmptyBlobsOutput>()
  253    253   
            .unwrap();
  254    254   
        ::pretty_assertions::assert_eq!(parsed.data, expected_output.data, "Unexpected value for `data`");
  255    255   
    }
  256    256   
    /// Empty self closed blobs are deserialized as empty string
  257    257   
    /// Test ID: Ec2XmlEmptySelfClosedBlobs
  258    258   
    #[::tokio::test]
  259    259   
    #[::tracing_test::traced_test]
  260    260   
    async fn ec2_xml_empty_self_closed_blobs_response() {
  261    261   
        let expected_output = crate::operation::xml_empty_blobs::XmlEmptyBlobsOutput::builder()
  262    262   
            .set_data(::std::option::Option::Some(::aws_smithy_types::Blob::new("")))
  263    263   
            .build();
  264    264   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  265    265   
        .header("Content-Type", "text/xml;charset=UTF-8")
  266    266   
        .status(200)
  267         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlEmptyBlobsResponse xmlns=\"https://example.com/\">\n    <data/>\n    <RequestId>requestid</RequestId>\n</XmlEmptyBlobsResponse>\n"))
         267  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlEmptyBlobsResponse xmlns=\"https://example.com/\">\n    <data/>\n    <requestId>requestid</requestId>\n</XmlEmptyBlobsResponse>\n"))
  268    268   
                    .unwrap()
  269    269   
                    ).unwrap();
  270    270   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  271    271   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  272    272   
  273    273   
        let op = crate::operation::xml_empty_blobs::XmlEmptyBlobs::new();
  274    274   
        let config = op.config().expect("the operation has config");
  275    275   
        let de = config
  276    276   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  277    277   
            .expect("the config must have a deserializer");

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

@@ -219,219 +279,279 @@
  239    239   
                ret.insert(
  240    240   
                    "zero".to_owned(),
  241    241   
                    "0".parse::<crate::types::FooEnum>().expect("static value validated to member"),
  242    242   
                );
  243    243   
                ret
  244    244   
            }))
  245    245   
            .build();
  246    246   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  247    247   
        .header("Content-Type", "text/xml;charset=UTF-8")
  248    248   
        .status(200)
  249         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlEnumsResponse xmlns=\"https://example.com/\">\n    <fooEnum1>Foo</fooEnum1>\n    <fooEnum2>0</fooEnum2>\n    <fooEnum3>1</fooEnum3>\n    <fooEnumList>\n        <member>Foo</member>\n        <member>0</member>\n    </fooEnumList>\n    <fooEnumSet>\n        <member>Foo</member>\n        <member>0</member>\n    </fooEnumSet>\n    <fooEnumMap>\n        <entry>\n            <key>hi</key>\n            <value>Foo</value>\n        </entry>\n        <entry>\n            <key>zero</key>\n            <value>0</value>\n        </entry>\n    </fooEnumMap>\n    <RequestId>requestid</RequestId>\n</XmlEnumsResponse>\n"))
         249  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlEnumsResponse xmlns=\"https://example.com/\">\n    <fooEnum1>Foo</fooEnum1>\n    <fooEnum2>0</fooEnum2>\n    <fooEnum3>1</fooEnum3>\n    <fooEnumList>\n        <member>Foo</member>\n        <member>0</member>\n    </fooEnumList>\n    <fooEnumSet>\n        <member>Foo</member>\n        <member>0</member>\n    </fooEnumSet>\n    <fooEnumMap>\n        <entry>\n            <key>hi</key>\n            <value>Foo</value>\n        </entry>\n        <entry>\n            <key>zero</key>\n            <value>0</value>\n        </entry>\n    </fooEnumMap>\n    <requestId>requestid</requestId>\n</XmlEnumsResponse>\n"))
  250    250   
                    .unwrap()
  251    251   
                    ).unwrap();
  252    252   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  253    253   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  254    254   
  255    255   
        let op = crate::operation::xml_enums::XmlEnums::new();
  256    256   
        let config = op.config().expect("the operation has config");
  257    257   
        let de = config
  258    258   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  259    259   
            .expect("the config must have a deserializer");

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

@@ -212,212 +272,272 @@
  232    232   
            .set_int_enum_map(::std::option::Option::Some({
  233    233   
                let mut ret = ::std::collections::HashMap::new();
  234    234   
                ret.insert("a".to_owned(), 1);
  235    235   
                ret.insert("b".to_owned(), 2);
  236    236   
                ret
  237    237   
            }))
  238    238   
            .build();
  239    239   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  240    240   
        .header("Content-Type", "text/xml;charset=UTF-8")
  241    241   
        .status(200)
  242         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlIntEnumsResponse xmlns=\"https://example.com/\">\n    <intEnum1>1</intEnum1>\n    <intEnum2>2</intEnum2>\n    <intEnum3>3</intEnum3>\n    <intEnumList>\n        <member>1</member>\n        <member>2</member>\n    </intEnumList>\n    <intEnumSet>\n        <member>1</member>\n        <member>2</member>\n    </intEnumSet>\n    <intEnumMap>\n        <entry>\n            <key>a</key>\n            <value>1</value>\n        </entry>\n        <entry>\n            <key>b</key>\n            <value>2</value>\n        </entry>\n    </intEnumMap>\n    <RequestId>requestid</RequestId>\n</XmlIntEnumsResponse>\n"))
         242  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlIntEnumsResponse xmlns=\"https://example.com/\">\n    <intEnum1>1</intEnum1>\n    <intEnum2>2</intEnum2>\n    <intEnum3>3</intEnum3>\n    <intEnumList>\n        <member>1</member>\n        <member>2</member>\n    </intEnumList>\n    <intEnumSet>\n        <member>1</member>\n        <member>2</member>\n    </intEnumSet>\n    <intEnumMap>\n        <entry>\n            <key>a</key>\n            <value>1</value>\n        </entry>\n        <entry>\n            <key>b</key>\n            <value>2</value>\n        </entry>\n    </intEnumMap>\n    <requestId>requestid</requestId>\n</XmlIntEnumsResponse>\n"))
  243    243   
                    .unwrap()
  244    244   
                    ).unwrap();
  245    245   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  246    246   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  247    247   
  248    248   
        let op = crate::operation::xml_int_enums::XmlIntEnums::new();
  249    249   
        let config = op.config().expect("the operation has config");
  250    250   
        let de = config
  251    251   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  252    252   
            .expect("the config must have a deserializer");

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

@@ -222,222 +282,282 @@
  242    242   
                    .build(),
  243    243   
                crate::types::StructureListMember::builder()
  244    244   
                    .set_a(::std::option::Option::Some("3".to_owned()))
  245    245   
                    .set_b(::std::option::Option::Some("4".to_owned()))
  246    246   
                    .build(),
  247    247   
            ]))
  248    248   
            .build();
  249    249   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  250    250   
        .header("Content-Type", "text/xml;charset=UTF-8")
  251    251   
        .status(200)
  252         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlListsResponse xmlns=\"https://example.com/\">\n    <stringList>\n        <member>foo</member>\n        <member>bar</member>\n    </stringList>\n    <stringSet>\n        <member>foo</member>\n        <member>bar</member>\n    </stringSet>\n    <integerList>\n        <member>1</member>\n        <member>2</member>\n    </integerList>\n    <booleanList>\n        <member>true</member>\n        <member>false</member>\n    </booleanList>\n    <timestampList>\n        <member>2014-04-29T18:30:38Z</member>\n        <member>2014-04-29T18:30:38Z</member>\n    </timestampList>\n    <enumList>\n        <member>Foo</member>\n        <member>0</member>\n    </enumList>\n    <intEnumList>\n        <member>1</member>\n        <member>2</member>\n    </intEnumList>\n    <nestedStringList>\n        <member>\n            <member>foo</member>\n            <member>bar</member>\n        </member>\n        <member>\n            <member>baz</member>\n            <member>qux</member>\n        </member>\n    </nestedStringList>\n    <renamed>\n        <item>foo</item>\n        <item>bar</item>\n    </renamed>\n    <flattenedList>hi</flattenedList>\n    <flattenedList>bye</flattenedList>\n    <customName>yep</customName>\n    <customName>nope</customName>\n    <flattenedListWithMemberNamespace xmlns=\"https://xml-member.example.com\">a</flattenedListWithMemberNamespace>\n    <flattenedListWithMemberNamespace xmlns=\"https://xml-member.example.com\">b</flattenedListWithMemberNamespace>\n    <flattenedListWithNamespace>a</flattenedListWithNamespace>\n    <flattenedListWithNamespace>b</flattenedListWithNamespace>\n    <myStructureList>\n        <item>\n            <value>1</value>\n            <other>2</other>\n        </item>\n        <item>\n            <value>3</value>\n            <other>4</other>\n        </item>\n    </myStructureList>\n    <RequestId>requestid</RequestId>\n</XmlListsResponse>\n"))
         252  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlListsResponse xmlns=\"https://example.com/\">\n    <stringList>\n        <member>foo</member>\n        <member>bar</member>\n    </stringList>\n    <stringSet>\n        <member>foo</member>\n        <member>bar</member>\n    </stringSet>\n    <integerList>\n        <member>1</member>\n        <member>2</member>\n    </integerList>\n    <booleanList>\n        <member>true</member>\n        <member>false</member>\n    </booleanList>\n    <timestampList>\n        <member>2014-04-29T18:30:38Z</member>\n        <member>2014-04-29T18:30:38Z</member>\n    </timestampList>\n    <enumList>\n        <member>Foo</member>\n        <member>0</member>\n    </enumList>\n    <intEnumList>\n        <member>1</member>\n        <member>2</member>\n    </intEnumList>\n    <nestedStringList>\n        <member>\n            <member>foo</member>\n            <member>bar</member>\n        </member>\n        <member>\n            <member>baz</member>\n            <member>qux</member>\n        </member>\n    </nestedStringList>\n    <renamed>\n        <item>foo</item>\n        <item>bar</item>\n    </renamed>\n    <flattenedList>hi</flattenedList>\n    <flattenedList>bye</flattenedList>\n    <customName>yep</customName>\n    <customName>nope</customName>\n    <flattenedListWithMemberNamespace xmlns=\"https://xml-member.example.com\">a</flattenedListWithMemberNamespace>\n    <flattenedListWithMemberNamespace xmlns=\"https://xml-member.example.com\">b</flattenedListWithMemberNamespace>\n    <flattenedListWithNamespace>a</flattenedListWithNamespace>\n    <flattenedListWithNamespace>b</flattenedListWithNamespace>\n    <myStructureList>\n        <item>\n            <value>1</value>\n            <other>2</other>\n        </item>\n        <item>\n            <value>3</value>\n            <other>4</other>\n        </item>\n    </myStructureList>\n    <requestId>requestid</requestId>\n</XmlListsResponse>\n"))
  253    253   
                    .unwrap()
  254    254   
                    ).unwrap();
  255    255   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  256    256   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  257    257   
  258    258   
        let op = crate::operation::xml_lists::XmlLists::new();
  259    259   
        let config = op.config().expect("the operation has config");
  260    260   
        let de = config
  261    261   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  262    262   
            .expect("the config must have a deserializer");

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

@@ -207,207 +267,267 @@
  227    227   
            .set_nested(::std::option::Option::Some(
  228    228   
                crate::types::XmlNamespaceNested::builder()
  229    229   
                    .set_foo(::std::option::Option::Some("Foo".to_owned()))
  230    230   
                    .set_values(::std::option::Option::Some(vec!["Bar".to_owned(), "Baz".to_owned()]))
  231    231   
                    .build(),
  232    232   
            ))
  233    233   
            .build();
  234    234   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  235    235   
        .header("Content-Type", "text/xml;charset=UTF-8")
  236    236   
        .status(200)
  237         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlNamespacesResponse xmlns=\"https://example.com/\">\n    <nested>\n        <foo xmlns:baz=\"http://baz.com\">Foo</foo>\n        <values xmlns=\"http://qux.com\">\n            <member xmlns=\"http://bux.com\">Bar</member>\n            <member xmlns=\"http://bux.com\">Baz</member>\n        </values>\n    </nested>\n    <RequestId>requestid</RequestId>\n</XmlNamespacesResponse>\n"))
         237  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlNamespacesResponse xmlns=\"https://example.com/\">\n    <nested>\n        <foo xmlns:baz=\"http://baz.com\">Foo</foo>\n        <values xmlns=\"http://qux.com\">\n            <member xmlns=\"http://bux.com\">Bar</member>\n            <member xmlns=\"http://bux.com\">Baz</member>\n        </values>\n    </nested>\n    <requestId>requestid</requestId>\n</XmlNamespacesResponse>\n"))
  238    238   
                    .unwrap()
  239    239   
                    ).unwrap();
  240    240   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  241    241   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  242    242   
  243    243   
        let op = crate::operation::xml_namespaces::XmlNamespaces::new();
  244    244   
        let config = op.config().expect("the operation has config");
  245    245   
        let de = config
  246    246   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  247    247   
            .expect("the config must have a deserializer");

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

@@ -204,204 +618,618 @@
  224    224   
    #[::tracing_test::traced_test]
  225    225   
    async fn ec2_xml_timestamps_response() {
  226    226   
        let expected_output = crate::operation::xml_timestamps::XmlTimestampsOutput::builder()
  227    227   
            .set_normal(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  228    228   
                1398796238, 0_f64,
  229    229   
            )))
  230    230   
            .build();
  231    231   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  232    232   
        .header("Content-Type", "text/xml;charset=UTF-8")
  233    233   
        .status(200)
  234         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <normal>2014-04-29T18:30:38Z</normal>\n    <RequestId>requestid</RequestId>\n</XmlTimestampsResponse>\n"))
         234  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <normal>2014-04-29T18:30:38Z</normal>\n    <requestId>requestid</requestId>\n</XmlTimestampsResponse>\n"))
  235    235   
                    .unwrap()
  236    236   
                    ).unwrap();
  237    237   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  238    238   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  239    239   
  240    240   
        let op = crate::operation::xml_timestamps::XmlTimestamps::new();
  241    241   
        let config = op.config().expect("the operation has config");
  242    242   
        let de = config
  243    243   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  244    244   
            .expect("the config must have a deserializer");
  245    245   
  246    246   
        let parsed = de.deserialize_streaming(&mut http_response);
  247    247   
        let parsed = parsed.unwrap_or_else(|| {
  248    248   
            let http_response =
  249    249   
                http_response.map(|body| ::aws_smithy_types::body::SdkBody::from(::bytes::Bytes::copy_from_slice(body.bytes().unwrap())));
  250    250   
            de.deserialize_nonstreaming(&http_response)
  251    251   
        });
  252    252   
        let parsed = parsed
  253    253   
            .expect("should be successful response")
  254    254   
            .downcast::<crate::operation::xml_timestamps::XmlTimestampsOutput>()
  255    255   
            .unwrap();
  256    256   
        ::pretty_assertions::assert_eq!(parsed.normal, expected_output.normal, "Unexpected value for `normal`");
  257    257   
        ::pretty_assertions::assert_eq!(parsed.date_time, expected_output.date_time, "Unexpected value for `date_time`");
  258    258   
        ::pretty_assertions::assert_eq!(
  259    259   
            parsed.date_time_on_target,
  260    260   
            expected_output.date_time_on_target,
  261    261   
            "Unexpected value for `date_time_on_target`"
  262    262   
        );
  263    263   
        ::pretty_assertions::assert_eq!(
  264    264   
            parsed.epoch_seconds,
  265    265   
            expected_output.epoch_seconds,
  266    266   
            "Unexpected value for `epoch_seconds`"
  267    267   
        );
  268    268   
        ::pretty_assertions::assert_eq!(
  269    269   
            parsed.epoch_seconds_on_target,
  270    270   
            expected_output.epoch_seconds_on_target,
  271    271   
            "Unexpected value for `epoch_seconds_on_target`"
  272    272   
        );
  273    273   
        ::pretty_assertions::assert_eq!(parsed.http_date, expected_output.http_date, "Unexpected value for `http_date`");
  274    274   
        ::pretty_assertions::assert_eq!(
  275    275   
            parsed.http_date_on_target,
  276    276   
            expected_output.http_date_on_target,
  277    277   
            "Unexpected value for `http_date_on_target`"
  278    278   
        );
  279    279   
    }
  280    280   
    /// Ensures that the timestampFormat of date-time works like normal timestamps
  281    281   
    /// Test ID: Ec2XmlTimestampsWithDateTimeFormat
  282    282   
    #[::tokio::test]
  283    283   
    #[::tracing_test::traced_test]
  284    284   
    async fn ec2_xml_timestamps_with_date_time_format_response() {
  285    285   
        let expected_output = crate::operation::xml_timestamps::XmlTimestampsOutput::builder()
  286    286   
            .set_date_time(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  287    287   
                1398796238, 0_f64,
  288    288   
            )))
  289    289   
            .build();
  290    290   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  291    291   
        .header("Content-Type", "text/xml;charset=UTF-8")
  292    292   
        .status(200)
  293         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <dateTime>2014-04-29T18:30:38Z</dateTime>\n    <RequestId>requestid</RequestId>\n</XmlTimestampsResponse>\n"))
         293  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <dateTime>2014-04-29T18:30:38Z</dateTime>\n    <requestId>requestid</requestId>\n</XmlTimestampsResponse>\n"))
  294    294   
                    .unwrap()
  295    295   
                    ).unwrap();
  296    296   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  297    297   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  298    298   
  299    299   
        let op = crate::operation::xml_timestamps::XmlTimestamps::new();
  300    300   
        let config = op.config().expect("the operation has config");
  301    301   
        let de = config
  302    302   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  303    303   
            .expect("the config must have a deserializer");
  304    304   
  305    305   
        let parsed = de.deserialize_streaming(&mut http_response);
  306    306   
        let parsed = parsed.unwrap_or_else(|| {
  307    307   
            let http_response =
  308    308   
                http_response.map(|body| ::aws_smithy_types::body::SdkBody::from(::bytes::Bytes::copy_from_slice(body.bytes().unwrap())));
  309    309   
            de.deserialize_nonstreaming(&http_response)
  310    310   
        });
  311    311   
        let parsed = parsed
  312    312   
            .expect("should be successful response")
  313    313   
            .downcast::<crate::operation::xml_timestamps::XmlTimestampsOutput>()
  314    314   
            .unwrap();
  315    315   
        ::pretty_assertions::assert_eq!(parsed.normal, expected_output.normal, "Unexpected value for `normal`");
  316    316   
        ::pretty_assertions::assert_eq!(parsed.date_time, expected_output.date_time, "Unexpected value for `date_time`");
  317    317   
        ::pretty_assertions::assert_eq!(
  318    318   
            parsed.date_time_on_target,
  319    319   
            expected_output.date_time_on_target,
  320    320   
            "Unexpected value for `date_time_on_target`"
  321    321   
        );
  322    322   
        ::pretty_assertions::assert_eq!(
  323    323   
            parsed.epoch_seconds,
  324    324   
            expected_output.epoch_seconds,
  325    325   
            "Unexpected value for `epoch_seconds`"
  326    326   
        );
  327    327   
        ::pretty_assertions::assert_eq!(
  328    328   
            parsed.epoch_seconds_on_target,
  329    329   
            expected_output.epoch_seconds_on_target,
  330    330   
            "Unexpected value for `epoch_seconds_on_target`"
  331    331   
        );
  332    332   
        ::pretty_assertions::assert_eq!(parsed.http_date, expected_output.http_date, "Unexpected value for `http_date`");
  333    333   
        ::pretty_assertions::assert_eq!(
  334    334   
            parsed.http_date_on_target,
  335    335   
            expected_output.http_date_on_target,
  336    336   
            "Unexpected value for `http_date_on_target`"
  337    337   
        );
  338    338   
    }
  339    339   
    /// Ensures that the timestampFormat of date-time on the target shape works like normal timestamps
  340    340   
    /// Test ID: Ec2XmlTimestampsWithDateTimeOnTargetFormat
  341    341   
    #[::tokio::test]
  342    342   
    #[::tracing_test::traced_test]
  343    343   
    async fn ec2_xml_timestamps_with_date_time_on_target_format_response() {
  344    344   
        let expected_output = crate::operation::xml_timestamps::XmlTimestampsOutput::builder()
  345    345   
            .set_date_time_on_target(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  346    346   
                1398796238, 0_f64,
  347    347   
            )))
  348    348   
            .build();
  349    349   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  350    350   
        .header("Content-Type", "text/xml;charset=UTF-8")
  351    351   
        .status(200)
  352         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <dateTimeOnTarget>2014-04-29T18:30:38Z</dateTimeOnTarget>\n    <RequestId>requestid</RequestId>\n</XmlTimestampsResponse>\n"))
         352  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <dateTimeOnTarget>2014-04-29T18:30:38Z</dateTimeOnTarget>\n    <requestId>requestid</requestId>\n</XmlTimestampsResponse>\n"))
  353    353   
                    .unwrap()
  354    354   
                    ).unwrap();
  355    355   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  356    356   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  357    357   
  358    358   
        let op = crate::operation::xml_timestamps::XmlTimestamps::new();
  359    359   
        let config = op.config().expect("the operation has config");
  360    360   
        let de = config
  361    361   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  362    362   
            .expect("the config must have a deserializer");
  363    363   
  364    364   
        let parsed = de.deserialize_streaming(&mut http_response);
  365    365   
        let parsed = parsed.unwrap_or_else(|| {
  366    366   
            let http_response =
  367    367   
                http_response.map(|body| ::aws_smithy_types::body::SdkBody::from(::bytes::Bytes::copy_from_slice(body.bytes().unwrap())));
  368    368   
            de.deserialize_nonstreaming(&http_response)
  369    369   
        });
  370    370   
        let parsed = parsed
  371    371   
            .expect("should be successful response")
  372    372   
            .downcast::<crate::operation::xml_timestamps::XmlTimestampsOutput>()
  373    373   
            .unwrap();
  374    374   
        ::pretty_assertions::assert_eq!(parsed.normal, expected_output.normal, "Unexpected value for `normal`");
  375    375   
        ::pretty_assertions::assert_eq!(parsed.date_time, expected_output.date_time, "Unexpected value for `date_time`");
  376    376   
        ::pretty_assertions::assert_eq!(
  377    377   
            parsed.date_time_on_target,
  378    378   
            expected_output.date_time_on_target,
  379    379   
            "Unexpected value for `date_time_on_target`"
  380    380   
        );
  381    381   
        ::pretty_assertions::assert_eq!(
  382    382   
            parsed.epoch_seconds,
  383    383   
            expected_output.epoch_seconds,
  384    384   
            "Unexpected value for `epoch_seconds`"
  385    385   
        );
  386    386   
        ::pretty_assertions::assert_eq!(
  387    387   
            parsed.epoch_seconds_on_target,
  388    388   
            expected_output.epoch_seconds_on_target,
  389    389   
            "Unexpected value for `epoch_seconds_on_target`"
  390    390   
        );
  391    391   
        ::pretty_assertions::assert_eq!(parsed.http_date, expected_output.http_date, "Unexpected value for `http_date`");
  392    392   
        ::pretty_assertions::assert_eq!(
  393    393   
            parsed.http_date_on_target,
  394    394   
            expected_output.http_date_on_target,
  395    395   
            "Unexpected value for `http_date_on_target`"
  396    396   
        );
  397    397   
    }
  398    398   
    /// Ensures that the timestampFormat of epoch-seconds works
  399    399   
    /// Test ID: Ec2XmlTimestampsWithEpochSecondsFormat
  400    400   
    #[::tokio::test]
  401    401   
    #[::tracing_test::traced_test]
  402    402   
    async fn ec2_xml_timestamps_with_epoch_seconds_format_response() {
  403    403   
        let expected_output = crate::operation::xml_timestamps::XmlTimestampsOutput::builder()
  404    404   
            .set_epoch_seconds(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  405    405   
                1398796238, 0_f64,
  406    406   
            )))
  407    407   
            .build();
  408    408   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  409    409   
        .header("Content-Type", "text/xml;charset=UTF-8")
  410    410   
        .status(200)
  411         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <epochSeconds>1398796238</epochSeconds>\n    <RequestId>requestid</RequestId>\n</XmlTimestampsResponse>\n"))
         411  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <epochSeconds>1398796238</epochSeconds>\n    <requestId>requestid</requestId>\n</XmlTimestampsResponse>\n"))
  412    412   
                    .unwrap()
  413    413   
                    ).unwrap();
  414    414   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  415    415   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  416    416   
  417    417   
        let op = crate::operation::xml_timestamps::XmlTimestamps::new();
  418    418   
        let config = op.config().expect("the operation has config");
  419    419   
        let de = config
  420    420   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  421    421   
            .expect("the config must have a deserializer");
  422    422   
  423    423   
        let parsed = de.deserialize_streaming(&mut http_response);
  424    424   
        let parsed = parsed.unwrap_or_else(|| {
  425    425   
            let http_response =
  426    426   
                http_response.map(|body| ::aws_smithy_types::body::SdkBody::from(::bytes::Bytes::copy_from_slice(body.bytes().unwrap())));
  427    427   
            de.deserialize_nonstreaming(&http_response)
  428    428   
        });
  429    429   
        let parsed = parsed
  430    430   
            .expect("should be successful response")
  431    431   
            .downcast::<crate::operation::xml_timestamps::XmlTimestampsOutput>()
  432    432   
            .unwrap();
  433    433   
        ::pretty_assertions::assert_eq!(parsed.normal, expected_output.normal, "Unexpected value for `normal`");
  434    434   
        ::pretty_assertions::assert_eq!(parsed.date_time, expected_output.date_time, "Unexpected value for `date_time`");
  435    435   
        ::pretty_assertions::assert_eq!(
  436    436   
            parsed.date_time_on_target,
  437    437   
            expected_output.date_time_on_target,
  438    438   
            "Unexpected value for `date_time_on_target`"
  439    439   
        );
  440    440   
        ::pretty_assertions::assert_eq!(
  441    441   
            parsed.epoch_seconds,
  442    442   
            expected_output.epoch_seconds,
  443    443   
            "Unexpected value for `epoch_seconds`"
  444    444   
        );
  445    445   
        ::pretty_assertions::assert_eq!(
  446    446   
            parsed.epoch_seconds_on_target,
  447    447   
            expected_output.epoch_seconds_on_target,
  448    448   
            "Unexpected value for `epoch_seconds_on_target`"
  449    449   
        );
  450    450   
        ::pretty_assertions::assert_eq!(parsed.http_date, expected_output.http_date, "Unexpected value for `http_date`");
  451    451   
        ::pretty_assertions::assert_eq!(
  452    452   
            parsed.http_date_on_target,
  453    453   
            expected_output.http_date_on_target,
  454    454   
            "Unexpected value for `http_date_on_target`"
  455    455   
        );
  456    456   
    }
  457    457   
    /// Ensures that the timestampFormat of epoch-seconds on the target shape works
  458    458   
    /// Test ID: Ec2XmlTimestampsWithEpochSecondsOnTargetFormat
  459    459   
    #[::tokio::test]
  460    460   
    #[::tracing_test::traced_test]
  461    461   
    async fn ec2_xml_timestamps_with_epoch_seconds_on_target_format_response() {
  462    462   
        let expected_output = crate::operation::xml_timestamps::XmlTimestampsOutput::builder()
  463    463   
            .set_epoch_seconds_on_target(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  464    464   
                1398796238, 0_f64,
  465    465   
            )))
  466    466   
            .build();
  467    467   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  468    468   
        .header("Content-Type", "text/xml;charset=UTF-8")
  469    469   
        .status(200)
  470         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <epochSecondsOnTarget>1398796238</epochSecondsOnTarget>\n    <RequestId>requestid</RequestId>\n</XmlTimestampsResponse>\n"))
         470  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <epochSecondsOnTarget>1398796238</epochSecondsOnTarget>\n    <requestId>requestid</requestId>\n</XmlTimestampsResponse>\n"))
  471    471   
                    .unwrap()
  472    472   
                    ).unwrap();
  473    473   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  474    474   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  475    475   
  476    476   
        let op = crate::operation::xml_timestamps::XmlTimestamps::new();
  477    477   
        let config = op.config().expect("the operation has config");
  478    478   
        let de = config
  479    479   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  480    480   
            .expect("the config must have a deserializer");
  481    481   
  482    482   
        let parsed = de.deserialize_streaming(&mut http_response);
  483    483   
        let parsed = parsed.unwrap_or_else(|| {
  484    484   
            let http_response =
  485    485   
                http_response.map(|body| ::aws_smithy_types::body::SdkBody::from(::bytes::Bytes::copy_from_slice(body.bytes().unwrap())));
  486    486   
            de.deserialize_nonstreaming(&http_response)
  487    487   
        });
  488    488   
        let parsed = parsed
  489    489   
            .expect("should be successful response")
  490    490   
            .downcast::<crate::operation::xml_timestamps::XmlTimestampsOutput>()
  491    491   
            .unwrap();
  492    492   
        ::pretty_assertions::assert_eq!(parsed.normal, expected_output.normal, "Unexpected value for `normal`");
  493    493   
        ::pretty_assertions::assert_eq!(parsed.date_time, expected_output.date_time, "Unexpected value for `date_time`");
  494    494   
        ::pretty_assertions::assert_eq!(
  495    495   
            parsed.date_time_on_target,
  496    496   
            expected_output.date_time_on_target,
  497    497   
            "Unexpected value for `date_time_on_target`"
  498    498   
        );
  499    499   
        ::pretty_assertions::assert_eq!(
  500    500   
            parsed.epoch_seconds,
  501    501   
            expected_output.epoch_seconds,
  502    502   
            "Unexpected value for `epoch_seconds`"
  503    503   
        );
  504    504   
        ::pretty_assertions::assert_eq!(
  505    505   
            parsed.epoch_seconds_on_target,
  506    506   
            expected_output.epoch_seconds_on_target,
  507    507   
            "Unexpected value for `epoch_seconds_on_target`"
  508    508   
        );
  509    509   
        ::pretty_assertions::assert_eq!(parsed.http_date, expected_output.http_date, "Unexpected value for `http_date`");
  510    510   
        ::pretty_assertions::assert_eq!(
  511    511   
            parsed.http_date_on_target,
  512    512   
            expected_output.http_date_on_target,
  513    513   
            "Unexpected value for `http_date_on_target`"
  514    514   
        );
  515    515   
    }
  516    516   
    /// Ensures that the timestampFormat of http-date works
  517    517   
    /// Test ID: Ec2XmlTimestampsWithHttpDateFormat
  518    518   
    #[::tokio::test]
  519    519   
    #[::tracing_test::traced_test]
  520    520   
    async fn ec2_xml_timestamps_with_http_date_format_response() {
  521    521   
        let expected_output = crate::operation::xml_timestamps::XmlTimestampsOutput::builder()
  522    522   
            .set_http_date(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  523    523   
                1398796238, 0_f64,
  524    524   
            )))
  525    525   
            .build();
  526    526   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  527    527   
        .header("Content-Type", "text/xml;charset=UTF-8")
  528    528   
        .status(200)
  529         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <httpDate>Tue, 29 Apr 2014 18:30:38 GMT</httpDate>\n    <RequestId>requestid</RequestId>\n</XmlTimestampsResponse>\n"))
         529  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <httpDate>Tue, 29 Apr 2014 18:30:38 GMT</httpDate>\n    <requestId>requestid</requestId>\n</XmlTimestampsResponse>\n"))
  530    530   
                    .unwrap()
  531    531   
                    ).unwrap();
  532    532   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  533    533   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  534    534   
  535    535   
        let op = crate::operation::xml_timestamps::XmlTimestamps::new();
  536    536   
        let config = op.config().expect("the operation has config");
  537    537   
        let de = config
  538    538   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  539    539   
            .expect("the config must have a deserializer");
  540    540   
  541    541   
        let parsed = de.deserialize_streaming(&mut http_response);
  542    542   
        let parsed = parsed.unwrap_or_else(|| {
  543    543   
            let http_response =
  544    544   
                http_response.map(|body| ::aws_smithy_types::body::SdkBody::from(::bytes::Bytes::copy_from_slice(body.bytes().unwrap())));
  545    545   
            de.deserialize_nonstreaming(&http_response)
  546    546   
        });
  547    547   
        let parsed = parsed
  548    548   
            .expect("should be successful response")
  549    549   
            .downcast::<crate::operation::xml_timestamps::XmlTimestampsOutput>()
  550    550   
            .unwrap();
  551    551   
        ::pretty_assertions::assert_eq!(parsed.normal, expected_output.normal, "Unexpected value for `normal`");
  552    552   
        ::pretty_assertions::assert_eq!(parsed.date_time, expected_output.date_time, "Unexpected value for `date_time`");
  553    553   
        ::pretty_assertions::assert_eq!(
  554    554   
            parsed.date_time_on_target,
  555    555   
            expected_output.date_time_on_target,
  556    556   
            "Unexpected value for `date_time_on_target`"
  557    557   
        );
  558    558   
        ::pretty_assertions::assert_eq!(
  559    559   
            parsed.epoch_seconds,
  560    560   
            expected_output.epoch_seconds,
  561    561   
            "Unexpected value for `epoch_seconds`"
  562    562   
        );
  563    563   
        ::pretty_assertions::assert_eq!(
  564    564   
            parsed.epoch_seconds_on_target,
  565    565   
            expected_output.epoch_seconds_on_target,
  566    566   
            "Unexpected value for `epoch_seconds_on_target`"
  567    567   
        );
  568    568   
        ::pretty_assertions::assert_eq!(parsed.http_date, expected_output.http_date, "Unexpected value for `http_date`");
  569    569   
        ::pretty_assertions::assert_eq!(
  570    570   
            parsed.http_date_on_target,
  571    571   
            expected_output.http_date_on_target,
  572    572   
            "Unexpected value for `http_date_on_target`"
  573    573   
        );
  574    574   
    }
  575    575   
    /// Ensures that the timestampFormat of http-date on the target shape works
  576    576   
    /// Test ID: Ec2XmlTimestampsWithHttpDateOnTargetFormat
  577    577   
    #[::tokio::test]
  578    578   
    #[::tracing_test::traced_test]
  579    579   
    async fn ec2_xml_timestamps_with_http_date_on_target_format_response() {
  580    580   
        let expected_output = crate::operation::xml_timestamps::XmlTimestampsOutput::builder()
  581    581   
            .set_http_date_on_target(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  582    582   
                1398796238, 0_f64,
  583    583   
            )))
  584    584   
            .build();
  585    585   
        let mut http_response = ::aws_smithy_runtime_api::http::Response::try_from(::http::response::Builder::new()
  586    586   
        .header("Content-Type", "text/xml;charset=UTF-8")
  587    587   
        .status(200)
  588         -
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <httpDateOnTarget>Tue, 29 Apr 2014 18:30:38 GMT</httpDateOnTarget>\n    <RequestId>requestid</RequestId>\n</XmlTimestampsResponse>\n"))
         588  +
                    .body(::aws_smithy_types::body::SdkBody::from("<XmlTimestampsResponse xmlns=\"https://example.com/\">\n    <httpDateOnTarget>Tue, 29 Apr 2014 18:30:38 GMT</httpDateOnTarget>\n    <requestId>requestid</requestId>\n</XmlTimestampsResponse>\n"))
  589    589   
                    .unwrap()
  590    590   
                    ).unwrap();
  591    591   
        use ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
  592    592   
        use ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse;
  593    593   
  594    594   
        let op = crate::operation::xml_timestamps::XmlTimestamps::new();
  595    595   
        let config = op.config().expect("the operation has config");
  596    596   
        let de = config
  597    597   
            .load::<::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer>()
  598    598   
            .expect("the config must have a deserializer");