initial commit

This commit is contained in:
tumillanino
2025-11-12 18:34:08 +11:00
commit 2fed8f268e
585 changed files with 161655 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
import json
from pathlib import Path
from pytest import MonkeyPatch
from archinstall.lib.args import ArchConfigHandler
from archinstall.lib.configuration import ConfigurationOutput
def test_user_config_roundtrip(
monkeypatch: MonkeyPatch,
config_fixture: Path,
) -> None:
monkeypatch.setattr('sys.argv', ['archinstall', '--config', str(config_fixture)])
handler = ArchConfigHandler()
arch_config = handler.config
# the version is retrieved dynamically from an installed archinstall package
# as there is no version present in the test environment we'll set it manually
arch_config.version = '3.0.2'
config_output = ConfigurationOutput(arch_config)
test_out_dir = Path('/tmp/')
test_out_file = test_out_dir / config_output.user_configuration_file
config_output.save(test_out_dir)
result = json.loads(test_out_file.read_text())
expected = json.loads(config_fixture.read_text())
# the parsed config will check if the given device exists otherwise
# it will ignore the modification; as this test will run on various local systems
# and the CI pipeline there's no good way specify a real device so we'll simply
# copy the expected result to the actual result
result['disk_config']['config_type'] = expected['disk_config']['config_type']
result['disk_config']['device_modifications'] = expected['disk_config']['device_modifications']
assert json.dumps(
result['mirror_config'],
sort_keys=True,
) == json.dumps(
expected['mirror_config'],
sort_keys=True,
)
def test_creds_roundtrip(
monkeypatch: MonkeyPatch,
creds_fixture: Path,
) -> None:
monkeypatch.setattr('sys.argv', ['archinstall', '--creds', str(creds_fixture)])
handler = ArchConfigHandler()
arch_config = handler.config
config_output = ConfigurationOutput(arch_config)
test_out_dir = Path('/tmp/')
test_out_file = test_out_dir / config_output.user_credentials_file
config_output.save(test_out_dir, creds=True)
result = json.loads(test_out_file.read_text())
expected = json.loads(creds_fixture.read_text())
assert sorted(result.items()) == sorted(expected.items())