carlos / platform Public

Clone
git clone https://amadan.net/carlos/platform

Plain git — no account needed to clone.

Download

Download this file

1package apperr
2
3import (
4 "context"
5 "errors"
6 "testing"
7
8 "github.com/carlosframework/platform/internal/applog"
9 "github.com/carlosframework/platform/internal/release"
10)
11
12// TestErrorsKeysRefuseEmptyApp: the errors family's own builders refuse
13// the empty app an app-less route is filed under, and a read for it fails
14// rather than listing apps/<sqid>//errors/.
15func TestErrorsKeysRefuseEmptyApp(t *testing.T) {
16 if k, err := Prefix("bab", ""); !errors.Is(err, applog.ErrBadKeySegment) || k != "" {
17 t.Fatalf("Prefix = (%q, %v)", k, err)
18 }
19 if k, err := BoxPrefix("bab", "", "leo-climbing"); !errors.Is(err, applog.ErrBadKeySegment) || k != "" {
20 t.Fatalf("BoxPrefix = (%q, %v)", k, err)
21 }
22 if k, err := ChunkKey("bab", "", "leo-climbing", "2026-10-16-06", 1, 2); !errors.Is(err, applog.ErrBadKeySegment) || k != "" {
23 t.Fatalf("ChunkKey = (%q, %v)", k, err)
24 }
25 if _, _, err := ReadWindow(context.Background(), release.NewDirStore(t.TempDir()), "bab", "", Filter{}, 10); !errors.Is(err, applog.ErrBadKeySegment) {
26 t.Fatalf("ReadWindow = %v", err)
27 }
28 if got := must(t)(ChunkKey("bab", "web", "leo-climbing", "2026-10-16-06", 1792015319229, 257)); got != "apps/bab/web/errors/leo-climbing/2026-10-16-06/0001792015319229-257.jsonl.gz" {
29 t.Fatalf("valid ChunkKey moved: %q", got)
30 }
31}
32