Watch
1
0
Fork
You've already forked pkg-proxy
1
mirror of https://github.com/git-pkgs/proxy.git synced 2026-11-10 08:09:17 -05:00
pkg-proxy/internal/denylist/denylist_test.go
2026-09-20 14:42:30 +05:30

39 lines
1.2 KiB
Go

package denylist
import "testing"
func TestPolicy(t *testing.T) {
p, err := New([]string{"pkg:pypi/My_Package@1.0", "pkg:npm/@scope/name@2.0.0", "pkg:npm/%40scope/name@2.0.0"})
if err != nil {
t.Fatal(err)
}
for _, value := range []string{"pkg:pypi/my-package@1.0", "pkg:npm/%40scope/name@2.0.0"} {
if !p.Denied(value) {
t.Errorf("not denied: %s", value)
}
}
for _, value := range []string{"pkg:pypi/my-package@1.1", "pkg:pypi/my-package", "pkg:npm/other@2.0.0", "invalid"} {
if p.Denied(value) {
t.Errorf("unexpected denial: %s", value)
}
}
versions := p.Versions("pkg:pypi/my-package")
delete(versions, "1.0")
if !p.Denied("pkg:pypi/my-package@1.0") {
t.Fatal("caller mutated policy")
}
var empty *Policy
if empty.Denied("pkg:npm/example@1") || empty.Versions("pkg:npm/example") != nil {
t.Fatal("nil policy must allow everything")
}
}
func TestInvalidPolicy(t *testing.T) {
for _, value := range []string{"", "not-a-purl", "pkg:npm/foo", "pkg:npm/foo@*", "pkg:npm/foo@>=1", "pkg:npm/foo@1?arch=x86", "pkg:npm/foo@1#src"} {
t.Run(value, func(t *testing.T) {
if _, err := New([]string{value}); err == nil {
t.Fatal("invalid denylist accepted")
}
})
}
}