From f530a543f9c1729666ca33b9073b71758d5006bd Mon Sep 17 00:00:00 2001 From: Daan Sprenkels Date: Thu, 17 Dec 2020 15:15:04 +0100 Subject: [PATCH] db: Test truncated keys are invalid; NFC --- internal/db/paste_test.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/internal/db/paste_test.go b/internal/db/paste_test.go index 26e7800..59ca227 100644 --- a/internal/db/paste_test.go +++ b/internal/db/paste_test.go @@ -75,3 +75,26 @@ func TestGeneratedKeysAreValid(t *testing.T) { } } } + +func TestTruncatedKeysAreInvalid(t *testing.T) { + db, err := OpenTemporaryDB() + if err != nil { + t.Error(err) + } + var minimumEntropy int + checkTruncatedKeysInvalid := func(truncRand uint) bool { + key, err := GeneratePasteKey(db, minimumEntropy) + if err != nil { + return false + } + trunc := int(truncRand % uint(len(key)-1)) + key = key[:trunc] + return ValidatePasteKey(key) == ErrKeyInvalidLength + } + + for minimumEntropy = 0; minimumEntropy <= 80; minimumEntropy++ { + if err = quick.Check(checkTruncatedKeysInvalid, nil); err != nil { + t.Error(err) + } + } +}