1import time 2import pytest 3from mitmproxy.utils import human 4 5 6def test_format_timestamp(): 7 assert human.format_timestamp(time.time()) 8 9 10def test_format_timestamp_with_milli(): 11 assert human.format_timestamp_with_milli(time.time()) 12 13 14def test_parse_size(): 15 assert human.parse_size("0") == 0 16 assert human.parse_size("0b") == 0 17 assert human.parse_size("1") == 1 18 assert human.parse_size("1k") == 1024 19 assert human.parse_size("1m") == 1024**2 20 assert human.parse_size("1g") == 1024**3 21 with pytest.raises(ValueError): 22 human.parse_size("1f") 23 with pytest.raises(ValueError): 24 human.parse_size("ak") 25 assert human.parse_size(None) is None 26 27 28def test_pretty_size(): 29 assert human.pretty_size(0) == "0b" 30 assert human.pretty_size(100) == "100b" 31 assert human.pretty_size(1024) == "1k" 32 assert human.pretty_size(1024 + (1024 / 2.0)) == "1.5k" 33 assert human.pretty_size(1024 * 1024) == "1m" 34 assert human.pretty_size(10 * 1024 * 1024) == "10m" 35 36 37def test_pretty_duration(): 38 assert human.pretty_duration(0.00001) == "0ms" 39 assert human.pretty_duration(0.0001) == "0ms" 40 assert human.pretty_duration(0.001) == "1ms" 41 assert human.pretty_duration(0.01) == "10ms" 42 assert human.pretty_duration(0.1) == "100ms" 43 assert human.pretty_duration(1) == "1.00s" 44 assert human.pretty_duration(10) == "10.0s" 45 assert human.pretty_duration(100) == "100s" 46 assert human.pretty_duration(1000) == "1000s" 47 assert human.pretty_duration(10000) == "10000s" 48 assert human.pretty_duration(1.123) == "1.12s" 49 assert human.pretty_duration(0.123) == "123ms" 50 assert human.pretty_duration(None) == "" 51 52 53def test_format_address(): 54 assert human.format_address(("::1", "54010", "0", "0")) == "[::1]:54010" 55 assert human.format_address(("::ffff:127.0.0.1", "54010", "0", "0")) == "127.0.0.1:54010" 56 assert human.format_address(("127.0.0.1", "54010")) == "127.0.0.1:54010" 57 assert human.format_address(("example.com", "54010")) == "example.com:54010" 58 assert human.format_address(("::", "8080")) == "*:8080" 59 assert human.format_address(("0.0.0.0", "8080")) == "*:8080" 60 assert human.format_address(None) == "<no address>" 61