From 1357e34a7d08778b4b2e017cfa1080fa03dad66f Mon Sep 17 00:00:00 2001 From: Adam Korczynski Date: Thu, 19 Sep 2024 21:41:02 +0000 Subject: [PATCH] add fuzz test for artifact reference parsing Signed-off-by: Adam Korczynski --- fuzz_test.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 fuzz_test.go diff --git a/fuzz_test.go b/fuzz_test.go new file mode 100644 index 00000000..12b2e345 --- /dev/null +++ b/fuzz_test.go @@ -0,0 +1,33 @@ +// Copyright The Notary Project Authors. +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package notation + +import ( + "testing" + + orasRegistry "oras.land/oras-go/v2/registry" +) + +func FuzzArtifactReferenceParsing(f *testing.F) { + f.Fuzz(func(t *testing.T, artifactRef string) { + ref, err := orasRegistry.ParseReference(artifactRef) + if err != nil { + t.Skip() + } + if ref.Reference == "" { + t.Skip() + } + ref.ValidateReferenceAsDigest() + }) +}