mirror of
https://github.com/Mesteriis/hassio-addons-avm.git
synced 2026-01-10 15:31:02 +01:00
130 lines
6.4 KiB
Python
130 lines
6.4 KiB
Python
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
|