coredns/plugin/pprof/setup_test.go
Ville Vesilehto f4ab4d9ed5
test(plugin): improve test coverage for pprof (#7473)
Add tests for Startup/Shutdown methods and HTTP endpoints.
Enhance setup tests with edge cases. Increases test coverage
from 58% to 100%.

Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
2025-08-25 13:06:19 -07:00

51 lines
1.0 KiB
Go

package pprof
import (
"testing"
"github.com/coredns/caddy"
)
func TestPProf(t *testing.T) {
tests := []struct {
input string
shouldErr bool
}{
{`pprof`, false},
{`pprof 1.2.3.4:1234`, false},
{`pprof :1234`, false},
{`pprof :1234 -1`, true},
{`pprof {
}`, false},
{`pprof /foo`, true},
{`pprof {
a b
}`, true},
{`pprof { block
}`, false},
{`pprof :1234 {
block 20
}`, false},
{`pprof {
block 20 30
}`, true},
{`pprof {
block invalid
}`, true},
{`pprof {
unknown_property
}`, true},
{`pprof
pprof`, true},
}
for i, test := range tests {
c := caddy.NewTestController("dns", test.input)
err := setup(c)
if test.shouldErr && err == nil {
t.Errorf("Test %v: Expected error but found nil", i)
} else if !test.shouldErr && err != nil {
t.Errorf("Test %v: Expected no error but found error: %v", i, err)
}
}
}