From 72b4f00f9f242040c012f2e9ab59a6de6a789b1e Mon Sep 17 00:00:00 2001 From: Cijo Thomas Date: Sun, 12 May 2024 09:58:39 -0700 Subject: [PATCH 1/3] Add Resource validation to Log SDK test --- opentelemetry-sdk/src/logs/mod.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/opentelemetry-sdk/src/logs/mod.rs b/opentelemetry-sdk/src/logs/mod.rs index f5cd2e2da7..82860ac8b4 100644 --- a/opentelemetry-sdk/src/logs/mod.rs +++ b/opentelemetry-sdk/src/logs/mod.rs @@ -17,8 +17,10 @@ pub use record::{LogRecord, TraceContext}; mod tests { use super::*; use crate::testing::logs::InMemoryLogsExporter; + use crate::Resource; use opentelemetry::logs::LogRecord; use opentelemetry::logs::{Logger, LoggerProvider as _, Severity}; + use opentelemetry::Value; use opentelemetry::{logs::AnyValue, Key, KeyValue}; use std::collections::HashMap; @@ -27,6 +29,12 @@ mod tests { // Arrange let exporter: InMemoryLogsExporter = InMemoryLogsExporter::default(); let logger_provider = LoggerProvider::builder() + .with_config( + Config::default().with_resource(Resource::new(vec![KeyValue::new( + "key", + "logging_sdk_test", + )])), + ) .with_log_processor(SimpleLogProcessor::new(Box::new(exporter.clone()))) .build(); @@ -85,6 +93,13 @@ mod tests { AnyValue::String(format!("value{}", i).into()) ))); } + + // validate Resource + let resource = log.resource.clone(); + assert_eq!( + resource.get(Key::from_static_str("key")), + Some(Value::String("logging_sdk_test".into())) + ); } #[test] From 8228df8b4b308cfb6e2787af561dc7f58fd0319f Mon Sep 17 00:00:00 2001 From: Cijo Thomas Date: Sun, 12 May 2024 10:06:23 -0700 Subject: [PATCH 2/3] refactor resource test --- opentelemetry-sdk/src/logs/mod.rs | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/opentelemetry-sdk/src/logs/mod.rs b/opentelemetry-sdk/src/logs/mod.rs index 82860ac8b4..bb403961d8 100644 --- a/opentelemetry-sdk/src/logs/mod.rs +++ b/opentelemetry-sdk/src/logs/mod.rs @@ -29,12 +29,12 @@ mod tests { // Arrange let exporter: InMemoryLogsExporter = InMemoryLogsExporter::default(); let logger_provider = LoggerProvider::builder() - .with_config( - Config::default().with_resource(Resource::new(vec![KeyValue::new( - "key", - "logging_sdk_test", - )])), - ) + .with_config(Config::default().with_resource(Resource::new(vec![ + KeyValue::new("k1", "v1"), + KeyValue::new("k2", "v2"), + KeyValue::new("k3", "v3"), + KeyValue::new("k4", "v4"), + ]))) .with_log_processor(SimpleLogProcessor::new(Box::new(exporter.clone()))) .build(); @@ -95,11 +95,14 @@ mod tests { } // validate Resource - let resource = log.resource.clone(); - assert_eq!( - resource.get(Key::from_static_str("key")), - Some(Value::String("logging_sdk_test".into())) - ); + let resource = &log.resource; + assert_eq!(resource.len(), 4); + for i in 1..=4 { + assert_eq!( + resource.get(Key::new(format!("k{}", i))), + Some(Value::String(format!("v{}", i).into())) + ); + } } #[test] From cc4db9900aef19bfbbad8b0805c5adf7495f5e74 Mon Sep 17 00:00:00 2001 From: Cijo Thomas Date: Sun, 12 May 2024 10:27:27 -0700 Subject: [PATCH 3/3] use eq --- opentelemetry-sdk/src/logs/mod.rs | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/opentelemetry-sdk/src/logs/mod.rs b/opentelemetry-sdk/src/logs/mod.rs index bb403961d8..036b7ffe7e 100644 --- a/opentelemetry-sdk/src/logs/mod.rs +++ b/opentelemetry-sdk/src/logs/mod.rs @@ -20,21 +20,22 @@ mod tests { use crate::Resource; use opentelemetry::logs::LogRecord; use opentelemetry::logs::{Logger, LoggerProvider as _, Severity}; - use opentelemetry::Value; use opentelemetry::{logs::AnyValue, Key, KeyValue}; + use std::borrow::Borrow; use std::collections::HashMap; #[test] fn logging_sdk_test() { // Arrange + let resource = Resource::new(vec![ + KeyValue::new("k1", "v1"), + KeyValue::new("k2", "v2"), + KeyValue::new("k3", "v3"), + KeyValue::new("k4", "v4"), + ]); let exporter: InMemoryLogsExporter = InMemoryLogsExporter::default(); let logger_provider = LoggerProvider::builder() - .with_config(Config::default().with_resource(Resource::new(vec![ - KeyValue::new("k1", "v1"), - KeyValue::new("k2", "v2"), - KeyValue::new("k3", "v3"), - KeyValue::new("k4", "v4"), - ]))) + .with_config(Config::default().with_resource(resource.clone())) .with_log_processor(SimpleLogProcessor::new(Box::new(exporter.clone()))) .build(); @@ -95,14 +96,7 @@ mod tests { } // validate Resource - let resource = &log.resource; - assert_eq!(resource.len(), 4); - for i in 1..=4 { - assert_eq!( - resource.get(Key::new(format!("k{}", i))), - Some(Value::String(format!("v{}", i).into())) - ); - } + assert_eq!(&resource, log.resource.borrow()); } #[test]