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