// Tests der Update-Regeln (§ 6.8) — die HTTPS-Pflicht ist keine Kür: // Ohne Code-Signing (Entscheid 5) ist der Transportweg die EINZIGE // Absicherung des Selbst-Updates. import { describe, expect, it } from 'vitest' import { updateUrlPruefen, STANDARD_UPDATE_URL } from '../src/haupt/update-regeln' describe('updateUrlPruefen', () => { it('leer heißt Standard (der ist https)', () => { expect(updateUrlPruefen('').ok).toBe(true) expect(STANDARD_UPDATE_URL.startsWith('https://')).toBe(true) }) it('https wird angenommen', () => { expect(updateUrlPruefen('https://mein-server.example/rippy').ok).toBe(true) }) it('http wird ABGELEHNT, nicht stillschweigend akzeptiert', () => { const urteil = updateUrlPruefen('http://mein-server.example/rippy') expect(urteil.ok).toBe(false) expect(urteil.grund).toContain('https://') }) it('anderes Zeug wird abgelehnt', () => { expect(updateUrlPruefen('ftp://x').ok).toBe(false) expect(updateUrlPruefen('file://x').ok).toBe(false) }) })