in lambda-runtime/src/types.rs [218:247]
fn context_with_client_context_resolves() {
let mut custom = HashMap::new();
custom.insert("key".to_string(), "value".to_string());
let mut environment = HashMap::new();
environment.insert("key".to_string(), "value".to_string());
let client_context = ClientContext {
client: ClientApplication {
installation_id: String::new(),
app_title: String::new(),
app_version_name: String::new(),
app_version_code: String::new(),
app_package_name: String::new(),
},
custom,
environment,
};
let client_context_str = serde_json::to_string(&client_context).unwrap();
let mut headers = HeaderMap::new();
headers.insert("lambda-runtime-aws-request-id", HeaderValue::from_static("my-id"));
headers.insert("lambda-runtime-deadline-ms", HeaderValue::from_static("123"));
headers.insert(
"lambda-runtime-client-context",
HeaderValue::from_str(&client_context_str).unwrap(),
);
let tried = Context::try_from(headers);
assert!(tried.is_ok());
let tried = tried.unwrap();
assert!(tried.client_context.is_some());
assert_eq!(tried.client_context.unwrap(), client_context);
}