-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathalgorithm_test.go
More file actions
40 lines (36 loc) · 1.09 KB
/
Copy pathalgorithm_test.go
File metadata and controls
40 lines (36 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package fapi
import "testing"
func TestSignatureAlgorithmStringRoundTrip(t *testing.T) {
for _, alg := range []SignatureAlgorithm{ES256, PS256, EdDSA} {
s := alg.String()
if s == "" {
t.Fatalf("%v.String() = %q, want non-empty", alg, s)
}
got, err := ParseSignatureAlgorithm(s)
if err != nil {
t.Fatalf("ParseSignatureAlgorithm(%q) error: %v", s, err)
}
if got != alg {
t.Fatalf("ParseSignatureAlgorithm(%q) = %v, want %v", s, got, alg)
}
if !alg.IsValid() {
t.Fatalf("%v.IsValid() = false, want true", alg)
}
}
}
func TestParseSignatureAlgorithmRejectsUnsupported(t *testing.T) {
for _, s := range []string{"none", "HS256", "RS256", "", "es256"} {
if _, err := ParseSignatureAlgorithm(s); err == nil {
t.Fatalf("ParseSignatureAlgorithm(%q) = nil error, want error", s)
}
}
}
func TestSignatureAlgorithmZeroValueInvalid(t *testing.T) {
var alg SignatureAlgorithm
if alg.IsValid() {
t.Fatalf("zero value SignatureAlgorithm.IsValid() = true, want false")
}
if alg.String() != "" {
t.Fatalf("zero value SignatureAlgorithm.String() = %q, want empty", alg.String())
}
}