re-order fields of log handler config to improve debugging output
This commit is contained in:
@@ -51,18 +51,18 @@ impl fmt::Display for SuppressionReason {
|
|||||||
#[derive(Clone, Conf, Debug)]
|
#[derive(Clone, Conf, Debug)]
|
||||||
#[conf(serde)]
|
#[conf(serde)]
|
||||||
pub struct LogHandlerConfig {
|
pub struct LogHandlerConfig {
|
||||||
/// Routes for matching and rate-limiting log messages.
|
|
||||||
#[conf(long, env, value_parser = serde_json::from_str, default_value = "[]", serde(alias = "route"))]
|
|
||||||
pub routes: Vec<Route>,
|
|
||||||
/// Overall rate limits applied after route checks pass.
|
|
||||||
#[conf(long, env, value_parser = serde_json::from_str, default_value = "[]")]
|
|
||||||
pub overall_limits: Vec<Limit>,
|
|
||||||
/// Number of recent log messages to buffer per origin
|
/// Number of recent log messages to buffer per origin
|
||||||
#[conf(long, env, default_value = "64")]
|
#[conf(long, env, default_value = "64")]
|
||||||
pub log_buffer_size: usize,
|
pub log_buffer_size: usize,
|
||||||
/// Log message formatting options.
|
/// Log message formatting options.
|
||||||
#[conf(flatten)]
|
#[conf(flatten)]
|
||||||
pub log_format: LogFormatConfig,
|
pub log_format: LogFormatConfig,
|
||||||
|
/// Routes for matching and rate-limiting log messages.
|
||||||
|
#[conf(long, env, value_parser = serde_json::from_str, default_value = "[]", serde(alias = "route"))]
|
||||||
|
pub routes: Vec<Route>,
|
||||||
|
/// Overall rate limits applied after route checks pass.
|
||||||
|
#[conf(long, env, value_parser = serde_json::from_str, default_value = "[]", serde(alias = "overall_limit"))]
|
||||||
|
pub overall_limits: Vec<Limit>,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The log handler takes log messages and decides what to do with them.
|
/// The log handler takes log messages and decides what to do with them.
|
||||||
|
|||||||
@@ -464,28 +464,38 @@ mod tests {
|
|||||||
assert!(UUID1.parse::<Uuid>().is_ok());
|
assert!(UUID1.parse::<Uuid>().is_ok());
|
||||||
assert!("not-a-uuid".parse::<Uuid>().is_err());
|
assert!("not-a-uuid".parse::<Uuid>().is_err());
|
||||||
assert!("12345678-1234-1234-1234-12345678".parse::<Uuid>().is_err()); // too short
|
assert!("12345678-1234-1234-1234-12345678".parse::<Uuid>().is_err()); // too short
|
||||||
assert!("12345678-1234-1234-1234-123456789abcdef".parse::<Uuid>().is_err()); // too long
|
assert!(
|
||||||
assert!("12345678-1234-1234-1234-123456789xyz".parse::<Uuid>().is_err()); // non-hex
|
"12345678-1234-1234-1234-123456789abcdef"
|
||||||
|
.parse::<Uuid>()
|
||||||
|
.is_err()
|
||||||
|
); // too long
|
||||||
|
assert!(
|
||||||
|
"12345678-1234-1234-1234-123456789xyz"
|
||||||
|
.parse::<Uuid>()
|
||||||
|
.is_err()
|
||||||
|
); // non-hex
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_safety_number_validation() {
|
fn test_safety_number_validation() {
|
||||||
assert!(SAFETY1.parse::<SafetyNumber>().is_ok());
|
assert!(SAFETY1.parse::<SafetyNumber>().is_ok());
|
||||||
// With whitespace (common format)
|
// With whitespace (common format)
|
||||||
assert!("12345 67890 12345 67890 12345 67890 12345 67890 12345 67890 12345 67890"
|
assert!(
|
||||||
.parse::<SafetyNumber>()
|
"12345 67890 12345 67890 12345 67890 12345 67890 12345 67890 12345 67890"
|
||||||
.is_ok());
|
.parse::<SafetyNumber>()
|
||||||
|
.is_ok()
|
||||||
|
);
|
||||||
assert!("12345".parse::<SafetyNumber>().is_err()); // too short
|
assert!("12345".parse::<SafetyNumber>().is_err()); // too short
|
||||||
assert!("12345678901234567890123456789012345678901234567890123456789x"
|
assert!(
|
||||||
.parse::<SafetyNumber>()
|
"12345678901234567890123456789012345678901234567890123456789x"
|
||||||
.is_err()); // non-digit
|
.parse::<SafetyNumber>()
|
||||||
|
.is_err()
|
||||||
|
); // non-digit
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_deserialize_map() {
|
fn test_deserialize_map() {
|
||||||
let json = format!(
|
let json = format!(r#"{{"{UUID1}": ["{SAFETY1}", "{SAFETY2}"], "{UUID2}": []}}"#);
|
||||||
r#"{{"{UUID1}": ["{SAFETY1}", "{SAFETY2}"], "{UUID2}": []}}"#
|
|
||||||
);
|
|
||||||
let trust_set: SignalTrustSet = serde_json::from_str(&json).unwrap();
|
let trust_set: SignalTrustSet = serde_json::from_str(&json).unwrap();
|
||||||
|
|
||||||
assert_eq!(trust_set.len(), 2);
|
assert_eq!(trust_set.len(), 2);
|
||||||
|
|||||||
Reference in New Issue
Block a user