from pathlib import Path

ROOT=Path(__file__).resolve().parents[1]

def test_native_installer_files_exist():
    for name in ['native_installer.py','start_native.py','install_native.sh','start_native.sh','install_native.bat','start_native.bat','NATIVE_INSTALL.md']:
        assert (ROOT/name).exists(), name

def test_v028_router_and_version():
    main=(ROOT/'app/main.py').read_text(encoding='utf-8')
    assert 'v028_router' in main
    assert "version='0.38.0'" in main
    assert "'version':'V038'" in main

def test_native_storage_backend():
    storage=(ROOT/'app/services/storage.py').read_text(encoding='utf-8')
    assert "self.backend == 'local'" in storage
    assert 'upload_for_tenant' in storage

def test_installer_security_controls():
    code=(ROOT/'native_installer.py').read_text(encoding='utf-8')
    assert "os.chmod(tmp, 0o600)" in code
    assert 'storage/installed.json' in code
    assert 'Fernet.generate_key' in code
    assert 'secrets.token_urlsafe' in code
