MCPcopy Create free account
hub / github.com/buggregator/server / TestAttachmentStore_Memory

Function TestAttachmentStore_Memory

internal/storage/attachments_test.go:12–66  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

10)
11
12func TestAttachmentStore_Memory(t *testing.T) {
13 store := storage.NewAttachmentStore("memory", "")
14
15 t.Run("store and get", func(t *testing.T) {
16 if err := store.Store("event-1/file.txt", []byte("hello")); err != nil {
17 t.Fatal(err)
18 }
19 data, err := store.Get("event-1/file.txt")
20 if err != nil {
21 t.Fatal(err)
22 }
23 if string(data) != "hello" {
24 t.Errorf("got %q, want %q", data, "hello")
25 }
26 })
27
28 t.Run("get nonexistent", func(t *testing.T) {
29 _, err := store.Get("nonexistent/file.txt")
30 if err == nil {
31 t.Error("expected error for nonexistent file")
32 }
33 })
34
35 t.Run("get reader", func(t *testing.T) {
36 store.Store("event-2/data.bin", []byte("binary data"))
37 rc, err := store.GetReader("event-2/data.bin")
38 if err != nil {
39 t.Fatal(err)
40 }
41 defer rc.Close()
42 data, _ := io.ReadAll(rc)
43 if string(data) != "binary data" {
44 t.Errorf("got %q, want %q", data, "binary data")
45 }
46 })
47
48 t.Run("delete by event", func(t *testing.T) {
49 store.Store("event-3/a.txt", []byte("a"))
50 store.Store("event-3/b.txt", []byte("b"))
51 store.Store("event-4/c.txt", []byte("c"))
52
53 store.DeleteByEvent("event-3")
54
55 if _, err := store.Get("event-3/a.txt"); err == nil {
56 t.Error("expected event-3/a.txt to be deleted")
57 }
58 if _, err := store.Get("event-3/b.txt"); err == nil {
59 t.Error("expected event-3/b.txt to be deleted")
60 }
61 // event-4 should remain
62 if _, err := store.Get("event-4/c.txt"); err != nil {
63 t.Error("event-4/c.txt should still exist")
64 }
65 })
66}
67
68func TestAttachmentStore_DefaultMode(t *testing.T) {
69 store := storage.NewAttachmentStore("", "")

Callers

nothing calls this directly

Calls 6

StoreMethod · 0.95
GetMethod · 0.95
GetReaderMethod · 0.95
DeleteByEventMethod · 0.95
NewAttachmentStoreFunction · 0.92
RunMethod · 0.45

Tested by

no test coverage detected