"""Testliste for vask_logg.py. Kjør fra denne mappa: python test_vask_logg.py Hører til gribben.no/tech/losninger/feilsok-med-ai.html. Hver linje er en tekst og det vaskeren skal gjøre den til. Den nederste delen er ting som IKKE skal endres, fordi en vasker som fjerner alt, ikke blir brukt. Legg til det dine egne logger inneholder. Ingen av verdiene er ekte. """ import pathlib import sys sys.dont_write_bytecode = True # ingen __pycache__ i mappa sys.path.insert(0, str(pathlib.Path(__file__).parent)) from vask_logg import vask # noqa: E402 CASES = [ ("GITHUB_TOKEN=ghp_demoIkkeEkte000000000000000000000000", "GITHUB_TOKEN="), ("SECRET_KEY=hemmelig123", "SECRET_KEY="), ("aws_secret_access_key = AKIA0000DEMO0000IKKE", "aws_secret_access_key="), ("AKIA0000DEMO0000IKKE alene", " alene"), ("Authorization: Basic dXNlcjpwYXNz", "Authorization: Basic "), ("Authorization: Bearer abc.def.ghi123", "Authorization: Bearer "), ('password: "hunter2 med mellomrom" neste', "password= neste"), ('{"api_key": "abc123"}', '{"api_key=}'), ("passord=Sommer2026!", "passord="), ("nøkkel: abc", "nøkkel="), ("tlf 91 23 45 67", "tlf "), ("tlf 912 34 567", "tlf "), ("tlf +4791234567", "tlf "), ("tlf +47 912 34 567", "tlf "), ("fnr 010190 12345", "fnr <11 siffer>"), ("fnr 01019012345", "fnr <11 siffer>"), ("bjørn.åsen@firma.no", ""), ("ola.nordmann@example.com skrev", " skrev"), ("fra 10.0.12.34", "fra "), ("https://ola:hemmelig@git.example.com/repo", "https://@git.example.com/repo"), (r' File "C:\Users\ola\prosjekt\import.py", line 88', ' File "/import.py", line 88'), (' File "/home/ola/prosjekt/x.py", line 3', ' File "/x.py", line 3'), # Skal IKKE endres ("2026-10-08 07:14:02 INFO", "2026-10-08 07:14:02 INFO"), ('rader.sort(key=lambda r: r["dato"])', 'rader.sort(key=lambda r: r["dato"])'), ("KeyError: 'dato'", "KeyError: 'dato'"), ("https://example.com/a/b", "https://example.com/a/b"), ("Ran 5 tests in 0.002s", "Ran 5 tests in 0.002s"), ("max_tokens=100", "max_tokens=100"), ("line 88, in les", "line 88, in les"), ] sys.stdout.reconfigure(encoding="utf-8") feil = 0 for inn, forventet in CASES: ut = vask(inn) ok = ut == forventet feil += not ok print(("ok " if ok else "FEIL"), repr(inn), "->", repr(ut), "" if ok else f"(ventet {forventet!r})") print(f"{len(CASES) - feil} av {len(CASES)} riktige") sys.exit(1 if feil else 0)