in proxy_agent_extension/src/common.rs [331:373]
fn test_handler_env_file() {
//Set the temp directory for handler environment json file
let mut temp_test_path = env::temp_dir();
temp_test_path.push("test_handler_env_file");
//Clean up and ignore the clean up errors
_ = fs::remove_dir_all(&temp_test_path);
_ = misc_helpers::try_create_folder(&temp_test_path);
//Add HandlerEnvironment.json in the temp directory
let handler_env_file = temp_test_path.to_path_buf().join("HandlerEnvironment.json");
//Create raw handler environment json string
let json_handler_linux: &str = r#"[{
"version": 1.0,
"handlerEnvironment": {
"logFolder": "log",
"configFolder": "config",
"statusFolder": "status",
"heartbeatFile": "heartbeat.json",
"eventsFolder": "test_kusto"
}
}]"#;
//Deserialize handler environment json string
let handler_env_obj: Vec<Handler> = serde_json::from_str(json_handler_linux).unwrap();
//Write the deserialized json object to HandlerEnvironment.json file
_ = misc_helpers::json_write_to_file(&handler_env_obj, &handler_env_file);
let handler_env = super::get_handler_environment(&temp_test_path);
assert_eq!(handler_env.logFolder, "log".to_string());
assert_eq!(handler_env.configFolder, "config".to_string());
assert_eq!(handler_env.statusFolder, "status".to_string());
assert_eq!(handler_env.heartbeatFile, "heartbeat.json".to_string());
assert_eq!(handler_env.eventsFolder, "test_kusto".to_string());
assert_eq!(handler_env.deploymentid, None);
assert_eq!(handler_env.rolename, None);
assert_eq!(handler_env.instance, None);
assert_eq!(handler_env.hostResolverAddress, None);
_ = fs::remove_dir_all(&temp_test_path);
}