MCPcopy
hub / github.com/grafana/tempo / TestInvalidTenants

Function TestInvalidTenants

integration/api/tenant_validation_test.go:14–143  ·  integration/api/tenant_validation_test.go::TestInvalidTenants
(t *testing.T)

Source from the content-addressed store, hash-verified

12)
13
14func TestInvalidTenants(t *testing.T) {
15 util.RunIntegrationTests(t, util.TestHarnessConfig{
16 ConfigOverlay: "config-multi-tenant.yaml",
17 DeploymentMode: util.DeploymentModeSingleBinary,
18 }, func(h *util.TempoHarness) {
19 h.WaitTracesWritable(t)
20
21 longTenant := strings.Repeat("a", tenant.MaxTenantIDLength+1)
22
23 testCases := []struct {
24 name string
25 orgID string
26 multitenant bool
27 errContains string
28 }{
29 {
30 name: "invalid unsupported character",
31 orgID: "tenant#123",
32 errContains: "unsupported character",
33 },
34 {
35 name: "invalid slash character",
36 orgID: "tenant/123",
37 errContains: "unsupported character",
38 },
39 {
40 name: "invalid unsafe path segment",
41 orgID: "..",
42 errContains: "tenant ID is '.' or '..'",
43 },
44 {
45 name: "invalid too long tenant id",
46 orgID: longTenant,
47 errContains: "tenant ID is too long",
48 },
49 {
50 name: "invalid empty tenant",
51 orgID: "",
52 errContains: "no org id",
53 },
54 {
55 name: "invalid leading separator",
56 orgID: "|tenantA",
57 multitenant: true,
58 errContains: "no org id",
59 },
60 {
61 name: "invalid trailing separator",
62 orgID: "tenantA|",
63 multitenant: true,
64 errContains: "no org id",
65 },
66 {
67 name: "invalid double separator",
68 orgID: "tenantA||tenantB",
69 multitenant: true,
70 errContains: "no org id",
71 },

Callers

nothing calls this directly

Calls 14

WaitTracesWritableMethod · 0.80
APIClientHTTPMethod · 0.80
QueryTraceV2Method · 0.80
WriteTraceInfoMethod · 0.80
ErrorMethod · 0.65
QueryTraceMethod · 0.65
SearchTraceQLMethod · 0.65
SearchTagsMethod · 0.65
SearchTagsV2Method · 0.65
SearchTagValuesMethod · 0.65
SearchTagValuesV2Method · 0.65
MetricsQueryRangeMethod · 0.65

Tested by

no test coverage detected