use opentelemetry::trace::TracerProvider as _;
use opentelemetry_sdk::trace::SdkTracerProvider;
use tracing_subscriber::prelude::*;
use super::current_trace_context_headers;
#[test]
fn creates_traceparent_header_from_current_span() {
let provider = SdkTracerProvider::builder().build();
let tracer = provider.tracer("exec-server-test");
let subscriber =
tracing_subscriber::registry().with(tracing_opentelemetry::layer().with_tracer(tracer));
let _guard = subscriber.set_default();
tracing::callsite::rebuild_interest_cache();
let span = tracing::info_span!("outbound-request");
let _entered = span.enter();
let headers = current_trace_context_headers();
let traceparent = headers
.get("traceparent")
.expect("traceparent header")
.to_str()
.expect("valid traceparent header");
assert!(traceparent.starts_with("00-"));
assert_eq!(traceparent.len(), 55);
}