fn test_handler_env_file()

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);
    }