extern crate rusoto_mock;
use ::{CloudFormation, CloudFormationClient, ListStacksInput};
use rusoto_core::{Region, SignedRequest};
use self::rusoto_mock::*;
#[test]
fn should_serialize_list_parameters_in_query_string() {
let mock = MockRequestDispatcher::with_status(200)
.with_body(r#"<?xml version="1.0" encoding="UTF-8"?>
<ListStacksResponse xmlns="http://cloudformation.amazonaws.com/doc/2010-05-15/">
<ListStacksResult>
<StackSummaries>
<member>
<StackId>
arn:aws:cloudformation:us-east-1:1234567:stack/TestCreate1/aaaaa
</StackId>
<StackStatus>CREATE_IN_PROGRESS</StackStatus>
<StackName>vpc1</StackName>
<CreationTime>2011-05-23T15:47:44Z</CreationTime>
<TemplateDescription>
Creates one EC2 instance and a load balancer.
</TemplateDescription>
</member>
<member>
<StackId>
arn:aws:cloudformation:us-east-1:1234567:stack/TestDelete2/bbbbb
</StackId>
<StackStatus>DELETE_COMPLETE</StackStatus>
<DeletionTime>2011-03-10T16:20:51Z</DeletionTime>
<StackName>WP1</StackName>
<CreationTime>2011-03-05T19:57:58Z</CreationTime>
<TemplateDescription>
A simple basic Cloudformation Template.
</TemplateDescription>
</member>
</StackSummaries>
</ListStacksResult>
<ResponseMetadata>
<RequestId>b9b4b068-3a41-11e5-94eb-example</RequestId>
</ResponseMetadata>
</ListStacksResponse>"#)
.with_request_checker(|request: &SignedRequest| {
assert_eq!("POST", request.method);
assert_eq!("/", request.path);
assert_eq!(None, request.payload);
assert_eq!(Some(&Some("CREATE_IN_PROGRESS".to_owned())),
request.params.get("StackStatusFilter.member.1"));
assert_eq!(Some(&Some("DELETE_COMPLETE".to_owned())),
request.params.get("StackStatusFilter.member.2"));
});
let filters = vec!["CREATE_IN_PROGRESS".to_owned(), "DELETE_COMPLETE".to_owned()];
let request = ListStacksInput { stack_status_filter: Some(filters), ..Default::default() };
let client = CloudFormationClient::new(mock, MockCredentialsProvider, Region::UsEast1);
let _result = client.list_stacks(&request).sync().unwrap();
}