erste module drin.

zwischenstand: Architektur aktualisiert, TOFU implementiert,
This commit is contained in:
br committed 2026-10-01 22:22:13 +02:00
1 parent 9d5789c5d7
commit c8df9d7651
41 files changed
+6455 -36

No files matched your search

+29
View File
@@ -0,0 +1,29 @@
package auth
import (
"testing"
"time"
)
func TestNonceCache(t *testing.T) {
now := time.Date(2026, 10, 1, 12, 0, 0, 0, time.UTC)
var c nonceCache
if !c.add("keyA", "n1", now.Add(time.Minute), now) {
t.Fatal("erste Verwendung abgelehnt")
}
if c.add("keyA", "n1", now.Add(time.Minute), now) {
t.Error("Wiederholung akzeptiert")
}
if !c.add("keyB", "n1", now.Add(time.Minute), now) {
t.Error("gleiche Nonce eines anderen Schlüssels abgelehnt")
}
// Nach Ablauf wird der Eintrag aufgeräumt; der Zeitstempel-Check
// verhindert dann ohnehin jede Wiederverwendung.
later := now.Add(2 * time.Minute)
c.add("keyA", "n2", later.Add(time.Minute), later)
if n := c.len(); n != 1 {
t.Errorf("%d Einträge nach Ablauf, erwartet 1", n)
}
}