Client Test

Client Test

rev. 2e092aa1536c16ae71a89254a610da8d2811618f

Files changed:

tmp-codegen-diff/codegen-client-test/json_rpc11/rust-client-codegen/src/operation/json_enums.rs

@@ -201,201 +316,316 @@
  221    221   
  222    222   
#[allow(unreachable_code, unused_variables)]
  223    223   
#[cfg(test)]
  224    224   
mod json_enums_test {
  225    225   
  226    226   
    /// Serializes simple scalar properties
  227    227   
    /// Test ID: AwsJson11Enums
  228    228   
    #[::tokio::test]
  229    229   
    #[::tracing_test::traced_test]
  230    230   
    async fn aws_json11_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   
            .json_enums()
  237    237   
            .set_foo_enum1(::std::option::Option::Some(
  238    238   
                "Foo".parse::<crate::types::FooEnum>().expect("static value validated to member"),
  239    239   
            ))
  240    240   
            .set_foo_enum2(::std::option::Option::Some(
  241    241   
                "0".parse::<crate::types::FooEnum>().expect("static value validated to member"),
  242    242   
            ))
  243    243   
            .set_foo_enum3(::std::option::Option::Some(
  244    244   
                "1".parse::<crate::types::FooEnum>().expect("static value validated to member"),
  245    245   
            ))
  246    246   
            .set_foo_enum_list(::std::option::Option::Some(vec![
  247    247   
                "Foo".parse::<crate::types::FooEnum>().expect("static value validated to member"),
  248    248   
                "0".parse::<crate::types::FooEnum>().expect("static value validated to member"),
  249    249   
            ]))
  250    250   
            .set_foo_enum_set(::std::option::Option::Some(vec![
  251    251   
                "Foo".parse::<crate::types::FooEnum>().expect("static value validated to member"),
  252    252   
                "0".parse::<crate::types::FooEnum>().expect("static value validated to member"),
  253    253   
            ]))
  254    254   
            .set_foo_enum_map(::std::option::Option::Some({
  255    255   
                let mut ret = ::std::collections::HashMap::new();
  256    256   
                ret.insert(
  257    257   
                    "hi".to_owned(),
  258    258   
                    "Foo".parse::<crate::types::FooEnum>().expect("static value validated to member"),
  259    259   
                );
  260    260   
                ret.insert(
  261    261   
                    "zero".to_owned(),
  262    262   
                    "0".parse::<crate::types::FooEnum>().expect("static value validated to member"),
  263    263   
                );
  264    264   
                ret
  265    265   
            }))
  266    266   
            .send()
  267    267   
            .await;
  268    268   
        let _ = dbg!(result);
  269    269   
        let http_request = request_receiver.expect_request();
  270    270   
        let expected_headers = [("Content-Type", "application/x-amz-json-1.1"), ("X-Amz-Target", "JsonProtocol.JsonEnums")];
  271    271   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  272    272   
        let body = http_request.body().bytes().expect("body should be strict");
  273    273   
        ::aws_smithy_protocol_test::assert_ok(
  274    274   
        ::aws_smithy_protocol_test::validate_body(body, "{\n    \"fooEnum1\": \"Foo\",\n    \"fooEnum2\": \"0\",\n    \"fooEnum3\": \"1\",\n    \"fooEnumList\": [\n        \"Foo\",\n        \"0\"\n    ],\n    \"fooEnumSet\": [\n        \"Foo\",\n        \"0\"\n    ],\n    \"fooEnumMap\": {\n        \"hi\": \"Foo\",\n        \"zero\": \"0\"\n    }\n}", ::aws_smithy_protocol_test::MediaType::from("application/json"))
  275    275   
        );
  276    276   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  277    277   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  278    278   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  279    279   
    }
  280    280   
  281    281   
    /// Serializes simple scalar properties
  282    282   
    /// Test ID: AwsJson11EnumsBasic
  283    283   
    #[::tokio::test]
  284    284   
    #[::tracing_test::traced_test]
  285    285   
    async fn aws_json11_enums_basic_request() {
  286         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         286  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  287    287   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  288    288   
  289    289   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  290    290   
        let result = client
  291    291   
            .json_enums()
  292    292   
            .set_foo_enum1(::std::option::Option::Some(
  293    293   
                "Foo".parse::<crate::types::FooEnum>().expect("static value validated to member"),
  294    294   
            ))
  295    295   
            .set_foo_enum2(::std::option::Option::Some(
  296    296   
                "0".parse::<crate::types::FooEnum>().expect("static value validated to member"),

tmp-codegen-diff/codegen-client-test/json_rpc11/rust-client-codegen/src/operation/json_unions.rs

@@ -204,204 +534,534 @@
  224    224   
  225    225   
#[allow(unreachable_code, unused_variables)]
  226    226   
#[cfg(test)]
  227    227   
mod json_unions_test {
  228    228   
  229    229   
    /// Serializes a string union value
  230    230   
    /// Test ID: AwsJson11SerializeStringUnionValue
  231    231   
    #[::tokio::test]
  232    232   
    #[::tracing_test::traced_test]
  233    233   
    async fn aws_json11_serialize_string_union_value_request() {
  234         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         234  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  235    235   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  236    236   
  237    237   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  238    238   
        let result = client
  239    239   
            .json_unions()
  240    240   
            .set_contents(::std::option::Option::Some(crate::types::MyUnion::StringValue("foo".to_owned())))
  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 = [
  246    246   
            ("Content-Type", "application/x-amz-json-1.1"),
  247    247   
            ("X-Amz-Target", "JsonProtocol.JsonUnions"),
  248    248   
        ];
  249    249   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  250    250   
        let body = http_request.body().bytes().expect("body should be strict");
  251    251   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  252    252   
            body,
  253    253   
            "{\n    \"contents\": {\n        \"stringValue\": \"foo\"\n    }\n}",
  254    254   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  255    255   
        ));
  256    256   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  257    257   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  258    258   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  259    259   
    }
  260    260   
  261    261   
    /// Serializes a boolean union value
  262    262   
    /// Test ID: AwsJson11SerializeBooleanUnionValue
  263    263   
    #[::tokio::test]
  264    264   
    #[::tracing_test::traced_test]
  265    265   
    async fn aws_json11_serialize_boolean_union_value_request() {
  266         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         266  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  267    267   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  268    268   
  269    269   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  270    270   
        let result = client
  271    271   
            .json_unions()
  272    272   
            .set_contents(::std::option::Option::Some(crate::types::MyUnion::BooleanValue(true)))
  273    273   
            .send()
  274    274   
            .await;
  275    275   
        let _ = dbg!(result);
  276    276   
        let http_request = request_receiver.expect_request();
  277    277   
        let expected_headers = [
  278    278   
            ("Content-Type", "application/x-amz-json-1.1"),
  279    279   
            ("X-Amz-Target", "JsonProtocol.JsonUnions"),
  280    280   
        ];
  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   
            "{\n    \"contents\": {\n        \"booleanValue\": true\n    }\n}",
  286    286   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  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(), "POST", "method was incorrect");
  290    290   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  291    291   
    }
  292    292   
  293    293   
    /// Serializes a number union value
  294    294   
    /// Test ID: AwsJson11SerializeNumberUnionValue
  295    295   
    #[::tokio::test]
  296    296   
    #[::tracing_test::traced_test]
  297    297   
    async fn aws_json11_serialize_number_union_value_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   
            .json_unions()
  304    304   
            .set_contents(::std::option::Option::Some(crate::types::MyUnion::NumberValue(1)))
  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 = [
  310    310   
            ("Content-Type", "application/x-amz-json-1.1"),
  311    311   
            ("X-Amz-Target", "JsonProtocol.JsonUnions"),
  312    312   
        ];
  313    313   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  314    314   
        let body = http_request.body().bytes().expect("body should be strict");
  315    315   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  316    316   
            body,
  317    317   
            "{\n    \"contents\": {\n        \"numberValue\": 1\n    }\n}",
  318    318   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  319    319   
        ));
  320    320   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  321    321   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  322    322   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  323    323   
    }
  324    324   
  325    325   
    /// Serializes a blob union value
  326    326   
    /// Test ID: AwsJson11SerializeBlobUnionValue
  327    327   
    #[::tokio::test]
  328    328   
    #[::tracing_test::traced_test]
  329    329   
    async fn aws_json11_serialize_blob_union_value_request() {
  330         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         330  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  331    331   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  332    332   
  333    333   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  334    334   
        let result = client
  335    335   
            .json_unions()
  336    336   
            .set_contents(::std::option::Option::Some(crate::types::MyUnion::BlobValue(
  337    337   
                ::aws_smithy_types::Blob::new("foo"),
  338    338   
            )))
  339    339   
            .send()
  340    340   
            .await;
  341    341   
        let _ = dbg!(result);
  342    342   
        let http_request = request_receiver.expect_request();
  343    343   
        let expected_headers = [
  344    344   
            ("Content-Type", "application/x-amz-json-1.1"),
  345    345   
            ("X-Amz-Target", "JsonProtocol.JsonUnions"),
  346    346   
        ];
  347    347   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  348    348   
        let body = http_request.body().bytes().expect("body should be strict");
  349    349   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  350    350   
            body,
  351    351   
            "{\n    \"contents\": {\n        \"blobValue\": \"Zm9v\"\n    }\n}",
  352    352   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  353    353   
        ));
  354    354   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  355    355   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  356    356   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  357    357   
    }
  358    358   
  359    359   
    /// Serializes a timestamp union value
  360    360   
    /// Test ID: AwsJson11SerializeTimestampUnionValue
  361    361   
    #[::tokio::test]
  362    362   
    #[::tracing_test::traced_test]
  363    363   
    async fn aws_json11_serialize_timestamp_union_value_request() {
  364         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         364  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  365    365   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  366    366   
  367    367   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  368    368   
        let result = client
  369    369   
            .json_unions()
  370    370   
            .set_contents(::std::option::Option::Some(crate::types::MyUnion::TimestampValue(
  371    371   
                ::aws_smithy_types::DateTime::from_fractional_secs(1398796238, 0_f64),
  372    372   
            )))
  373    373   
            .send()
  374    374   
            .await;
  375    375   
        let _ = dbg!(result);
  376    376   
        let http_request = request_receiver.expect_request();
  377    377   
        let expected_headers = [
  378    378   
            ("Content-Type", "application/x-amz-json-1.1"),
  379    379   
            ("X-Amz-Target", "JsonProtocol.JsonUnions"),
  380    380   
        ];
  381    381   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  382    382   
        let body = http_request.body().bytes().expect("body should be strict");
  383    383   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  384    384   
            body,
  385    385   
            "{\n    \"contents\": {\n        \"timestampValue\": 1398796238\n    }\n}",
  386    386   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  387    387   
        ));
  388    388   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  389    389   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  390    390   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  391    391   
    }
  392    392   
  393    393   
    /// Serializes an enum union value
  394    394   
    /// Test ID: AwsJson11SerializeEnumUnionValue
  395    395   
    #[::tokio::test]
  396    396   
    #[::tracing_test::traced_test]
  397    397   
    async fn aws_json11_serialize_enum_union_value_request() {
  398         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         398  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  399    399   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  400    400   
  401    401   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  402    402   
        let result = client
  403    403   
            .json_unions()
  404    404   
            .set_contents(::std::option::Option::Some(crate::types::MyUnion::EnumValue(
  405    405   
                "Foo".parse::<crate::types::FooEnum>().expect("static value validated to member"),
  406    406   
            )))
  407    407   
            .send()
  408    408   
            .await;
  409    409   
        let _ = dbg!(result);
  410    410   
        let http_request = request_receiver.expect_request();
  411    411   
        let expected_headers = [
  412    412   
            ("Content-Type", "application/x-amz-json-1.1"),
  413    413   
            ("X-Amz-Target", "JsonProtocol.JsonUnions"),
  414    414   
        ];
  415    415   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  416    416   
        let body = http_request.body().bytes().expect("body should be strict");
  417    417   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  418    418   
            body,
  419    419   
            "{\n    \"contents\": {\n        \"enumValue\": \"Foo\"\n    }\n}",
  420    420   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  421    421   
        ));
  422    422   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  423    423   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  424    424   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  425    425   
    }
  426    426   
  427    427   
    /// Serializes a list union value
  428    428   
    /// Test ID: AwsJson11SerializeListUnionValue
  429    429   
    #[::tokio::test]
  430    430   
    #[::tracing_test::traced_test]
  431    431   
    async fn aws_json11_serialize_list_union_value_request() {
  432         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         432  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  433    433   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  434    434   
  435    435   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  436    436   
        let result = client
  437    437   
            .json_unions()
  438    438   
            .set_contents(::std::option::Option::Some(crate::types::MyUnion::ListValue(vec![
  439    439   
                "foo".to_owned(),
  440    440   
                "bar".to_owned(),
  441    441   
            ])))
  442    442   
            .send()
  443    443   
            .await;
  444    444   
        let _ = dbg!(result);
  445    445   
        let http_request = request_receiver.expect_request();
  446    446   
        let expected_headers = [
  447    447   
            ("Content-Type", "application/x-amz-json-1.1"),
  448    448   
            ("X-Amz-Target", "JsonProtocol.JsonUnions"),
  449    449   
        ];
  450    450   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  451    451   
        let body = http_request.body().bytes().expect("body should be strict");
  452    452   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  453    453   
            body,
  454    454   
            "{\n    \"contents\": {\n        \"listValue\": [\"foo\", \"bar\"]\n    }\n}",
  455    455   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  456    456   
        ));
  457    457   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  458    458   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  459    459   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  460    460   
    }
  461    461   
  462    462   
    /// Serializes a map union value
  463    463   
    /// Test ID: AwsJson11SerializeMapUnionValue
  464    464   
    #[::tokio::test]
  465    465   
    #[::tracing_test::traced_test]
  466    466   
    async fn aws_json11_serialize_map_union_value_request() {
  467         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         467  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  468    468   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  469    469   
  470    470   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  471    471   
        let result = client
  472    472   
            .json_unions()
  473    473   
            .set_contents(::std::option::Option::Some(crate::types::MyUnion::MapValue({
  474    474   
                let mut ret = ::std::collections::HashMap::new();
  475    475   
                ret.insert("foo".to_owned(), "bar".to_owned());
  476    476   
                ret.insert("spam".to_owned(), "eggs".to_owned());
  477    477   
                ret
  478    478   
            })))
  479    479   
            .send()
  480    480   
            .await;
  481    481   
        let _ = dbg!(result);
  482    482   
        let http_request = request_receiver.expect_request();
  483    483   
        let expected_headers = [
  484    484   
            ("Content-Type", "application/x-amz-json-1.1"),
  485    485   
            ("X-Amz-Target", "JsonProtocol.JsonUnions"),
  486    486   
        ];
  487    487   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  488    488   
        let body = http_request.body().bytes().expect("body should be strict");
  489    489   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  490    490   
            body,
  491    491   
            "{\n    \"contents\": {\n        \"mapValue\": {\n            \"foo\": \"bar\",\n            \"spam\": \"eggs\"\n        }\n    }\n}",
  492    492   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  493    493   
        ));
  494    494   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  495    495   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  496    496   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  497    497   
    }
  498    498   
  499    499   
    /// Serializes a structure union value
  500    500   
    /// Test ID: AwsJson11SerializeStructureUnionValue
  501    501   
    #[::tokio::test]
  502    502   
    #[::tracing_test::traced_test]
  503    503   
    async fn aws_json11_serialize_structure_union_value_request() {
  504         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         504  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  505    505   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  506    506   
  507    507   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  508    508   
        let result = client
  509    509   
            .json_unions()
  510    510   
            .set_contents(::std::option::Option::Some(crate::types::MyUnion::StructureValue(
  511    511   
                crate::types::GreetingStruct::builder()
  512    512   
                    .set_hi(::std::option::Option::Some("hello".to_owned()))
  513    513   
                    .build(),
  514    514   
            )))

tmp-codegen-diff/codegen-client-test/json_rpc11/rust-client-codegen/src/operation/kitchen_sink_operation.rs

@@ -210,210 +1288,1288 @@
  230    230   
#[allow(unreachable_code, unused_variables)]
  231    231   
#[cfg(test)]
  232    232   
mod kitchen_sink_operation_test {
  233    233   
    use ::aws_smithy_protocol_test::FloatEquals;
  234    234   
  235    235   
    /// Serializes string shapes
  236    236   
    /// Test ID: serializes_string_shapes
  237    237   
    #[::tokio::test]
  238    238   
    #[::tracing_test::traced_test]
  239    239   
    async fn serializes_string_shapes_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   
            .kitchen_sink_operation()
  246    246   
            .set_string(::std::option::Option::Some("abc xyz".to_owned()))
  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 = [
  252    252   
            ("Content-Type", "application/x-amz-json-1.1"),
  253    253   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  254    254   
        ];
  255    255   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  256    256   
        let required_headers = &["Content-Length"];
  257    257   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  258    258   
        let body = http_request.body().bytes().expect("body should be strict");
  259    259   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  260    260   
            body,
  261    261   
            "{\"String\":\"abc xyz\"}",
  262    262   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  263    263   
        ));
  264    264   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  265    265   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  266    266   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  267    267   
    }
  268    268   
  269    269   
    /// Serializes string shapes with jsonvalue trait
  270    270   
    /// Test ID: serializes_string_shapes_with_jsonvalue_trait
  271    271   
    #[::tokio::test]
  272    272   
    #[::tracing_test::traced_test]
  273    273   
    async fn serializes_string_shapes_with_jsonvalue_trait_request() {
  274         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         274  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  275    275   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  276    276   
  277    277   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  278    278   
        let result = client.kitchen_sink_operation()
  279    279   
        .set_json_value(
  280    280   
            ::std::option::Option::Some(
  281    281   
                "{\"string\":\"value\",\"number\":1234.5,\"boolTrue\":true,\"boolFalse\":false,\"array\":[1,2,3,4],\"object\":{\"key\":\"value\"},\"null\":null}".to_owned()
  282    282   
            )
  283    283   
        )
  284    284   
        .send().await;
  285    285   
        let _ = dbg!(result);
  286    286   
        let http_request = request_receiver.expect_request();
  287    287   
        let expected_headers = [
  288    288   
            ("Content-Type", "application/x-amz-json-1.1"),
  289    289   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  290    290   
        ];
  291    291   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  292    292   
        let required_headers = &["Content-Length"];
  293    293   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  294    294   
        let body = http_request.body().bytes().expect("body should be strict");
  295    295   
        ::aws_smithy_protocol_test::assert_ok(
  296    296   
        ::aws_smithy_protocol_test::validate_body(body, "{\"JsonValue\":\"{\\\"string\\\":\\\"value\\\",\\\"number\\\":1234.5,\\\"boolTrue\\\":true,\\\"boolFalse\\\":false,\\\"array\\\":[1,2,3,4],\\\"object\\\":{\\\"key\\\":\\\"value\\\"},\\\"null\\\":null}\"}", ::aws_smithy_protocol_test::MediaType::from("application/json"))
  297    297   
        );
  298    298   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  299    299   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  300    300   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  301    301   
    }
  302    302   
  303    303   
    /// Serializes integer shapes
  304    304   
    /// Test ID: serializes_integer_shapes
  305    305   
    #[::tokio::test]
  306    306   
    #[::tracing_test::traced_test]
  307    307   
    async fn serializes_integer_shapes_request() {
  308         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         308  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  309    309   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  310    310   
  311    311   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  312    312   
        let result = client
  313    313   
            .kitchen_sink_operation()
  314    314   
            .set_integer(::std::option::Option::Some(1234))
  315    315   
            .send()
  316    316   
            .await;
  317    317   
        let _ = dbg!(result);
  318    318   
        let http_request = request_receiver.expect_request();
  319    319   
        let expected_headers = [
  320    320   
            ("Content-Type", "application/x-amz-json-1.1"),
  321    321   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  322    322   
        ];
  323    323   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  324    324   
        let required_headers = &["Content-Length"];
  325    325   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  326    326   
        let body = http_request.body().bytes().expect("body should be strict");
  327    327   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  328    328   
            body,
  329    329   
            "{\"Integer\":1234}",
  330    330   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  331    331   
        ));
  332    332   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  333    333   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  334    334   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  335    335   
    }
  336    336   
  337    337   
    /// Serializes long shapes
  338    338   
    /// Test ID: serializes_long_shapes
  339    339   
    #[::tokio::test]
  340    340   
    #[::tracing_test::traced_test]
  341    341   
    async fn serializes_long_shapes_request() {
  342         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         342  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  343    343   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  344    344   
  345    345   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  346    346   
        let result = client
  347    347   
            .kitchen_sink_operation()
  348    348   
            .set_long(::std::option::Option::Some(999999999999))
  349    349   
            .send()
  350    350   
            .await;
  351    351   
        let _ = dbg!(result);
  352    352   
        let http_request = request_receiver.expect_request();
  353    353   
        let expected_headers = [
  354    354   
            ("Content-Type", "application/x-amz-json-1.1"),
  355    355   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  356    356   
        ];
  357    357   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  358    358   
        let required_headers = &["Content-Length"];
  359    359   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  360    360   
        let body = http_request.body().bytes().expect("body should be strict");
  361    361   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  362    362   
            body,
  363    363   
            "{\"Long\":999999999999}",
  364    364   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  365    365   
        ));
  366    366   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  367    367   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  368    368   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  369    369   
    }
  370    370   
  371    371   
    /// Serializes float shapes
  372    372   
    /// Test ID: serializes_float_shapes
  373    373   
    #[::tokio::test]
  374    374   
    #[::tracing_test::traced_test]
  375    375   
    async fn serializes_float_shapes_request() {
  376         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         376  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  377    377   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  378    378   
  379    379   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  380    380   
        let result = client
  381    381   
            .kitchen_sink_operation()
  382    382   
            .set_float(::std::option::Option::Some(1234.5_f32))
  383    383   
            .send()
  384    384   
            .await;
  385    385   
        let _ = dbg!(result);
  386    386   
        let http_request = request_receiver.expect_request();
  387    387   
        let expected_headers = [
  388    388   
            ("Content-Type", "application/x-amz-json-1.1"),
  389    389   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  390    390   
        ];
  391    391   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  392    392   
        let required_headers = &["Content-Length"];
  393    393   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  394    394   
        let body = http_request.body().bytes().expect("body should be strict");
  395    395   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  396    396   
            body,
  397    397   
            "{\"Float\":1234.5}",
  398    398   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  399    399   
        ));
  400    400   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  401    401   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  402    402   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  403    403   
    }
  404    404   
  405    405   
    /// Serializes double shapes
  406    406   
    /// Test ID: serializes_double_shapes
  407    407   
    #[::tokio::test]
  408    408   
    #[::tracing_test::traced_test]
  409    409   
    async fn serializes_double_shapes_request() {
  410         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         410  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  411    411   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  412    412   
  413    413   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  414    414   
        let result = client
  415    415   
            .kitchen_sink_operation()
  416    416   
            .set_double(::std::option::Option::Some(1234.5_f64))
  417    417   
            .send()
  418    418   
            .await;
  419    419   
        let _ = dbg!(result);
  420    420   
        let http_request = request_receiver.expect_request();
  421    421   
        let expected_headers = [
  422    422   
            ("Content-Type", "application/x-amz-json-1.1"),
  423    423   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  424    424   
        ];
  425    425   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  426    426   
        let required_headers = &["Content-Length"];
  427    427   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  428    428   
        let body = http_request.body().bytes().expect("body should be strict");
  429    429   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  430    430   
            body,
  431    431   
            "{\"Double\":1234.5}",
  432    432   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  433    433   
        ));
  434    434   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  435    435   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  436    436   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  437    437   
    }
  438    438   
  439    439   
    /// Serializes blob shapes
  440    440   
    /// Test ID: serializes_blob_shapes
  441    441   
    #[::tokio::test]
  442    442   
    #[::tracing_test::traced_test]
  443    443   
    async fn serializes_blob_shapes_request() {
  444         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         444  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  445    445   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  446    446   
  447    447   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  448    448   
        let result = client
  449    449   
            .kitchen_sink_operation()
  450    450   
            .set_blob(::std::option::Option::Some(::aws_smithy_types::Blob::new("binary-value")))
  451    451   
            .send()
  452    452   
            .await;
  453    453   
        let _ = dbg!(result);
  454    454   
        let http_request = request_receiver.expect_request();
  455    455   
        let expected_headers = [
  456    456   
            ("Content-Type", "application/x-amz-json-1.1"),
  457    457   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  458    458   
        ];
  459    459   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  460    460   
        let required_headers = &["Content-Length"];
  461    461   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  462    462   
        let body = http_request.body().bytes().expect("body should be strict");
  463    463   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  464    464   
            body,
  465    465   
            "{\"Blob\":\"YmluYXJ5LXZhbHVl\"}",
  466    466   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  467    467   
        ));
  468    468   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  469    469   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  470    470   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  471    471   
    }
  472    472   
  473    473   
    /// Serializes boolean shapes (true)
  474    474   
    /// Test ID: serializes_boolean_shapes_true
  475    475   
    #[::tokio::test]
  476    476   
    #[::tracing_test::traced_test]
  477    477   
    async fn serializes_boolean_shapes_true_request() {
  478         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         478  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  479    479   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  480    480   
  481    481   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  482    482   
        let result = client
  483    483   
            .kitchen_sink_operation()
  484    484   
            .set_boolean(::std::option::Option::Some(true))
  485    485   
            .send()
  486    486   
            .await;
  487    487   
        let _ = dbg!(result);
  488    488   
        let http_request = request_receiver.expect_request();
  489    489   
        let expected_headers = [
  490    490   
            ("Content-Type", "application/x-amz-json-1.1"),
  491    491   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  492    492   
        ];
  493    493   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  494    494   
        let required_headers = &["Content-Length"];
  495    495   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  496    496   
        let body = http_request.body().bytes().expect("body should be strict");
  497    497   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  498    498   
            body,
  499    499   
            "{\"Boolean\":true}",
  500    500   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  501    501   
        ));
  502    502   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  503    503   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  504    504   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  505    505   
    }
  506    506   
  507    507   
    /// Serializes boolean shapes (false)
  508    508   
    /// Test ID: serializes_boolean_shapes_false
  509    509   
    #[::tokio::test]
  510    510   
    #[::tracing_test::traced_test]
  511    511   
    async fn serializes_boolean_shapes_false_request() {
  512         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         512  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  513    513   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  514    514   
  515    515   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  516    516   
        let result = client
  517    517   
            .kitchen_sink_operation()
  518    518   
            .set_boolean(::std::option::Option::Some(false))
  519    519   
            .send()
  520    520   
            .await;
  521    521   
        let _ = dbg!(result);
  522    522   
        let http_request = request_receiver.expect_request();
  523    523   
        let expected_headers = [
  524    524   
            ("Content-Type", "application/x-amz-json-1.1"),
  525    525   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  526    526   
        ];
  527    527   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  528    528   
        let required_headers = &["Content-Length"];
  529    529   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  530    530   
        let body = http_request.body().bytes().expect("body should be strict");
  531    531   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  532    532   
            body,
  533    533   
            "{\"Boolean\":false}",
  534    534   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  535    535   
        ));
  536    536   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  537    537   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  538    538   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  539    539   
    }
  540    540   
  541    541   
    /// Serializes timestamp shapes
  542    542   
    /// Test ID: serializes_timestamp_shapes
  543    543   
    #[::tokio::test]
  544    544   
    #[::tracing_test::traced_test]
  545    545   
    async fn serializes_timestamp_shapes_request() {
  546         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         546  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  547    547   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  548    548   
  549    549   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  550    550   
        let result = client
  551    551   
            .kitchen_sink_operation()
  552    552   
            .set_timestamp(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  553    553   
                946845296, 0_f64,
  554    554   
            )))
  555    555   
            .send()
  556    556   
            .await;
  557    557   
        let _ = dbg!(result);
  558    558   
        let http_request = request_receiver.expect_request();
  559    559   
        let expected_headers = [
  560    560   
            ("Content-Type", "application/x-amz-json-1.1"),
  561    561   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  562    562   
        ];
  563    563   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  564    564   
        let required_headers = &["Content-Length"];
  565    565   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  566    566   
        let body = http_request.body().bytes().expect("body should be strict");
  567    567   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  568    568   
            body,
  569    569   
            "{\"Timestamp\":946845296}",
  570    570   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  571    571   
        ));
  572    572   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  573    573   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  574    574   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  575    575   
    }
  576    576   
  577    577   
    /// Serializes timestamp shapes with iso8601 timestampFormat
  578    578   
    /// Test ID: serializes_timestamp_shapes_with_iso8601_timestampformat
  579    579   
    #[::tokio::test]
  580    580   
    #[::tracing_test::traced_test]
  581    581   
    async fn serializes_timestamp_shapes_with_iso8601_timestampformat_request() {
  582         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         582  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  583    583   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  584    584   
  585    585   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  586    586   
        let result = client
  587    587   
            .kitchen_sink_operation()
  588    588   
            .set_iso8601_timestamp(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  589    589   
                946845296, 0_f64,
  590    590   
            )))
  591    591   
            .send()
  592    592   
            .await;
  593    593   
        let _ = dbg!(result);
  594    594   
        let http_request = request_receiver.expect_request();
  595    595   
        let expected_headers = [
  596    596   
            ("Content-Type", "application/x-amz-json-1.1"),
  597    597   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  598    598   
        ];
  599    599   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  600    600   
        let required_headers = &["Content-Length"];
  601    601   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  602    602   
        let body = http_request.body().bytes().expect("body should be strict");
  603    603   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  604    604   
            body,
  605    605   
            "{\"Iso8601Timestamp\":\"2000-01-02T20:34:56Z\"}",
  606    606   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  607    607   
        ));
  608    608   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  609    609   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  610    610   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  611    611   
    }
  612    612   
  613    613   
    /// Serializes timestamp shapes with httpdate timestampFormat
  614    614   
    /// Test ID: serializes_timestamp_shapes_with_httpdate_timestampformat
  615    615   
    #[::tokio::test]
  616    616   
    #[::tracing_test::traced_test]
  617    617   
    async fn serializes_timestamp_shapes_with_httpdate_timestampformat_request() {
  618         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         618  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  619    619   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  620    620   
  621    621   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  622    622   
        let result = client
  623    623   
            .kitchen_sink_operation()
  624    624   
            .set_httpdate_timestamp(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  625    625   
                946845296, 0_f64,
  626    626   
            )))
  627    627   
            .send()
  628    628   
            .await;
  629    629   
        let _ = dbg!(result);
  630    630   
        let http_request = request_receiver.expect_request();
  631    631   
        let expected_headers = [
  632    632   
            ("Content-Type", "application/x-amz-json-1.1"),
  633    633   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  634    634   
        ];
  635    635   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  636    636   
        let required_headers = &["Content-Length"];
  637    637   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  638    638   
        let body = http_request.body().bytes().expect("body should be strict");
  639    639   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  640    640   
            body,
  641    641   
            "{\"HttpdateTimestamp\":\"Sun, 02 Jan 2000 20:34:56 GMT\"}",
  642    642   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  643    643   
        ));
  644    644   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  645    645   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  646    646   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  647    647   
    }
  648    648   
  649    649   
    /// Serializes timestamp shapes with unixTimestamp timestampFormat
  650    650   
    /// Test ID: serializes_timestamp_shapes_with_unixtimestamp_timestampformat
  651    651   
    #[::tokio::test]
  652    652   
    #[::tracing_test::traced_test]
  653    653   
    async fn serializes_timestamp_shapes_with_unixtimestamp_timestampformat_request() {
  654         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         654  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  655    655   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  656    656   
  657    657   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  658    658   
        let result = client
  659    659   
            .kitchen_sink_operation()
  660    660   
            .set_unix_timestamp(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  661    661   
                946845296, 0_f64,
  662    662   
            )))
  663    663   
            .send()
  664    664   
            .await;
  665    665   
        let _ = dbg!(result);
  666    666   
        let http_request = request_receiver.expect_request();
  667    667   
        let expected_headers = [
  668    668   
            ("Content-Type", "application/x-amz-json-1.1"),
  669    669   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  670    670   
        ];
  671    671   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  672    672   
        let required_headers = &["Content-Length"];
  673    673   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  674    674   
        let body = http_request.body().bytes().expect("body should be strict");
  675    675   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  676    676   
            body,
  677    677   
            "{\"UnixTimestamp\":946845296}",
  678    678   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  679    679   
        ));
  680    680   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  681    681   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  682    682   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  683    683   
    }
  684    684   
  685    685   
    /// Serializes list shapes
  686    686   
    /// Test ID: serializes_list_shapes
  687    687   
    #[::tokio::test]
  688    688   
    #[::tracing_test::traced_test]
  689    689   
    async fn serializes_list_shapes_request() {
  690         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         690  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  691    691   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  692    692   
  693    693   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  694    694   
        let result = client
  695    695   
            .kitchen_sink_operation()
  696    696   
            .set_list_of_strings(::std::option::Option::Some(vec!["abc".to_owned(), "mno".to_owned(), "xyz".to_owned()]))
  697    697   
            .send()
  698    698   
            .await;
  699    699   
        let _ = dbg!(result);
  700    700   
        let http_request = request_receiver.expect_request();
  701    701   
        let expected_headers = [
  702    702   
            ("Content-Type", "application/x-amz-json-1.1"),
  703    703   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  704    704   
        ];
  705    705   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  706    706   
        let required_headers = &["Content-Length"];
  707    707   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  708    708   
        let body = http_request.body().bytes().expect("body should be strict");
  709    709   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  710    710   
            body,
  711    711   
            "{\"ListOfStrings\":[\"abc\",\"mno\",\"xyz\"]}",
  712    712   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  713    713   
        ));
  714    714   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  715    715   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  716    716   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  717    717   
    }
  718    718   
  719    719   
    /// Serializes empty list shapes
  720    720   
    /// Test ID: serializes_empty_list_shapes
  721    721   
    #[::tokio::test]
  722    722   
    #[::tracing_test::traced_test]
  723    723   
    async fn serializes_empty_list_shapes_request() {
  724         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         724  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  725    725   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  726    726   
  727    727   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  728    728   
        let result = client
  729    729   
            .kitchen_sink_operation()
  730    730   
            .set_list_of_strings(::std::option::Option::Some(vec![]))
  731    731   
            .send()
  732    732   
            .await;
  733    733   
        let _ = dbg!(result);
  734    734   
        let http_request = request_receiver.expect_request();
  735    735   
        let expected_headers = [
  736    736   
            ("Content-Type", "application/x-amz-json-1.1"),
  737    737   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  738    738   
        ];
  739    739   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  740    740   
        let required_headers = &["Content-Length"];
  741    741   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  742    742   
        let body = http_request.body().bytes().expect("body should be strict");
  743    743   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  744    744   
            body,
  745    745   
            "{\"ListOfStrings\":[]}",
  746    746   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  747    747   
        ));
  748    748   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  749    749   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  750    750   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  751    751   
    }
  752    752   
  753    753   
    /// Serializes list of map shapes
  754    754   
    /// Test ID: serializes_list_of_map_shapes
  755    755   
    #[::tokio::test]
  756    756   
    #[::tracing_test::traced_test]
  757    757   
    async fn serializes_list_of_map_shapes_request() {
  758         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         758  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  759    759   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  760    760   
  761    761   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  762    762   
        let result = client
  763    763   
            .kitchen_sink_operation()
  764    764   
            .set_list_of_maps_of_strings(::std::option::Option::Some(vec![
  765    765   
                {
  766    766   
                    let mut ret = ::std::collections::HashMap::new();
  767    767   
                    ret.insert("foo".to_owned(), "bar".to_owned());
  768    768   
                    ret
  769    769   
                },
  770    770   
                {
  771    771   
                    let mut ret = ::std::collections::HashMap::new();
  772    772   
                    ret.insert("abc".to_owned(), "xyz".to_owned());
  773    773   
                    ret
  774    774   
                },
  775    775   
                {
  776    776   
                    let mut ret = ::std::collections::HashMap::new();
  777    777   
                    ret.insert("red".to_owned(), "blue".to_owned());
  778    778   
                    ret
  779    779   
                },
  780    780   
            ]))
  781    781   
            .send()
  782    782   
            .await;
  783    783   
        let _ = dbg!(result);
  784    784   
        let http_request = request_receiver.expect_request();
  785    785   
        let expected_headers = [
  786    786   
            ("Content-Type", "application/x-amz-json-1.1"),
  787    787   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  788    788   
        ];
  789    789   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  790    790   
        let required_headers = &["Content-Length"];
  791    791   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  792    792   
        let body = http_request.body().bytes().expect("body should be strict");
  793    793   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  794    794   
            body,
  795    795   
            "{\"ListOfMapsOfStrings\":[{\"foo\":\"bar\"},{\"abc\":\"xyz\"},{\"red\":\"blue\"}]}",
  796    796   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  797    797   
        ));
  798    798   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  799    799   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  800    800   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  801    801   
    }
  802    802   
  803    803   
    /// Serializes list of structure shapes
  804    804   
    /// Test ID: serializes_list_of_structure_shapes
  805    805   
    #[::tokio::test]
  806    806   
    #[::tracing_test::traced_test]
  807    807   
    async fn serializes_list_of_structure_shapes_request() {
  808         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         808  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  809    809   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  810    810   
  811    811   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  812    812   
        let result = client
  813    813   
            .kitchen_sink_operation()
  814    814   
            .set_list_of_structs(::std::option::Option::Some(vec![
  815    815   
                crate::types::SimpleStruct::builder()
  816    816   
                    .set_value(::std::option::Option::Some("abc".to_owned()))
  817    817   
                    .build(),
  818    818   
                crate::types::SimpleStruct::builder()
  819    819   
                    .set_value(::std::option::Option::Some("mno".to_owned()))
  820    820   
                    .build(),
  821    821   
                crate::types::SimpleStruct::builder()
  822    822   
                    .set_value(::std::option::Option::Some("xyz".to_owned()))
  823    823   
                    .build(),
  824    824   
            ]))
  825    825   
            .send()
  826    826   
            .await;
  827    827   
        let _ = dbg!(result);
  828    828   
        let http_request = request_receiver.expect_request();
  829    829   
        let expected_headers = [
  830    830   
            ("Content-Type", "application/x-amz-json-1.1"),
  831    831   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  832    832   
        ];
  833    833   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  834    834   
        let required_headers = &["Content-Length"];
  835    835   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  836    836   
        let body = http_request.body().bytes().expect("body should be strict");
  837    837   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  838    838   
            body,
  839    839   
            "{\"ListOfStructs\":[{\"Value\":\"abc\"},{\"Value\":\"mno\"},{\"Value\":\"xyz\"}]}",
  840    840   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  841    841   
        ));
  842    842   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  843    843   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  844    844   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  845    845   
    }
  846    846   
  847    847   
    /// Serializes list of recursive structure shapes
  848    848   
    /// Test ID: serializes_list_of_recursive_structure_shapes
  849    849   
    #[::tokio::test]
  850    850   
    #[::tracing_test::traced_test]
  851    851   
    async fn serializes_list_of_recursive_structure_shapes_request() {
  852         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         852  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  853    853   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  854    854   
  855    855   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  856    856   
        let result = client
  857    857   
            .kitchen_sink_operation()
  858    858   
            .set_recursive_list(::std::option::Option::Some(vec![crate::types::KitchenSink::builder()
  859    859   
                .set_recursive_list(::std::option::Option::Some(vec![crate::types::KitchenSink::builder()
  860    860   
                    .set_recursive_list(::std::option::Option::Some(vec![crate::types::KitchenSink::builder()
  861    861   
                        .set_integer(::std::option::Option::Some(123))
  862    862   
                        .build()]))
  863    863   
                    .build()]))
  864    864   
                .build()]))
  865    865   
            .send()
  866    866   
            .await;
  867    867   
        let _ = dbg!(result);
  868    868   
        let http_request = request_receiver.expect_request();
  869    869   
        let expected_headers = [
  870    870   
            ("Content-Type", "application/x-amz-json-1.1"),
  871    871   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  872    872   
        ];
  873    873   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  874    874   
        let required_headers = &["Content-Length"];
  875    875   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  876    876   
        let body = http_request.body().bytes().expect("body should be strict");
  877    877   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  878    878   
            body,
  879    879   
            "{\"RecursiveList\":[{\"RecursiveList\":[{\"RecursiveList\":[{\"Integer\":123}]}]}]}",
  880    880   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  881    881   
        ));
  882    882   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  883    883   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  884    884   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  885    885   
    }
  886    886   
  887    887   
    /// Serializes map shapes
  888    888   
    /// Test ID: serializes_map_shapes
  889    889   
    #[::tokio::test]
  890    890   
    #[::tracing_test::traced_test]
  891    891   
    async fn serializes_map_shapes_request() {
  892         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         892  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  893    893   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  894    894   
  895    895   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  896    896   
        let result = client
  897    897   
            .kitchen_sink_operation()
  898    898   
            .set_map_of_strings(::std::option::Option::Some({
  899    899   
                let mut ret = ::std::collections::HashMap::new();
  900    900   
                ret.insert("abc".to_owned(), "xyz".to_owned());
  901    901   
                ret.insert("mno".to_owned(), "hjk".to_owned());
  902    902   
                ret
  903    903   
            }))
  904    904   
            .send()
  905    905   
            .await;
  906    906   
        let _ = dbg!(result);
  907    907   
        let http_request = request_receiver.expect_request();
  908    908   
        let expected_headers = [
  909    909   
            ("Content-Type", "application/x-amz-json-1.1"),
  910    910   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  911    911   
        ];
  912    912   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  913    913   
        let required_headers = &["Content-Length"];
  914    914   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  915    915   
        let body = http_request.body().bytes().expect("body should be strict");
  916    916   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  917    917   
            body,
  918    918   
            "{\"MapOfStrings\":{\"abc\":\"xyz\",\"mno\":\"hjk\"}}",
  919    919   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  920    920   
        ));
  921    921   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  922    922   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  923    923   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  924    924   
    }
  925    925   
  926    926   
    /// Serializes empty map shapes
  927    927   
    /// Test ID: serializes_empty_map_shapes
  928    928   
    #[::tokio::test]
  929    929   
    #[::tracing_test::traced_test]
  930    930   
    async fn serializes_empty_map_shapes_request() {
  931         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         931  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  932    932   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  933    933   
  934    934   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  935    935   
        let result = client
  936    936   
            .kitchen_sink_operation()
  937    937   
            .set_map_of_strings(::std::option::Option::Some(::std::collections::HashMap::new()))
  938    938   
            .send()
  939    939   
            .await;
  940    940   
        let _ = dbg!(result);
  941    941   
        let http_request = request_receiver.expect_request();
  942    942   
        let expected_headers = [
  943    943   
            ("Content-Type", "application/x-amz-json-1.1"),
  944    944   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  945    945   
        ];
  946    946   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  947    947   
        let required_headers = &["Content-Length"];
  948    948   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  949    949   
        let body = http_request.body().bytes().expect("body should be strict");
  950    950   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  951    951   
            body,
  952    952   
            "{\"MapOfStrings\":{}}",
  953    953   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  954    954   
        ));
  955    955   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  956    956   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  957    957   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  958    958   
    }
  959    959   
  960    960   
    /// Serializes map of list shapes
  961    961   
    /// Test ID: serializes_map_of_list_shapes
  962    962   
    #[::tokio::test]
  963    963   
    #[::tracing_test::traced_test]
  964    964   
    async fn serializes_map_of_list_shapes_request() {
  965         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         965  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  966    966   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  967    967   
  968    968   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  969    969   
        let result = client
  970    970   
            .kitchen_sink_operation()
  971    971   
            .set_map_of_lists_of_strings(::std::option::Option::Some({
  972    972   
                let mut ret = ::std::collections::HashMap::new();
  973    973   
                ret.insert("abc".to_owned(), vec!["abc".to_owned(), "xyz".to_owned()]);
  974    974   
                ret.insert("mno".to_owned(), vec!["xyz".to_owned(), "abc".to_owned()]);
  975    975   
                ret
  976    976   
            }))
  977    977   
            .send()
  978    978   
            .await;
  979    979   
        let _ = dbg!(result);
  980    980   
        let http_request = request_receiver.expect_request();
  981    981   
        let expected_headers = [
  982    982   
            ("Content-Type", "application/x-amz-json-1.1"),
  983    983   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
  984    984   
        ];
  985    985   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  986    986   
        let required_headers = &["Content-Length"];
  987    987   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
  988    988   
        let body = http_request.body().bytes().expect("body should be strict");
  989    989   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  990    990   
            body,
  991    991   
            "{\"MapOfListsOfStrings\":{\"abc\":[\"abc\",\"xyz\"],\"mno\":[\"xyz\",\"abc\"]}}",
  992    992   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  993    993   
        ));
  994    994   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  995    995   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  996    996   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  997    997   
    }
  998    998   
  999    999   
    /// Serializes map of structure shapes
 1000   1000   
    /// Test ID: serializes_map_of_structure_shapes
 1001   1001   
    #[::tokio::test]
 1002   1002   
    #[::tracing_test::traced_test]
 1003   1003   
    async fn serializes_map_of_structure_shapes_request() {
 1004         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
        1004  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
 1005   1005   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
 1006   1006   
 1007   1007   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
 1008   1008   
        let result = client
 1009   1009   
            .kitchen_sink_operation()
 1010   1010   
            .set_map_of_structs(::std::option::Option::Some({
 1011   1011   
                let mut ret = ::std::collections::HashMap::new();
 1012   1012   
                ret.insert(
 1013   1013   
                    "key1".to_owned(),
 1014   1014   
                    crate::types::SimpleStruct::builder()
 1015   1015   
                        .set_value(::std::option::Option::Some("value-1".to_owned()))
 1016   1016   
                        .build(),
 1017   1017   
                );
 1018   1018   
                ret.insert(
 1019   1019   
                    "key2".to_owned(),
 1020   1020   
                    crate::types::SimpleStruct::builder()
 1021   1021   
                        .set_value(::std::option::Option::Some("value-2".to_owned()))
 1022   1022   
                        .build(),
 1023   1023   
                );
 1024   1024   
                ret
 1025   1025   
            }))
 1026   1026   
            .send()
 1027   1027   
            .await;
 1028   1028   
        let _ = dbg!(result);
 1029   1029   
        let http_request = request_receiver.expect_request();
 1030   1030   
        let expected_headers = [
 1031   1031   
            ("Content-Type", "application/x-amz-json-1.1"),
 1032   1032   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
 1033   1033   
        ];
 1034   1034   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
 1035   1035   
        let required_headers = &["Content-Length"];
 1036   1036   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
 1037   1037   
        let body = http_request.body().bytes().expect("body should be strict");
 1038   1038   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
 1039   1039   
            body,
 1040   1040   
            "{\"MapOfStructs\":{\"key1\":{\"Value\":\"value-1\"},\"key2\":{\"Value\":\"value-2\"}}}",
 1041   1041   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
 1042   1042   
        ));
 1043   1043   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
 1044   1044   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
 1045   1045   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
 1046   1046   
    }
 1047   1047   
 1048   1048   
    /// Serializes map of recursive structure shapes
 1049   1049   
    /// Test ID: serializes_map_of_recursive_structure_shapes
 1050   1050   
    #[::tokio::test]
 1051   1051   
    #[::tracing_test::traced_test]
 1052   1052   
    async fn serializes_map_of_recursive_structure_shapes_request() {
 1053         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
        1053  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
 1054   1054   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
 1055   1055   
 1056   1056   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
 1057   1057   
        let result = client
 1058   1058   
            .kitchen_sink_operation()
 1059   1059   
            .set_recursive_map(::std::option::Option::Some({
 1060   1060   
                let mut ret = ::std::collections::HashMap::new();
 1061   1061   
                ret.insert(
 1062   1062   
                    "key1".to_owned(),
 1063   1063   
                    crate::types::KitchenSink::builder()
 1064   1064   
                        .set_recursive_map(::std::option::Option::Some({
 1065   1065   
                            let mut ret = ::std::collections::HashMap::new();
 1066   1066   
                            ret.insert(
 1067   1067   
                                "key2".to_owned(),
 1068   1068   
                                crate::types::KitchenSink::builder()
 1069   1069   
                                    .set_recursive_map(::std::option::Option::Some({
 1070   1070   
                                        let mut ret = ::std::collections::HashMap::new();
 1071   1071   
                                        ret.insert(
 1072   1072   
                                            "key3".to_owned(),
 1073   1073   
                                            crate::types::KitchenSink::builder()
 1074   1074   
                                                .set_boolean(::std::option::Option::Some(false))
 1075   1075   
                                                .build(),
 1076   1076   
                                        );
 1077   1077   
                                        ret
 1078   1078   
                                    }))
 1079   1079   
                                    .build(),
 1080   1080   
                            );
 1081   1081   
                            ret
 1082   1082   
                        }))
 1083   1083   
                        .build(),
 1084   1084   
                );
 1085   1085   
                ret
 1086   1086   
            }))
 1087   1087   
            .send()
 1088   1088   
            .await;
 1089   1089   
        let _ = dbg!(result);
 1090   1090   
        let http_request = request_receiver.expect_request();
 1091   1091   
        let expected_headers = [
 1092   1092   
            ("Content-Type", "application/x-amz-json-1.1"),
 1093   1093   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
 1094   1094   
        ];
 1095   1095   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
 1096   1096   
        let required_headers = &["Content-Length"];
 1097   1097   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
 1098   1098   
        let body = http_request.body().bytes().expect("body should be strict");
 1099   1099   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
 1100   1100   
            body,
 1101   1101   
            "{\"RecursiveMap\":{\"key1\":{\"RecursiveMap\":{\"key2\":{\"RecursiveMap\":{\"key3\":{\"Boolean\":false}}}}}}}",
 1102   1102   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
 1103   1103   
        ));
 1104   1104   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
 1105   1105   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
 1106   1106   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
 1107   1107   
    }
 1108   1108   
 1109   1109   
    /// Serializes structure shapes
 1110   1110   
    /// Test ID: serializes_structure_shapes
 1111   1111   
    #[::tokio::test]
 1112   1112   
    #[::tracing_test::traced_test]
 1113   1113   
    async fn serializes_structure_shapes_request() {
 1114         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
        1114  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
 1115   1115   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
 1116   1116   
 1117   1117   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
 1118   1118   
        let result = client
 1119   1119   
            .kitchen_sink_operation()
 1120   1120   
            .set_simple_struct(::std::option::Option::Some(
 1121   1121   
                crate::types::SimpleStruct::builder()
 1122   1122   
                    .set_value(::std::option::Option::Some("abc".to_owned()))
 1123   1123   
                    .build(),
 1124   1124   
            ))
 1125   1125   
            .send()
 1126   1126   
            .await;
 1127   1127   
        let _ = dbg!(result);
 1128   1128   
        let http_request = request_receiver.expect_request();
 1129   1129   
        let expected_headers = [
 1130   1130   
            ("Content-Type", "application/x-amz-json-1.1"),
 1131   1131   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
 1132   1132   
        ];
 1133   1133   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
 1134   1134   
        let required_headers = &["Content-Length"];
 1135   1135   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
 1136   1136   
        let body = http_request.body().bytes().expect("body should be strict");
 1137   1137   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
 1138   1138   
            body,
 1139   1139   
            "{\"SimpleStruct\":{\"Value\":\"abc\"}}",
 1140   1140   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
 1141   1141   
        ));
 1142   1142   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
 1143   1143   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
 1144   1144   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
 1145   1145   
    }
 1146   1146   
 1147   1147   
    /// Serializes structure members with locationName traits
 1148   1148   
    /// Test ID: serializes_structure_members_with_locationname_traits
 1149   1149   
    #[::tokio::test]
 1150   1150   
    #[::tracing_test::traced_test]
 1151   1151   
    async fn serializes_structure_members_with_locationname_traits_request() {
 1152         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
        1152  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
 1153   1153   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
 1154   1154   
 1155   1155   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
 1156   1156   
        let result = client
 1157   1157   
            .kitchen_sink_operation()
 1158   1158   
            .set_struct_with_json_name(::std::option::Option::Some(
 1159   1159   
                crate::types::StructWithJsonName::builder()
 1160   1160   
                    .set_value(::std::option::Option::Some("some-value".to_owned()))
 1161   1161   
                    .build(),
 1162   1162   
            ))
 1163   1163   
            .send()
 1164   1164   
            .await;
 1165   1165   
        let _ = dbg!(result);
 1166   1166   
        let http_request = request_receiver.expect_request();
 1167   1167   
        let expected_headers = [
 1168   1168   
            ("Content-Type", "application/x-amz-json-1.1"),
 1169   1169   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
 1170   1170   
        ];
 1171   1171   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
 1172   1172   
        let required_headers = &["Content-Length"];
 1173   1173   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
 1174   1174   
        let body = http_request.body().bytes().expect("body should be strict");
 1175   1175   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
 1176   1176   
            body,
 1177   1177   
            "{\"StructWithJsonName\":{\"Value\":\"some-value\"}}",
 1178   1178   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
 1179   1179   
        ));
 1180   1180   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
 1181   1181   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
 1182   1182   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
 1183   1183   
    }
 1184   1184   
 1185   1185   
    /// Serializes empty structure shapes
 1186   1186   
    /// Test ID: serializes_empty_structure_shapes
 1187   1187   
    #[::tokio::test]
 1188   1188   
    #[::tracing_test::traced_test]
 1189   1189   
    async fn serializes_empty_structure_shapes_request() {
 1190         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
        1190  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
 1191   1191   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
 1192   1192   
 1193   1193   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
 1194   1194   
        let result = client
 1195   1195   
            .kitchen_sink_operation()
 1196   1196   
            .set_simple_struct(::std::option::Option::Some(crate::types::SimpleStruct::builder().build()))
 1197   1197   
            .send()
 1198   1198   
            .await;
 1199   1199   
        let _ = dbg!(result);
 1200   1200   
        let http_request = request_receiver.expect_request();
 1201   1201   
        let expected_headers = [
 1202   1202   
            ("Content-Type", "application/x-amz-json-1.1"),
 1203   1203   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
 1204   1204   
        ];
 1205   1205   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
 1206   1206   
        let required_headers = &["Content-Length"];
 1207   1207   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
 1208   1208   
        let body = http_request.body().bytes().expect("body should be strict");
 1209   1209   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
 1210   1210   
            body,
 1211   1211   
            "{\"SimpleStruct\":{}}",
 1212   1212   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
 1213   1213   
        ));
 1214   1214   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
 1215   1215   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
 1216   1216   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
 1217   1217   
    }
 1218   1218   
 1219   1219   
    /// Serializes structure which have no members
 1220   1220   
    /// Test ID: serializes_structure_which_have_no_members
 1221   1221   
    #[::tokio::test]
 1222   1222   
    #[::tracing_test::traced_test]
 1223   1223   
    async fn serializes_structure_which_have_no_members_request() {
 1224         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
        1224  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
 1225   1225   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
 1226   1226   
 1227   1227   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
 1228   1228   
        let result = client
 1229   1229   
            .kitchen_sink_operation()
 1230   1230   
            .set_empty_struct(::std::option::Option::Some(crate::types::EmptyStruct::builder().build()))
 1231   1231   
            .send()
 1232   1232   
            .await;
 1233   1233   
        let _ = dbg!(result);
 1234   1234   
        let http_request = request_receiver.expect_request();
 1235   1235   
        let expected_headers = [
 1236   1236   
            ("Content-Type", "application/x-amz-json-1.1"),
 1237   1237   
            ("X-Amz-Target", "JsonProtocol.KitchenSinkOperation"),
 1238   1238   
        ];
 1239   1239   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
 1240   1240   
        let required_headers = &["Content-Length"];
 1241   1241   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::require_headers(http_request.headers(), required_headers));
 1242   1242   
        let body = http_request.body().bytes().expect("body should be strict");
 1243   1243   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
 1244   1244   
            body,
 1245   1245   
            "{\"EmptyStruct\":{}}",
 1246   1246   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
 1247   1247   
        ));
 1248   1248   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
 1249   1249   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
 1250   1250   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
 1251   1251   
    }
 1252   1252   
 1253   1253   
    /// Serializes recursive structure shapes
 1254   1254   
    /// Test ID: serializes_recursive_structure_shapes
 1255   1255   
    #[::tokio::test]
 1256   1256   
    #[::tracing_test::traced_test]
 1257   1257   
    async fn serializes_recursive_structure_shapes_request() {
 1258         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
        1258  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
 1259   1259   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
 1260   1260   
 1261   1261   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
 1262   1262   
        let result = client
 1263   1263   
            .kitchen_sink_operation()
 1264   1264   
            .set_string(::std::option::Option::Some("top-value".to_owned()))
 1265   1265   
            .set_boolean(::std::option::Option::Some(false))
 1266   1266   
            .set_recursive_struct(::std::option::Option::Some(::std::boxed::Box::new(
 1267   1267   
                crate::types::KitchenSink::builder()
 1268   1268   
                    .set_string(::std::option::Option::Some("nested-value".to_owned()))

tmp-codegen-diff/codegen-client-test/json_rpc11/rust-client-codegen/src/operation/null_operation.rs

@@ -206,206 +266,266 @@
  226    226   
  227    227   
#[allow(unreachable_code, unused_variables)]
  228    228   
#[cfg(test)]
  229    229   
mod null_operation_test {
  230    230   
  231    231   
    /// Null structure values are dropped
  232    232   
    /// Test ID: AwsJson11StructuresDontSerializeNullValues
  233    233   
    #[::tokio::test]
  234    234   
    #[::tracing_test::traced_test]
  235    235   
    async fn aws_json11_structures_dont_serialize_null_values_request() {
  236         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         236  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  237    237   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  238    238   
  239    239   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  240    240   
        let result = client.null_operation().set_string(::std::option::Option::None).send().await;
  241    241   
        let _ = dbg!(result);
  242    242   
        let http_request = request_receiver.expect_request();
  243    243   
        let expected_headers = [
  244    244   
            ("Content-Type", "application/x-amz-json-1.1"),
  245    245   
            ("X-Amz-Target", "JsonProtocol.NullOperation"),
  246    246   
        ];

tmp-codegen-diff/codegen-client-test/json_rpc11/rust-client-codegen/src/operation/operation_with_optional_input_output.rs

@@ -219,219 +307,307 @@
  239    239   
  240    240   
#[allow(unreachable_code, unused_variables)]
  241    241   
#[cfg(test)]
  242    242   
mod operation_with_optional_input_output_test {
  243    243   
  244    244   
    /// Can call operations with no input or output
  245    245   
    /// Test ID: can_call_operation_with_no_input_or_output
  246    246   
    #[::tokio::test]
  247    247   
    #[::tracing_test::traced_test]
  248    248   
    async fn can_call_operation_with_no_input_or_output_request() {
  249         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         249  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  250    250   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  251    251   
  252    252   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  253    253   
        let result = client.operation_with_optional_input_output().send().await;
  254    254   
        let _ = dbg!(result);
  255    255   
        let http_request = request_receiver.expect_request();
  256    256   
        let expected_headers = [
  257    257   
            ("Content-Type", "application/x-amz-json-1.1"),
  258    258   
            ("X-Amz-Target", "JsonProtocol.OperationWithOptionalInputOutput"),
  259    259   
        ];
  260    260   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  261    261   
        let body = http_request.body().bytes().expect("body should be strict");
  262    262   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  263    263   
            body,
  264    264   
            "{}",
  265    265   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  266    266   
        ));
  267    267   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  268    268   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  269    269   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  270    270   
    }
  271    271   
  272    272   
    /// Can invoke operations with optional input
  273    273   
    /// Test ID: can_call_operation_with_optional_input
  274    274   
    #[::tokio::test]
  275    275   
    #[::tracing_test::traced_test]
  276    276   
    async fn can_call_operation_with_optional_input_request() {
  277         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         277  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  278    278   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  279    279   
  280    280   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  281    281   
        let result = client
  282    282   
            .operation_with_optional_input_output()
  283    283   
            .set_value(::std::option::Option::Some("Hi".to_owned()))
  284    284   
            .send()
  285    285   
            .await;
  286    286   
        let _ = dbg!(result);
  287    287   
        let http_request = request_receiver.expect_request();

tmp-codegen-diff/codegen-client-test/json_rpc11/rust-client-codegen/src/operation/put_and_get_inline_documents.rs

@@ -215,215 +275,275 @@
  235    235   
  236    236   
#[allow(unreachable_code, unused_variables)]
  237    237   
#[cfg(test)]
  238    238   
mod put_and_get_inline_documents_test {
  239    239   
  240    240   
    /// Serializes inline documents in a JSON request.
  241    241   
    /// Test ID: PutAndGetInlineDocumentsInput
  242    242   
    #[::tokio::test]
  243    243   
    #[::tracing_test::traced_test]
  244    244   
    async fn put_and_get_inline_documents_input_request() {
  245         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         245  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  246    246   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  247    247   
  248    248   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  249    249   
        let result = client
  250    250   
            .put_and_get_inline_documents()
  251    251   
            .set_inline_document(::std::option::Option::Some({
  252    252   
                let json_bytes = br#"{
  253    253   
                        "foo": "bar"
  254    254   
                    }"#;
  255    255   
                let mut tokens = ::aws_smithy_json::deserialize::json_token_iter(json_bytes).peekable();

tmp-codegen-diff/codegen-client-test/json_rpc11/rust-client-codegen/src/operation/put_with_content_encoding.rs

@@ -217,217 +305,305 @@
  237    237   
  238    238   
#[allow(unreachable_code, unused_variables)]
  239    239   
#[cfg(test)]
  240    240   
mod put_with_content_encoding_test {
  241    241   
  242    242   
    /// Compression algorithm encoding is appended to the Content-Encoding header.
  243    243   
    /// Test ID: SDKAppliedContentEncoding_awsJson1_1
  244    244   
    #[::tokio::test]
  245    245   
    #[::tracing_test::traced_test]
  246    246   
    async fn sdk_applied_content_encoding_aws_json1_1_request() {
  247         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         247  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  248    248   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  249    249   
  250    250   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  251    251   
        let result = client.put_with_content_encoding()
  252    252   
        .set_data(
  253    253   
            ::std::option::Option::Some(
  254    254   
                "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\n".to_owned()
  255    255   
            )
  256    256   
        )
  257    257   
        .send().await;
  258    258   
        let _ = dbg!(result);
  259    259   
        let http_request = request_receiver.expect_request();
  260    260   
        let expected_headers = [("Content-Encoding", "gzip")];
  261    261   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  262    262   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  263    263   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  264    264   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  265    265   
    }
  266    266   
  267    267   
    /// Compression algorithm encoding is appended to the Content-Encoding header, and the
  268    268   
    /// user-provided content-encoding is NOT in the Content-Encoding header since HTTP binding
  269    269   
    /// traits are ignored in the awsJson1_1 protocol.
  270    270   
    ///
  271    271   
    /// Test ID: SDKAppendsGzipAndIgnoresHttpProvidedEncoding_awsJson1_1
  272    272   
    #[::tokio::test]
  273    273   
    #[::tracing_test::traced_test]
  274    274   
    async fn sdk_appends_gzip_and_ignores_http_provided_encoding_aws_json1_1_request() {
  275         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         275  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  276    276   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  277    277   
  278    278   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  279    279   
        let result = client.put_with_content_encoding()
  280    280   
        .set_encoding(
  281    281   
            ::std::option::Option::Some(
  282    282   
                "custom".to_owned()
  283    283   
            )
  284    284   
        )
  285    285   
        .set_data(

tmp-codegen-diff/codegen-client-test/json_rpc11/rust-client-codegen/src/operation/simple_scalar_properties.rs

@@ -216,216 +350,350 @@
  236    236   
#[allow(unreachable_code, unused_variables)]
  237    237   
#[cfg(test)]
  238    238   
mod simple_scalar_properties_test {
  239    239   
    use ::aws_smithy_protocol_test::FloatEquals;
  240    240   
  241    241   
    /// Supports handling NaN float values.
  242    242   
    /// Test ID: AwsJson11SupportsNaNFloatInputs
  243    243   
    #[::tokio::test]
  244    244   
    #[::tracing_test::traced_test]
  245    245   
    async fn aws_json11_supports_na_n_float_inputs_request() {
  246         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         246  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  247    247   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  248    248   
  249    249   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  250    250   
        let result = client
  251    251   
            .simple_scalar_properties()
  252    252   
            .set_float_value(::std::option::Option::Some(
  253    253   
                <f32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive("NaN").expect("invalid string for number"),
  254    254   
            ))
  255    255   
            .set_double_value(::std::option::Option::Some(
  256    256   
                <f64 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive("NaN").expect("invalid string for number"),
  257    257   
            ))
  258    258   
            .send()
  259    259   
            .await;
  260    260   
        let _ = dbg!(result);
  261    261   
        let http_request = request_receiver.expect_request();
  262    262   
        let expected_headers = [
  263    263   
            ("Content-Type", "application/x-amz-json-1.1"),
  264    264   
            ("X-Amz-Target", "JsonProtocol.SimpleScalarProperties"),
  265    265   
        ];
  266    266   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  267    267   
        let body = http_request.body().bytes().expect("body should be strict");
  268    268   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  269    269   
            body,
  270    270   
            "{\n    \"floatValue\": \"NaN\",\n    \"doubleValue\": \"NaN\"\n}",
  271    271   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  272    272   
        ));
  273    273   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  274    274   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  275    275   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  276    276   
    }
  277    277   
  278    278   
    /// Supports handling Infinity float values.
  279    279   
    /// Test ID: AwsJson11SupportsInfinityFloatInputs
  280    280   
    #[::tokio::test]
  281    281   
    #[::tracing_test::traced_test]
  282    282   
    async fn aws_json11_supports_infinity_float_inputs_request() {
  283         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         283  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  284    284   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  285    285   
  286    286   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  287    287   
        let result = client
  288    288   
            .simple_scalar_properties()
  289    289   
            .set_float_value(::std::option::Option::Some(
  290    290   
                <f32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive("Infinity").expect("invalid string for number"),
  291    291   
            ))
  292    292   
            .set_double_value(::std::option::Option::Some(
  293    293   
                <f64 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive("Infinity").expect("invalid string for number"),
  294    294   
            ))
  295    295   
            .send()
  296    296   
            .await;
  297    297   
        let _ = dbg!(result);
  298    298   
        let http_request = request_receiver.expect_request();
  299    299   
        let expected_headers = [
  300    300   
            ("Content-Type", "application/x-amz-json-1.1"),
  301    301   
            ("X-Amz-Target", "JsonProtocol.SimpleScalarProperties"),
  302    302   
        ];
  303    303   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  304    304   
        let body = http_request.body().bytes().expect("body should be strict");
  305    305   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  306    306   
            body,
  307    307   
            "{\n    \"floatValue\": \"Infinity\",\n    \"doubleValue\": \"Infinity\"\n}",
  308    308   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  309    309   
        ));
  310    310   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  311    311   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  312    312   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  313    313   
    }
  314    314   
  315    315   
    /// Supports handling -Infinity float values.
  316    316   
    /// Test ID: AwsJson11SupportsNegativeInfinityFloatInputs
  317    317   
    #[::tokio::test]
  318    318   
    #[::tracing_test::traced_test]
  319    319   
    async fn aws_json11_supports_negative_infinity_float_inputs_request() {
  320         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         320  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  321    321   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  322    322   
  323    323   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  324    324   
        let result = client
  325    325   
            .simple_scalar_properties()
  326    326   
            .set_float_value(::std::option::Option::Some(
  327    327   
                <f32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive("-Infinity").expect("invalid string for number"),
  328    328   
            ))
  329    329   
            .set_double_value(::std::option::Option::Some(
  330    330   
                <f64 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive("-Infinity").expect("invalid string for number"),

tmp-codegen-diff/codegen-client-test/json_rpc11/rust-client-codegen/src/operation/sparse_nulls_operation.rs

@@ -209,209 +305,305 @@
  229    229   
  230    230   
#[allow(unreachable_code, unused_variables)]
  231    231   
#[cfg(test)]
  232    232   
mod sparse_nulls_operation_test {
  233    233   
  234    234   
    /// Serializes null values in maps
  235    235   
    /// Test ID: AwsJson11SparseMapsSerializeNullValues
  236    236   
    #[::tokio::test]
  237    237   
    #[::tracing_test::traced_test]
  238    238   
    async fn aws_json11_sparse_maps_serialize_null_values_request() {
  239         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         239  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  240    240   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  241    241   
  242    242   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  243    243   
        let result = client
  244    244   
            .sparse_nulls_operation()
  245    245   
            .set_sparse_string_map(::std::option::Option::Some({
  246    246   
                let mut ret = ::std::collections::HashMap::new();
  247    247   
                ret.insert("foo".to_owned(), ::std::option::Option::None);
  248    248   
                ret
  249    249   
            }))
  250    250   
            .send()
  251    251   
            .await;
  252    252   
        let _ = dbg!(result);
  253    253   
        let http_request = request_receiver.expect_request();
  254    254   
        let expected_headers = [
  255    255   
            ("Content-Type", "application/x-amz-json-1.1"),
  256    256   
            ("X-Amz-Target", "JsonProtocol.SparseNullsOperation"),
  257    257   
        ];
  258    258   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  259    259   
        let body = http_request.body().bytes().expect("body should be strict");
  260    260   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
  261    261   
            body,
  262    262   
            "{\n    \"sparseStringMap\": {\n        \"foo\": null\n    }\n}",
  263    263   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
  264    264   
        ));
  265    265   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  266    266   
        ::pretty_assertions::assert_eq!(http_request.method(), "POST", "method was incorrect");
  267    267   
        ::pretty_assertions::assert_eq!(uri.path(), "/", "path was incorrect");
  268    268   
    }
  269    269   
  270    270   
    /// Serializes null values in lists
  271    271   
    /// Test ID: AwsJson11SparseListsSerializeNull
  272    272   
    #[::tokio::test]
  273    273   
    #[::tracing_test::traced_test]
  274    274   
    async fn aws_json11_sparse_lists_serialize_null_request() {
  275         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         275  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  276    276   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  277    277   
  278    278   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  279    279   
        let result = client
  280    280   
            .sparse_nulls_operation()
  281    281   
            .set_sparse_string_list(::std::option::Option::Some(vec![::std::option::Option::None]))
  282    282   
            .send()
  283    283   
            .await;
  284    284   
        let _ = dbg!(result);
  285    285   
        let http_request = request_receiver.expect_request();

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

@@ -16,16 +49,50 @@
   36     36   
[dev-dependencies.tracing]
   37     37   
version = "0.1"
   38     38   
[dev-dependencies.tracing-test]
   39     39   
version = "0.2.5"
   40     40   
features = ["no-env-filter"]
   41     41   
[features]
   42     42   
test-util = ["aws-smithy-runtime/test-util"]
   43     43   
rt-tokio = ["aws-smithy-async/rt-tokio", "aws-smithy-types/rt-tokio"]
   44     44   
behavior-version-latest = []
   45     45   
rustls = ["aws-smithy-runtime/tls-rustls"]
          46  +
default-https-client = ["aws-smithy-runtime/default-https-client"]
   46     47   
gated-tests = []
   47         -
default = ["rt-tokio", "rustls"]
          48  +
default = ["rt-tokio", "rustls", "default-https-client"]
   48     49   
   49     50   

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

@@ -4,4 +37,38 @@
   24     24   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-types"
   25     25   
[dependencies.bytes]
   26     26   
version = "1.4.0"
   27     27   
[dependencies.http]
   28     28   
version = "0.2.9"
   29     29   
[features]
   30     30   
test-util = ["aws-smithy-runtime/test-util"]
   31     31   
rt-tokio = ["aws-smithy-async/rt-tokio", "aws-smithy-types/rt-tokio"]
   32     32   
behavior-version-latest = []
   33     33   
rustls = ["aws-smithy-runtime/tls-rustls"]
          34  +
default-https-client = ["aws-smithy-runtime/default-https-client"]
   34     35   
gated-tests = []
   35         -
default = ["rt-tokio", "rustls"]
          36  +
default = ["rt-tokio", "rustls", "default-https-client"]
   36     37   
   37     38   

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

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

tmp-codegen-diff/codegen-client-test/naming_test_ops/rust-client-codegen/src/operation/reserved_words_as_members.rs

@@ -208,208 +268,268 @@
  228    228   
// operationContextParams trait. They target the operation's input shape.
  229    229   
  230    230   
#[allow(unreachable_code, unused_variables)]
  231    231   
#[cfg(test)]
  232    232   
mod reserved_words_as_members_test {
  233    233   
  234    234   
    /// Test ID: reserved_words
  235    235   
    #[::tokio::test]
  236    236   
    #[::tracing_test::traced_test]
  237    237   
    async fn reserved_words_request() {
  238         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         238  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  239    239   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  240    240   
  241    241   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  242    242   
        let result = client
  243    243   
            .reserved_words_as_members()
  244    244   
            .set_as(::std::option::Option::Some(5))
  245    245   
            .set_async(::std::option::Option::Some(true))
  246    246   
            .send()
  247    247   
            .await;
  248    248   
        let _ = dbg!(result);

tmp-codegen-diff/codegen-client-test/naming_test_ops/rust-client-codegen/src/operation/structure_name_punning.rs

@@ -207,207 +267,267 @@
  227    227   
// operationContextParams trait. They target the operation's input shape.
  228    228   
  229    229   
#[allow(unreachable_code, unused_variables)]
  230    230   
#[cfg(test)]
  231    231   
mod structure_name_punning_test {
  232    232   
  233    233   
    /// Test ID: structure_punning
  234    234   
    #[::tokio::test]
  235    235   
    #[::tracing_test::traced_test]
  236    236   
    async fn structure_punning_request() {
  237         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         237  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  238    238   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  239    239   
  240    240   
        let client = crate::Client::from_conf(config_builder.http_client(http_client).build());
  241    241   
        let result = client
  242    242   
            .structure_name_punning()
  243    243   
            .set_regular_string(::std::option::Option::Some("hello!".to_owned()))
  244    244   
            .send()
  245    245   
            .await;
  246    246   
        let _ = dbg!(result);
  247    247   
        let http_request = request_receiver.expect_request();

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

@@ -4,4 +37,38 @@
   24     24   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-types"
   25     25   
[dependencies.bytes]
   26     26   
version = "1.4.0"
   27     27   
[dependencies.http]
   28     28   
version = "0.2.9"
   29     29   
[features]
   30     30   
test-util = ["aws-smithy-runtime/test-util"]
   31     31   
rt-tokio = ["aws-smithy-async/rt-tokio", "aws-smithy-types/rt-tokio"]
   32     32   
behavior-version-latest = []
   33     33   
rustls = ["aws-smithy-runtime/tls-rustls"]
          34  +
default-https-client = ["aws-smithy-runtime/default-https-client"]
   34     35   
gated-tests = []
   35         -
default = ["rt-tokio", "rustls"]
          36  +
default = ["rt-tokio", "rustls", "default-https-client"]
   36     37   
   37     38   

tmp-codegen-diff/codegen-client-test/pokemon-service-awsjson-client/rust-client-codegen/Cargo.toml

@@ -13,13 +46,47 @@
   33     33   
[dependencies.hyper]
   34     34   
version = "0.14.26"
   35     35   
features = ["stream"]
   36     36   
[dependencies.tracing]
   37     37   
version = "0.1"
   38     38   
[features]
   39     39   
test-util = ["aws-smithy-runtime/test-util"]
   40     40   
rt-tokio = ["aws-smithy-async/rt-tokio", "aws-smithy-types/rt-tokio"]
   41     41   
behavior-version-latest = []
   42     42   
rustls = ["aws-smithy-runtime/tls-rustls"]
          43  +
default-https-client = ["aws-smithy-runtime/default-https-client"]
   43     44   
gated-tests = []
   44         -
default = ["rt-tokio", "rustls"]
          45  +
default = ["rt-tokio", "rustls", "default-https-client"]
   45     46   
   46     47