Skip to content

Commit f2c7c3a

Browse files
Merge pull request #16 from DiogoRibeiro7/test-skeleton/metrics-models
test(s): add skeleton for metrics.models
2 parents d0ca021 + 16740c6 commit f2c7c3a

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

tests/test_metrics_models.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
from __future__ import annotations
2+
3+
import json
4+
from dataclasses import asdict
5+
6+
from llm_observability_analytics.metrics.models import MetricRecord, AnalyticsSummary
7+
8+
9+
def test_metric_record_basic():
10+
mr = MetricRecord(metric_name="latency", metric_value=12.5, dimension_key="service", dimension_value="svc-a")
11+
assert mr.metric_name == "latency"
12+
assert mr.metric_value == 12.5
13+
14+
15+
def test_analytics_summary_roundtrip():
16+
s = AnalyticsSummary(
17+
request_count=10,
18+
retrieval_trace_count=4,
19+
latency_mean_ms=100.0,
20+
latency_p50_ms=90.0,
21+
latency_p95_ms=150.0,
22+
total_tokens=1234,
23+
average_tokens_per_request=123.4,
24+
retrieval_hit_count=3,
25+
grounded_response_count=7,
26+
ungrounded_response_count=3,
27+
feedback_count=2,
28+
)
29+
d = s.to_dict()
30+
assert d["request_count"] == 10
31+
# JSON roundtrip
32+
j = s.to_json()
33+
parsed = json.loads(j)
34+
assert parsed == asdict(s)
35+

0 commit comments

Comments
 (0)