use super::debug_still_needed_contracts::LoggingSchemaDebugStillNeeded;
pub(super) fn build_logging_schema_debug_still_needed_output(
required_missing_tables: Vec<String>,
optional_missing_tables: Vec<String>,
required_missing_columns: Vec<String>,
optional_missing_columns: Vec<String>,
relation_type_mismatches: Vec<String>,
) -> LoggingSchemaDebugStillNeeded {
LoggingSchemaDebugStillNeeded {
required_missing_tables,
optional_missing_tables,
required_missing_columns,
optional_missing_columns,
relation_type_mismatches,
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn still_needed_output_preserves_normalized_requirement_lists() {
let still_needed = build_logging_schema_debug_still_needed_output(
vec!["public.gateway_request_log".to_string()],
vec!["public.route_request_log".to_string()],
vec!["public.gateway_request_log.request_id".to_string()],
vec!["public.route_request_log.route_path".to_string()],
vec!["public.route_request_log".to_string()],
);
assert_eq!(
still_needed.required_missing_tables,
vec!["public.gateway_request_log".to_string()]
);
assert_eq!(
still_needed.optional_missing_tables,
vec!["public.route_request_log".to_string()]
);
assert_eq!(
still_needed.required_missing_columns,
vec!["public.gateway_request_log.request_id".to_string()]
);
assert_eq!(
still_needed.optional_missing_columns,
vec!["public.route_request_log.route_path".to_string()]
);
assert_eq!(
still_needed.relation_type_mismatches,
vec!["public.route_request_log".to_string()]
);
}
}