File tree 1 file changed +15
-0
lines changed
lambda-events/src/event/alb
1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ pub struct AlbTargetGroupRequest {
17
17
#[ serde( default ) ]
18
18
pub path : Option < String > ,
19
19
#[ serde( default ) ]
20
+ #[ serde( serialize_with = "query_map::serde::aws_api_gateway_v1::serialize_query_string_parameters" ) ]
20
21
pub query_string_parameters : QueryMap ,
21
22
#[ serde( default ) ]
22
23
pub multi_value_query_string_parameters : QueryMap ,
@@ -70,6 +71,7 @@ pub struct AlbTargetGroupResponse {
70
71
#[ cfg( test) ]
71
72
mod test {
72
73
use super :: * ;
74
+ use serde_json:: Value ;
73
75
74
76
#[ test]
75
77
#[ cfg( feature = "alb" ) ]
@@ -91,6 +93,19 @@ mod test {
91
93
assert_eq ! ( parsed, reparsed) ;
92
94
}
93
95
96
+ #[ test]
97
+ #[ cfg( feature = "alb" ) ]
98
+ fn ensure_alb_lambda_target_request_query_string_parameter_value_is_string ( ) {
99
+ let data = include_bytes ! ( "../../fixtures/example-alb-lambda-target-request-headers-only.json" ) ;
100
+ let parsed: AlbTargetGroupRequest = serde_json:: from_slice ( data) . unwrap ( ) ;
101
+ let output: String = serde_json:: to_string ( & parsed) . unwrap ( ) ;
102
+ let reparsed: Value = serde_json:: from_slice ( output. as_bytes ( ) ) . unwrap ( ) ;
103
+ assert_eq ! (
104
+ reparsed[ "queryStringParameters" ] [ "key" ] ,
105
+ Value :: String ( "hello" . to_string( ) )
106
+ ) ;
107
+ }
108
+
94
109
#[ test]
95
110
#[ cfg( feature = "alb" ) ]
96
111
fn example_alb_lambda_target_response ( ) {
You can’t perform that action at this time.
0 commit comments