42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
import pytest
|
|
|
|
import blocklist_scheduler as bs
|
|
|
|
|
|
def test_backup_first_start_creates_backup_when_missing(tmp_path, monkeypatch):
|
|
adguard_yaml = tmp_path / "AdGuardHome.yaml"
|
|
adguard_yaml.write_text("original: config\n")
|
|
first_backup = tmp_path / "AdGuardHome.yaml.first-start.bak"
|
|
|
|
monkeypatch.setattr(bs, "ADGUARD_YAML", adguard_yaml)
|
|
monkeypatch.setattr(bs, "FIRST_BACKUP", first_backup)
|
|
|
|
bs.backup_first_start()
|
|
|
|
assert first_backup.read_text() == "original: config\n"
|
|
|
|
|
|
def test_backup_first_start_does_not_overwrite_existing_backup(tmp_path, monkeypatch):
|
|
adguard_yaml = tmp_path / "AdGuardHome.yaml"
|
|
adguard_yaml.write_text("new: config\n")
|
|
first_backup = tmp_path / "AdGuardHome.yaml.first-start.bak"
|
|
first_backup.write_text("pristine: original\n")
|
|
|
|
monkeypatch.setattr(bs, "ADGUARD_YAML", adguard_yaml)
|
|
monkeypatch.setattr(bs, "FIRST_BACKUP", first_backup)
|
|
|
|
bs.backup_first_start()
|
|
|
|
assert first_backup.read_text() == "pristine: original\n"
|
|
|
|
|
|
def test_backup_first_start_raises_if_adguard_yaml_missing(tmp_path, monkeypatch):
|
|
adguard_yaml = tmp_path / "AdGuardHome.yaml"
|
|
first_backup = tmp_path / "AdGuardHome.yaml.first-start.bak"
|
|
|
|
monkeypatch.setattr(bs, "ADGUARD_YAML", adguard_yaml)
|
|
monkeypatch.setattr(bs, "FIRST_BACKUP", first_backup)
|
|
|
|
with pytest.raises(FileNotFoundError):
|
|
bs.backup_first_start()
|