Skip to content

Commit fbb0cca

Browse files
committed
fix tests
1 parent 1e9fa79 commit fbb0cca

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

sentience/cloud_tracing.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,19 @@ def _extract_stats_from_trace(self) -> TraceStats:
452452
TraceStats with stats fields for /v1/traces/complete
453453
"""
454454
try:
455+
# Check if file exists before reading
456+
if not self._path.exists():
457+
if self.logger:
458+
self.logger.warning(f"Trace file not found: {self._path}")
459+
return TraceStats(
460+
total_steps=0,
461+
total_events=0,
462+
duration_ms=None,
463+
final_status="unknown",
464+
started_at=None,
465+
ended_at=None,
466+
)
467+
455468
# Read trace file to extract stats
456469
events = TraceFileManager.read_events(self._path)
457470
# Use TraceFileManager to extract stats (with custom status inference)
@@ -529,6 +542,12 @@ def _extract_screenshots_from_trace(self) -> dict[int, dict[str, Any]]:
529542
sequence = 0
530543

531544
try:
545+
# Check if file exists before reading
546+
if not self._path.exists():
547+
if self.logger:
548+
self.logger.warning(f"Trace file not found: {self._path}")
549+
return screenshots
550+
532551
events = TraceFileManager.read_events(self._path)
533552
for event in events:
534553
# Check if this is a snapshot event with screenshot
@@ -557,6 +576,15 @@ def _create_cleaned_trace(self, output_path: Path) -> None:
557576
output_path: Path to write cleaned trace file
558577
"""
559578
try:
579+
# Check if file exists before reading
580+
if not self._path.exists():
581+
if self.logger:
582+
self.logger.warning(f"Trace file not found: {self._path}")
583+
# Create empty cleaned trace file
584+
output_path.parent.mkdir(parents=True, exist_ok=True)
585+
output_path.touch()
586+
return
587+
560588
events = TraceFileManager.read_events(self._path)
561589
with open(output_path, "w", encoding="utf-8") as outfile:
562590
for event in events:

tests/test_cloud_tracing.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,12 @@ def test_create_tracer_pro_tier_success(self, capsys):
418418
), f"Expected CloudTraceSink, got {type(tracer.sink)}"
419419
assert tracer.sink.run_id == "test-run" # Verify run_id is passed
420420

421-
# Cleanup
421+
# Verify the init API was called
422+
assert mock_post.called
423+
assert mock_post.call_count == 1
424+
425+
# Cleanup - emit at least one event so file exists before close
426+
tracer.emit("test", {"v": 1, "seq": 1})
422427
tracer.close()
423428

424429
def test_create_tracer_free_tier_fallback(self, capsys):

0 commit comments

Comments
 (0)