Skip to content

Commit 3a9e732

Browse files
committed
add tests
1 parent edd9258 commit 3a9e732

File tree

1 file changed

+102
-0
lines changed

1 file changed

+102
-0
lines changed

opentelemetry-sdk/src/logs/record.rs

+102
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,105 @@ impl From<&SpanContext> for TraceContext {
9999
}
100100
}
101101
}
102+
103+
#[cfg(test)]
104+
mod tests {
105+
use super::*;
106+
use opentelemetry::logs::{AnyValue, LogRecord, Severity};
107+
use opentelemetry::trace::{SpanContext, SpanId, TraceFlags, TraceId};
108+
use std::borrow::Cow;
109+
use std::time::SystemTime;
110+
111+
// Helper function to create a TraceId from a u128 number
112+
fn trace_id_from_u128(num: u128) -> TraceId {
113+
TraceId::from_bytes(num.to_be_bytes())
114+
}
115+
116+
// Helper function to create a SpanId from a u64 number
117+
fn span_id_from_u64(num: u64) -> SpanId {
118+
SpanId::from_bytes(num.to_be_bytes())
119+
}
120+
121+
#[test]
122+
fn test_set_timestamp() {
123+
let mut log_record = SdkLogRecord::default();
124+
let now = SystemTime::now();
125+
log_record.set_timestamp(now);
126+
assert_eq!(log_record.timestamp, Some(now));
127+
}
128+
129+
#[test]
130+
fn test_set_observed_timestamp() {
131+
let mut log_record = SdkLogRecord::default();
132+
let now = SystemTime::now();
133+
log_record.set_observed_timestamp(now);
134+
assert_eq!(log_record.observed_timestamp, Some(now));
135+
}
136+
137+
#[test]
138+
fn test_set_span_context() {
139+
let mut log_record = SdkLogRecord::default();
140+
let span_context = SpanContext::new(
141+
trace_id_from_u128(123),
142+
span_id_from_u64(456),
143+
TraceFlags::default(),
144+
true,
145+
Default::default(),
146+
);
147+
log_record.set_span_context(&span_context);
148+
assert_eq!(
149+
log_record.trace_context.clone().unwrap().trace_id,
150+
span_context.trace_id()
151+
);
152+
assert_eq!(
153+
log_record.trace_context.clone().unwrap().span_id,
154+
span_context.span_id()
155+
);
156+
assert_eq!(
157+
log_record.trace_context.unwrap().trace_flags,
158+
Some(span_context.trace_flags())
159+
);
160+
}
161+
162+
#[test]
163+
fn test_set_severity_text() {
164+
let mut log_record = SdkLogRecord::default();
165+
let severity_text: Cow<'static, str> = "ERROR".into(); // Explicitly typed
166+
log_record.set_severity_text(severity_text);
167+
assert_eq!(log_record.severity_text, Some(Cow::Borrowed("ERROR")));
168+
}
169+
170+
#[test]
171+
fn test_set_severity_number() {
172+
let mut log_record = SdkLogRecord::default();
173+
let severity_number = Severity::Error;
174+
log_record.set_severity_number(severity_number);
175+
assert_eq!(log_record.severity_number, Some(Severity::Error));
176+
}
177+
178+
#[test]
179+
fn test_set_body() {
180+
let mut log_record = SdkLogRecord::default();
181+
let body = AnyValue::String("Test body".into());
182+
log_record.set_body(body.clone());
183+
assert_eq!(log_record.body, Some(body));
184+
}
185+
186+
#[test]
187+
fn test_set_attributes() {
188+
let mut log_record = SdkLogRecord::default();
189+
let attributes = vec![(Key::new("key"), AnyValue::String("value".into()))];
190+
log_record.set_attributes(attributes.clone());
191+
assert_eq!(log_record.attributes, Some(attributes));
192+
}
193+
194+
#[test]
195+
fn test_set_attribute() {
196+
let mut log_record = SdkLogRecord::default();
197+
log_record.set_attribute("key", "value");
198+
assert_eq!(
199+
log_record.attributes,
200+
Some(vec![(Key::new("key"), AnyValue::String("value".into()))])
201+
);
202+
}
203+
}

0 commit comments

Comments
 (0)