-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathencryption_algorithm_test.go
More file actions
77 lines (70 loc) · 2.37 KB
/
Copy pathencryption_algorithm_test.go
File metadata and controls
77 lines (70 loc) · 2.37 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package fapi
import "testing"
func TestKeyManagementAlgorithmStringRoundTrip(t *testing.T) {
for _, alg := range []KeyManagementAlgorithm{RSAOAEP256, ECDHESA256KW} {
s := alg.String()
if s == "" {
t.Fatalf("%v.String() = %q, want non-empty", alg, s)
}
got, err := ParseKeyManagementAlgorithm(s)
if err != nil {
t.Fatalf("ParseKeyManagementAlgorithm(%q) error: %v", s, err)
}
if got != alg {
t.Fatalf("ParseKeyManagementAlgorithm(%q) = %v, want %v", s, got, alg)
}
if !alg.IsValid() {
t.Fatalf("%v.IsValid() = false, want true", alg)
}
}
}
func TestParseKeyManagementAlgorithmRejectsUnsupported(t *testing.T) {
for _, s := range []string{"RSA-OAEP", "ECDH-ES", "ECDH-ES+A128KW", "dir", "", "rsa-oaep-256"} {
if _, err := ParseKeyManagementAlgorithm(s); err == nil {
t.Fatalf("ParseKeyManagementAlgorithm(%q) = nil error, want error", s)
}
}
}
func TestKeyManagementAlgorithmZeroValueInvalid(t *testing.T) {
var alg KeyManagementAlgorithm
if alg.IsValid() {
t.Fatalf("zero value KeyManagementAlgorithm.IsValid() = true, want false")
}
if alg.String() != "" {
t.Fatalf("zero value KeyManagementAlgorithm.String() = %q, want empty", alg.String())
}
}
func TestContentEncryptionAlgorithmStringRoundTrip(t *testing.T) {
for _, alg := range []ContentEncryptionAlgorithm{A256GCM, A256CBCHS512} {
s := alg.String()
if s == "" {
t.Fatalf("%v.String() = %q, want non-empty", alg, s)
}
got, err := ParseContentEncryptionAlgorithm(s)
if err != nil {
t.Fatalf("ParseContentEncryptionAlgorithm(%q) error: %v", s, err)
}
if got != alg {
t.Fatalf("ParseContentEncryptionAlgorithm(%q) = %v, want %v", s, got, alg)
}
if !alg.IsValid() {
t.Fatalf("%v.IsValid() = false, want true", alg)
}
}
}
func TestParseContentEncryptionAlgorithmRejectsUnsupported(t *testing.T) {
for _, s := range []string{"A128GCM", "A192GCM", "A128CBC-HS256", "A256CBC-HS256", "", "a256gcm"} {
if _, err := ParseContentEncryptionAlgorithm(s); err == nil {
t.Fatalf("ParseContentEncryptionAlgorithm(%q) = nil error, want error", s)
}
}
}
func TestContentEncryptionAlgorithmZeroValueInvalid(t *testing.T) {
var alg ContentEncryptionAlgorithm
if alg.IsValid() {
t.Fatalf("zero value ContentEncryptionAlgorithm.IsValid() = true, want false")
}
if alg.String() != "" {
t.Fatalf("zero value ContentEncryptionAlgorithm.String() = %q, want empty", alg.String())
}
}