MCPcopy Create free account
hub / github.com/Mnexa-AI/e2a / TestModifyMessageLabels_RejectsOverCap

Function TestModifyMessageLabels_RejectsOverCap

internal/identity/labels_test.go:96–127  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

94}
95
96func TestModifyMessageLabels_RejectsOverCap(t *testing.T) {
97 pool := testutil.TestDB(t)
98 store := identity.NewStore(pool)
99 ctx := context.Background()
100
101 msgID, agentID := labelsTestSetup(t, store, "labels-cap")
102
103 // Push one under the cap, then attempt to push two more in one op —
104 // the second pushes us over.
105 near := make([]string, identity.MaxLabelsPerMessage-1)
106 for i := range near {
107 near[i] = labelFor(i)
108 }
109 if _, err := store.ModifyMessageLabels(ctx, msgID, agentID, near, nil); err != nil {
110 t.Fatalf("seed near cap: %v", err)
111 }
112 // Now MaxLabelsPerMessage-1 are set. Adding 2 unique new labels =
113 // MaxLabelsPerMessage+1 — must reject.
114 _, err := store.ModifyMessageLabels(ctx, msgID, agentID, []string{labelFor(9000), labelFor(9001)}, nil)
115 if !errors.Is(err, identity.ErrLabelLimitExceeded) {
116 t.Errorf("err = %v, want ErrLabelLimitExceeded", err)
117 }
118 // One MORE add (taking us to exactly MaxLabelsPerMessage) MUST succeed —
119 // the boundary is the inclusive cap.
120 final, err := store.ModifyMessageLabels(ctx, msgID, agentID, []string{labelFor(9000)}, nil)
121 if err != nil {
122 t.Fatalf("at-cap add: %v", err)
123 }
124 if len(final) != identity.MaxLabelsPerMessage {
125 t.Errorf("len(final) = %d, want %d (exact cap)", len(final), identity.MaxLabelsPerMessage)
126 }
127}
128
129func TestModifyMessageLabels_NotFound(t *testing.T) {
130 pool := testutil.TestDB(t)

Callers

nothing calls this directly

Calls 6

ModifyMessageLabelsMethod · 0.95
TestDBFunction · 0.92
NewStoreFunction · 0.92
labelsTestSetupFunction · 0.85
makeFunction · 0.85
labelForFunction · 0.85

Tested by

no test coverage detected