go-circom-prover-verifier/verifier/verifier_test.go
verifier/verifier_test.goRaw
1package verifier
2
3import (
4 "io/ioutil"
5 "testing"
6
7 "github.com/iden3/go-circom-prover-verifier/parsers"
8
9 "github.com/stretchr/testify/assert"
10 "github.com/stretchr/testify/require"
11)
12
13func TestVerify1(t *testing.T) {
14 proofJson, err := ioutil.ReadFile("../testdata/big/proof.json")
15 require.Nil(t, err)
16 vkJson, err := ioutil.ReadFile("../testdata/big/verification_key.json")
17 require.Nil(t, err)
18 publicJson, err := ioutil.ReadFile("../testdata/big/public.json")
19 require.Nil(t, err)
20
21 public, err := parsers.ParsePublicSignals(publicJson)
22 require.Nil(t, err)
23 proof, err := parsers.ParseProof(proofJson)
24 require.Nil(t, err)
25 vk, err := parsers.ParseVk(vkJson)
26 require.Nil(t, err)
27
28 v := Verify(vk, proof, public)
29 assert.True(t, v)
30}
31
32func BenchmarkVerify(b *testing.B) {
33 proofJson, err := ioutil.ReadFile("../testdata/big/proof.json")
34 require.Nil(b, err)
35 vkJson, err := ioutil.ReadFile("../testdata/big/verification_key.json")
36 require.Nil(b, err)
37 publicJson, err := ioutil.ReadFile("../testdata/big/public.json")
38 require.Nil(b, err)
39
40 public, err := parsers.ParsePublicSignals(publicJson)
41 require.Nil(b, err)
42 proof, err := parsers.ParseProof(proofJson)
43 require.Nil(b, err)
44 vk, err := parsers.ParseVk(vkJson)
45 require.Nil(b, err)
46
47 for i := 0; i < b.N; i++ {
48 Verify(vk, proof, public)
49 }
50}