mirror of
https://github.com/git-pkgs/proxy.git
synced 2026-11-09 07:39:19 -05:00
35 lines
933 B
Go
35 lines
933 B
Go
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")
|
|
}
|
|
})
|
|
}
|
|
}
|