Skip to content

Commit e90546b

Browse files
authored
test(signature): add two fuzz tests (#229)
Signed-off-by: AdamKorcz <[email protected]> Signed-off-by: Adam Korczynski <[email protected]>
1 parent 0786f51 commit e90546b

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

signature/cose/fuzz_test.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright The Notary Project Authors.
2+
// Licensed under the Apache License, Version 2.0 (the "License");
3+
// you may not use this file except in compliance with the License.
4+
// You may obtain a copy of the License at
5+
//
6+
// http://www.apache.org/licenses/LICENSE-2.0
7+
//
8+
// Unless required by applicable law or agreed to in writing, software
9+
// distributed under the License is distributed on an "AS IS" BASIS,
10+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
// See the License for the specific language governing permissions and
12+
// limitations under the License.
13+
14+
package cose
15+
16+
import (
17+
"testing"
18+
)
19+
20+
func FuzzSignatureCose(f *testing.F) {
21+
f.Fuzz(func(t *testing.T, envelopeBytes []byte, shouldVerify bool) {
22+
e, err := ParseEnvelope(envelopeBytes)
23+
if err != nil {
24+
t.Skip()
25+
}
26+
27+
if shouldVerify {
28+
_, _ = e.Verify()
29+
} else {
30+
_, _ = e.Content()
31+
}
32+
})
33+
}

signature/jws/fuzz_test.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright The Notary Project Authors.
2+
// Licensed under the Apache License, Version 2.0 (the "License");
3+
// you may not use this file except in compliance with the License.
4+
// You may obtain a copy of the License at
5+
//
6+
// http://www.apache.org/licenses/LICENSE-2.0
7+
//
8+
// Unless required by applicable law or agreed to in writing, software
9+
// distributed under the License is distributed on an "AS IS" BASIS,
10+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
// See the License for the specific language governing permissions and
12+
// limitations under the License.
13+
14+
package jws
15+
16+
import (
17+
"testing"
18+
)
19+
20+
func FuzzSignatureJws(f *testing.F) {
21+
f.Fuzz(func(t *testing.T, envelopeBytes []byte, shouldVerify bool) {
22+
e, err := ParseEnvelope(envelopeBytes)
23+
if err != nil {
24+
t.Skip()
25+
}
26+
27+
if shouldVerify {
28+
_, _ = e.Verify()
29+
} else {
30+
_, _ = e.Content()
31+
}
32+
})
33+
}

0 commit comments

Comments
 (0)