MCPcopy
hub / github.com/cloudflare/cloudflared / runIngressTestScenarios

Function runIngressTestScenarios

proxy/proxy_test.go:364–399  ·  view source on GitHub ↗
(t *testing.T, unvalidatedIngress []config.UnvalidatedIngressRule, tests []MultipleIngressTest)

Source from the content-addressed store, hash-verified

362}
363
364func runIngressTestScenarios(t *testing.T, unvalidatedIngress []config.UnvalidatedIngressRule, tests []MultipleIngressTest) {
365 ingressRule, err := ingress.ParseIngress(&config.Configuration{
366 TunnelID: t.Name(),
367 Ingress: unvalidatedIngress,
368 })
369 require.NoError(t, err)
370
371 log := zerolog.Nop()
372
373 ctx, cancel := context.WithCancel(t.Context())
374 require.NoError(t, ingressRule.StartOrigins(&log, ctx.Done()))
375
376 originDialer := ingress.NewOriginDialer(ingress.OriginConfig{
377 DefaultDialer: testDefaultDialer,
378 TCPWriteTimeout: 1 * time.Second,
379 }, &log)
380
381 proxy := NewOriginProxy(ingressRule, originDialer, testTags, cfdflow.NewLimiter(0), &log)
382
383 for _, test := range tests {
384 responseWriter := newMockHTTPRespWriter()
385 req, err := http.NewRequest(http.MethodGet, test.url, nil)
386 require.NoError(t, err)
387
388 err = proxy.ProxyHTTP(responseWriter, tracing.NewTracedHTTPRequest(req, 0, &log), false)
389 require.NoError(t, err)
390
391 assert.Equal(t, test.expectedStatus, responseWriter.Code)
392 if test.expectedBody != nil {
393 assert.Equal(t, test.expectedBody, responseWriter.Body.Bytes())
394 } else {
395 assert.Equal(t, 0, responseWriter.Body.Len())
396 }
397 }
398 cancel()
399}
400
401type mockAPI struct{}
402

Callers 2

TestUnixSocketOriginFunction · 0.85
TestProxyMultipleOriginsFunction · 0.85

Calls 12

ProxyHTTPMethod · 0.95
ParseIngressFunction · 0.92
NewOriginDialerFunction · 0.92
NewTracedHTTPRequestFunction · 0.92
NewOriginProxyFunction · 0.85
newMockHTTPRespWriterFunction · 0.85
StartOriginsMethod · 0.80
BytesMethod · 0.80
LenMethod · 0.80
NameMethod · 0.65
ContextMethod · 0.65
EqualMethod · 0.65

Tested by

no test coverage detected