1package verify
2
3import (
4	"github.com/lestrrat-go/jwx/jwa"
5	"testing"
6)
7
8func TestHMACVerify(t *testing.T) {
9	type dummyStruct struct {
10		dummy1 int
11		dummy2 float64
12	}
13	dummy := &dummyStruct{1, 3.4}
14	t.Run("HMAC Verifier Creation Error", func(t *testing.T) {
15		_, err := newHMAC(jwa.ES256)
16		if err == nil {
17			t.Fatal("HMAC Verifier Object creation should fail")
18		}
19	})
20	t.Run("HMAC Verifier Sign Error", func(t *testing.T) {
21		pVerifier, err := newHMAC(jwa.HS512)
22		if err != nil {
23			t.Fatalf("Signer creation failure: %v", jwa.HS512)
24		}
25		err = pVerifier.Verify([]byte("payload"), []byte("signature"), dummy)
26		if err == nil {
27			t.Fatal("HMAC Verification should fail")
28		}
29
30	})
31}
32