from __future__ import annotations import struct from bakrest.usn_journal import ( USN_REASON_BASIC_INFO_CHANGE, USN_REASON_CLOSE, USN_REASON_DATA_EXTEND, USN_REASON_DATA_OVERWRITE, USN_REASON_FILE_CREATE, USN_REASON_RENAME_NEW_NAME, is_meaningful_usn_reason, parse_usn_records, ) def test_usn_reason_filter_accepts_real_data_changes() -> None: assert is_meaningful_usn_reason(USN_REASON_DATA_OVERWRITE) assert is_meaningful_usn_reason(USN_REASON_DATA_EXTEND | USN_REASON_CLOSE) assert is_meaningful_usn_reason(USN_REASON_FILE_CREATE) assert is_meaningful_usn_reason(USN_REASON_RENAME_NEW_NAME) def test_usn_reason_filter_rejects_metadata_only_changes() -> None: assert not is_meaningful_usn_reason(USN_REASON_BASIC_INFO_CHANGE) assert not is_meaningful_usn_reason(USN_REASON_CLOSE) def test_parse_usn_record_v2_reason_and_file_reference() -> None: record = bytearray(64) struct.pack_into(" None: record = bytearray(80) struct.pack_into("