# ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ========= Copyright 2026 @ Strukto.AI All Rights Reserved. ========= from mirage.cache.file.utils import default_fingerprint, parse_limit def test_parse_limit_bytes(): assert parse_limit(1024) == 1024 def test_parse_limit_kb(): assert parse_limit("1KB") == 1024 def test_parse_limit_mb(): assert parse_limit("512MB") == 536870912 def test_parse_limit_gb(): assert parse_limit("1GB") == 1073741824 def test_parse_limit_lowercase(): assert parse_limit("10mb") == 10485760 def test_parse_limit_plain_string(): assert parse_limit("1024") == 1024 def test_default_fingerprint(): fp = default_fingerprint(b"hello") assert isinstance(fp, str) assert len(fp) == 32 def test_default_fingerprint_deterministic(): assert default_fingerprint(b"same") == default_fingerprint(b"same") def test_default_fingerprint_different_data(): assert default_fingerprint(b"a") != default_fingerprint(b"b")