#![cfg(not(feature = "telemetry-otel"))]
use phantom_protocol::observability::{
AeadAlgorithm, HandshakeOutcome, Observability, ObservabilityConfig, ProtocolVersion,
ReplayReason,
};
use phantom_protocol::transport::types::LegType;
use std::time::Duration;
#[test]
fn labeled_api_is_no_op_but_atomics_still_update() {
let obs = Observability::new(ObservabilityConfig::default());
obs.record_handshake(
Duration::from_millis(20),
HandshakeOutcome::Success,
LegType::Tcp,
AeadAlgorithm::Aes256Gcm,
ProtocolVersion::Current,
);
obs.record_replay_rejected(ReplayReason::Duplicate);
obs.record_aead_failure(LegType::Tcp, AeadAlgorithm::Aes256Gcm);
obs.record_send(1024, LegType::Tcp);
obs.session_opened(LegType::Tcp);
obs.stream_opened();
let s = obs.snapshot();
assert_eq!(s.handshakes_success, 1);
assert_eq!(s.packets_sent, 1);
assert_eq!(s.bytes_sent, 1024);
assert_eq!(s.active_sessions, 1);
assert_eq!(s.active_streams, 1);
}