Files
vault/internal/format/limits_test.go
T
Andy Dixon d95f2d04a4 Initial vault: single-binary post-quantum file vault
Strip Fury back to its vault functionality in one `vault` command:
genkey, init, add (file or directory, optional folder inside the vault),
list, get, mv and rm.

The hybrid FrodoKEM-640 + ML-KEM-768 encryption core is kept under
internal/pqcrypt. Signing, policies, profiles, backups, SSH remotes,
FIDO2, agents, provenance and compression are removed.
2026-09-26 14:05:10 +01:00

42 lines
1.1 KiB
Go

// SPDX-License-Identifier: GPL-3.0-or-later
package format
import (
"bufio"
"bytes"
"strings"
"testing"
)
func TestStanzaReaderRejectsOversizedStanza(t *testing.T) {
var input bytes.Buffer
input.WriteString("-> test ")
input.WriteString(strings.Repeat("a", MaxStanzaSize))
input.WriteString("\n\n")
sr := NewStanzaReader(bufio.NewReader(&input))
if _, err := sr.ReadStanza(); err == nil {
t.Fatal("ReadStanza accepted an oversized stanza")
} else if !strings.Contains(err.Error(), "stanza exceeds") {
t.Fatalf("ReadStanza error = %v, want stanza size limit error", err)
}
}
func TestParseRejectsOversizedHeader(t *testing.T) {
var input bytes.Buffer
input.WriteString(intro)
for input.Len() <= MaxHeaderSize {
input.WriteString("-> test ")
input.WriteString(strings.Repeat("a", MaxStanzaSize-1024))
input.WriteString("\n\n")
}
input.WriteString("--- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n")
if _, _, err := Parse(&input); err == nil {
t.Fatal("Parse accepted an oversized header")
} else if !strings.Contains(err.Error(), "header exceeds") {
t.Fatalf("Parse error = %v, want header size limit error", err)
}
}