MCPcopy Index your code
hub / github.com/coder/coder / TestMCPRegex

Function TestMCPRegex

coderd/aibridged/mcp_internal_test.go:13–62  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func TestMCPRegex(t *testing.T) {
14 t.Parallel()
15
16 cases := []struct {
17 name string
18 allowRegex, denyRegex string
19 expectedErr error
20 }{
21 {
22 name: "invalid allow regex",
23 allowRegex: `\`,
24 expectedErr: ErrCompileRegex,
25 },
26 {
27 name: "invalid deny regex",
28 denyRegex: `+`,
29 expectedErr: ErrCompileRegex,
30 },
31 {
32 name: "valid empty",
33 },
34 {
35 name: "valid",
36 allowRegex: "(allowed|allowed2)",
37 denyRegex: ".*disallowed.*",
38 },
39 }
40
41 for _, tc := range cases {
42 t.Run(tc.name, func(t *testing.T) {
43 t.Parallel()
44
45 logger := testutil.Logger(t)
46 f := NewMCPProxyFactory(logger, otel.Tracer("aibridged_test"), nil)
47
48 _, err := f.newStreamableHTTPServerProxy(&proto.MCPServerConfig{
49 Id: "mock",
50 Url: "mock/mcp",
51 ToolAllowRegex: tc.allowRegex,
52 ToolDenyRegex: tc.denyRegex,
53 }, "")
54
55 if tc.expectedErr == nil {
56 require.NoError(t, err)
57 } else {
58 require.ErrorIs(t, err, tc.expectedErr)
59 }
60 })
61 }
62}

Callers

nothing calls this directly

Calls 5

LoggerFunction · 0.92
NewMCPProxyFactoryFunction · 0.85
TracerMethod · 0.80
RunMethod · 0.65

Tested by

no test coverage detected