Watch
1
0
Fork
You've already forked pkg-proxy
1
mirror of https://github.com/git-pkgs/proxy.git synced 2026-11-09 07:39:19 -05:00
pkg-proxy/internal/config/denylist_test.go

35 lines
933 B
Go
Raw Permalink Normal View History

package config
import (
"os"
"path/filepath"
"testing"
)
func TestDenylistConfig(t *testing.T) {
for _, tc := range []struct{ name, body string }{
{"yaml", "denylist:\n packages:\n - 'pkg:pypi/requests@2.31.0'\n"},
{"json", `{"denylist":{"packages":["pkg:pypi/requests@2.31.0"]}}`},
} {
t.Run(tc.name, func(t *testing.T) {
file := filepath.Join(t.TempDir(), "config."+tc.name)
if err := os.WriteFile(file, []byte(tc.body), 0o600); err != nil {
t.Fatal(err)
}
cfg, err := Load(file)
if err != nil {
t.Fatal(err)
}
if len(cfg.Denylist.Packages) != 1 || cfg.Denylist.Packages[0] != "pkg:pypi/requests@2.31.0" {
t.Fatalf("denylist = %+v", cfg.Denylist)
}
if err := cfg.Validate(); err != nil {
t.Fatal(err)
}
cfg.Denylist.Packages = []string{"pkg:pypi/requests"}
if err := cfg.Validate(); err == nil {
t.Fatal("unversioned denylist entry accepted")
}
})
}
}