package cli import ( "bytes" "strings" "testing" "github.com/smallnest/pigo/internal/provider" ) // TestPrintProviderHelp verifies the --help "Supported providers" block is // derived from the registry: every built-in provider name, its env vars, and // its protocol must appear, so the docs cannot silently drift from the code. func TestPrintProviderHelp(t *testing.T) { var buf bytes.Buffer PrintProviderHelp(&buf) out := buf.String() for _, spec := range provider.ProviderSpecs() { if !strings.Contains(out, spec.Name+":") { t.Errorf("help output missing provider %q", spec.Name) } for _, env := range spec.EnvVars { if !strings.Contains(out, env) { t.Errorf("help output missing env var %q for provider %q", env, spec.Name) } } if !strings.Contains(out, "["+spec.Protocol+"]") { t.Errorf("help output missing protocol %q for provider %q", spec.Protocol, spec.Name) } } }