30 lines
960 B
Python
30 lines
960 B
Python
import logging
|
|
from datetime import datetime, timezone
|
|
from uuid import uuid4
|
|
|
|
import pytest
|
|
from dynalab_core.buffer import ValueBuffer
|
|
from dynalab_core.dlpak import DLPak
|
|
from dynalab_core.protocols.packets.handshake import SignalDescriptor
|
|
|
|
|
|
def test_dlpak_logs_written_archive(caplog: pytest.LogCaptureFixture, tmp_path) -> None:
|
|
signal = SignalDescriptor(id=uuid4(), name="Signal", type="number")
|
|
buffer = ValueBuffer()
|
|
buffer.append(1, signal.id, 2.0)
|
|
package = DLPak()
|
|
package.set_data(buffer)
|
|
package.set_manifest(datetime.now(timezone.utc), [signal])
|
|
|
|
with caplog.at_level(logging.INFO, logger="dynalab_core"):
|
|
package.write(tmp_path, "recording")
|
|
|
|
record = next(
|
|
record
|
|
for record in caplog.records
|
|
if getattr(record, "event", None) == "dlpak.written"
|
|
)
|
|
assert record.output_filename == "recording.dlpak"
|
|
assert record.sample_count == 1
|
|
assert record.signal_count == 1
|