update repository references and improve script handling

This commit is contained in:
2025-03-19 20:36:36 +01:00
parent 51b0252b0e
commit 1d90749486
160 changed files with 14361 additions and 18 deletions

View File

@@ -0,0 +1,129 @@
from backup.config import BytesizeAsStringValidator
from backup.exceptions import InvalidConfigurationValue
import pytest
def test_minimum():
parser = BytesizeAsStringValidator("test", minimum=10)
assert parser.validate("11 bytes") == 11
assert parser.validate(11) == 11
with pytest.raises(InvalidConfigurationValue):
parser.validate("9 bytes")
def test_maximum():
parser = BytesizeAsStringValidator("test", maximum=10)
assert parser.validate("9 bytes") == 9
assert parser.validate(9) == 9
with pytest.raises(InvalidConfigurationValue):
parser.validate("11 bytes")
assert parser.formatForUi(9) == "9 B"
def test_ui_format():
parser = BytesizeAsStringValidator("test")
assert parser.formatForUi(25) == "25 B"
assert parser.formatForUi(25 * 1024) == "25 KB"
assert parser.formatForUi(25 * 1024 * 1024) == "25 MB"
assert parser.formatForUi(25 * 1024 * 1024 * 1024) == "25 GB"
assert parser.formatForUi(25 * 1024 * 1024 * 1024 * 1024) == "25 TB"
assert parser.formatForUi(25 * 1024 * 1024 * 1024 * 1024 * 1024) == "25 PB"
assert parser.formatForUi(25 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024) == "25 EB"
assert parser.formatForUi(25 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024) == "25 ZB"
assert parser.formatForUi(25 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024) == "25 YB"
assert parser.formatForUi(2000 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024) == "2000 YB"
assert parser.formatForUi(2.5 * 1024 * 1024) == "2.5 MB"
assert parser.formatForUi(2.534525 * 1024 * 1024) == "2.534525 MB"
assert parser.formatForUi(98743.1234 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024) == "98743.1234 YB"
assert parser.formatForUi(None) == ""
assert parser.formatForUi("") == ""
assert parser.formatForUi(0) == ""
def test_numbers():
parser = BytesizeAsStringValidator("test")
parser.validate(1.2) == 1
parser.validate(1024.9) == 1024
parser.validate(1024) == 1024
def test_parsing():
parser = BytesizeAsStringValidator("test")
assert parser.validate("1 B") == 1
assert parser.validate("1 b") == 1
assert parser.validate("1 bytes") == 1
assert parser.validate("1 byte") == 1
assert parser.validate("") is None
assert parser.validate(" ") is None
assert parser.validate(" 5. bytes ") == 5
assert parser.validate("10b") == 10
assert parser.validate("1 KB") == 1024
assert parser.validate("1 k") == 1024
assert parser.validate("1 kb") == 1024
assert parser.validate("1 kilobytes") == 1024
assert parser.validate("1 kibibytes") == 1024
assert parser.validate("1 kibi") == 1024
assert parser.validate("2.5 KB") == 1024 * 2.5
assert parser.validate("10k") == 10 * 1024
assert parser.validate("1 MB") == 1024 * 1024
assert parser.validate("1 m") == 1024 * 1024
assert parser.validate("1 mb") == 1024 * 1024
assert parser.validate("1 megs") == 1024 * 1024
assert parser.validate("1 mega") == 1024 * 1024
assert parser.validate("1 megabytes") == 1024 * 1024
assert parser.validate("1 mebibytes") == 1024 * 1024
assert parser.validate("10m") == 10 * 1024 * 1024
assert parser.validate("1 GB") == 1024 * 1024 * 1024
assert parser.validate("1 g") == 1024 * 1024 * 1024
assert parser.validate("1 gb") == 1024 * 1024 * 1024
assert parser.validate("1 gigs") == 1024 * 1024 * 1024
assert parser.validate("1 gig") == 1024 * 1024 * 1024
assert parser.validate("1 giga") == 1024 * 1024 * 1024
assert parser.validate("1 gigabytes") == 1024 * 1024 * 1024
assert parser.validate("1 gibibytes") == 1024 * 1024 * 1024
assert parser.validate("10G") == 10 * 1024 * 1024 * 1024
assert parser.validate("1 TB") == 1024 * 1024 * 1024 * 1024
assert parser.validate("1 t") == 1024 * 1024 * 1024 * 1024
assert parser.validate("1 tb") == 1024 * 1024 * 1024 * 1024
assert parser.validate("1 tera") == 1024 * 1024 * 1024 * 1024
assert parser.validate("1 tebi") == 1024 * 1024 * 1024 * 1024
assert parser.validate("1 terabytes") == 1024 * 1024 * 1024 * 1024
assert parser.validate("10T") == 10 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 PB") == 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 p") == 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 pb") == 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 peta") == 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 pebi") == 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 petabytes") == 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("10P") == 10 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 EB") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 e") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 eb") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 exa") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 exbi") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 exabytes") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("10E") == 10 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 ZB") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 z") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 zb") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 zetta") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 zebi") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 zettabytes") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("10Z") == 10 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 YB") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 y") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 yb") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 yotta") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 yobi") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("1 yottabytes") == 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
assert parser.validate("10Y") == 10 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024