arnaucube
arnaucube/go-circom-prover-verifierPublic Self-hosted repository
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}