feat: add spinner
This commit is contained in:
Binary file not shown.
@@ -18,6 +18,29 @@ spec.loader.exec_module(cli)
|
||||
|
||||
|
||||
class HelperCliTests(unittest.TestCase):
|
||||
def test_format_activity_frame_highlights_one_block_and_keeps_label(self) -> None:
|
||||
frame = cli.format_activity_frame("Executing install", 2)
|
||||
|
||||
self.assertIn("Executing install", frame)
|
||||
self.assertEqual(frame.count("█"), 4)
|
||||
self.assertEqual(frame.count("[38;5;220m"), 1)
|
||||
self.assertEqual(frame.count("[38;5;208m"), 3)
|
||||
|
||||
def test_supports_ansi_status_requires_tty_and_real_term(self) -> None:
|
||||
tty_stream = mock.Mock()
|
||||
tty_stream.isatty.return_value = True
|
||||
dumb_stream = mock.Mock()
|
||||
dumb_stream.isatty.return_value = True
|
||||
pipe_stream = mock.Mock()
|
||||
pipe_stream.isatty.return_value = False
|
||||
|
||||
with mock.patch.dict(cli.os.environ, {"TERM": "xterm-256color"}, clear=False):
|
||||
self.assertTrue(cli.supports_ansi_status(tty_stream))
|
||||
self.assertFalse(cli.supports_ansi_status(pipe_stream))
|
||||
|
||||
with mock.patch.dict(cli.os.environ, {"TERM": "dumb"}, clear=False):
|
||||
self.assertFalse(cli.supports_ansi_status(dumb_stream))
|
||||
|
||||
def test_disk_from_device_supports_sd_and_nvme(self) -> None:
|
||||
self.assertEqual(cli.disk_from_device("/dev/sda2"), "/dev/sda")
|
||||
self.assertEqual(cli.disk_from_device("/dev/nvme0n1p2"), "/dev/nvme0n1")
|
||||
@@ -38,13 +61,13 @@ class HelperCliTests(unittest.TestCase):
|
||||
disko = cli.parse_existing_disko(REPO_ROOT / "hosts" / "vps1" / "disko.nix")
|
||||
self.assertEqual(disko.disk_device, "/dev/sda")
|
||||
self.assertEqual(disko.boot_mode, "uefi")
|
||||
self.assertEqual(disko.swap_size, "4GiB")
|
||||
self.assertEqual(disko.swap_size, "4G")
|
||||
|
||||
def test_render_bios_disko_uses_bios_partition(self) -> None:
|
||||
rendered = cli.render_disko(boot_mode="bios", disk_device="/dev/vda", swap_size="8GiB")
|
||||
rendered = cli.render_disko(boot_mode="bios", disk_device="/dev/vda", swap_size="8G")
|
||||
self.assertIn('type = "EF02";', rendered)
|
||||
self.assertIn('device = lib.mkDefault "/dev/vda";', rendered)
|
||||
self.assertIn('size = "8GiB";', rendered)
|
||||
self.assertIn('size = "8G";', rendered)
|
||||
|
||||
def test_parse_lsblk_output_reads_pairs_without_smearing_columns(self) -> None:
|
||||
output = (
|
||||
@@ -59,6 +82,11 @@ class HelperCliTests(unittest.TestCase):
|
||||
self.assertEqual(rows[1]["NAME"], "sda1")
|
||||
self.assertEqual(rows[1]["MOUNTPOINTS"], "/boot")
|
||||
|
||||
def test_normalize_swap_size_accepts_gib_suffix(self) -> None:
|
||||
self.assertEqual(cli.normalize_swap_size("4GiB"), "4G")
|
||||
self.assertEqual(cli.normalize_swap_size("512MiB"), "512M")
|
||||
self.assertEqual(cli.normalize_swap_size("8G"), "8G")
|
||||
|
||||
def test_bao_kv_get_uses_explicit_kv_mount(self) -> None:
|
||||
completed = mock.Mock()
|
||||
completed.stdout = '{"data": {"data": {"CLIENT_ID": "x"}}}'
|
||||
|
||||
Reference in New Issue
Block a user