Skip to content

Commit ec5dd6d

Browse files
Improving unit tests coverage (#1218)
Signed-off-by: Abhishek Sharma <abhishek44sharma@gmail.com>
1 parent edfcf3c commit ec5dd6d

File tree

4 files changed

+347
-23
lines changed

4 files changed

+347
-23
lines changed

core/constants/val/val_test.go

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package val
22

3-
import "testing"
3+
import (
4+
"testing"
5+
)
46

57
func TestNever(t *testing.T) {
68
type args struct {
@@ -97,3 +99,39 @@ func TestNever(t *testing.T) {
9799
})
98100
}
99101
}
102+
103+
func TestTrue(t *testing.T) {
104+
tests := []struct {
105+
name string
106+
s string
107+
want bool
108+
}{
109+
{
110+
name: "true all small",
111+
s: "true",
112+
want: true,
113+
},
114+
{
115+
name: "true all caps",
116+
s: "TRUE",
117+
want: true,
118+
},
119+
{
120+
name: "invalid chars",
121+
s: "@!234",
122+
want: false,
123+
},
124+
{
125+
name: "incorrect string",
126+
s: "ture",
127+
want: false,
128+
},
129+
}
130+
for _, tt := range tests {
131+
t.Run(tt.name, func(t *testing.T) {
132+
if got := True(tt.s); got != tt.want {
133+
t.Errorf("True() = %v, want %v", got, tt.want)
134+
}
135+
})
136+
}
137+
}

core/crypto/crypto_test.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -37,22 +37,22 @@ func TestRandomString(t *testing.T) {
3737
want: 8,
3838
wantErr: nil,
3939
},
40-
//{
41-
// name: "failure_case",
42-
// setup: func() {
43-
// reader = func(b []byte) (n int, err error) {
44-
// return 0, errors.New("failed during rand.Read() call")
45-
// }
46-
// },
47-
// args: args{
48-
// n: 8,
49-
// },
50-
// want: 0,
51-
// wantErr: errors.New("failed during rand.Read() call"),
52-
// cleanup: func() {
53-
// reader = rand.Read
54-
// },
55-
//},
40+
// {
41+
// name: "failure_case",
42+
// setup: func() {
43+
// reader = func(b []byte) (n int, err error) {
44+
// return 0, errors.New("failed during rand.Read() call")
45+
// }
46+
// },
47+
// args: args{
48+
// n: 8,
49+
// },
50+
// want: 0,
51+
// wantErr: errors.New("failed during rand.Read() call"),
52+
// cleanup: func() {
53+
// reader = rand.Read
54+
// },
55+
// },
5656
}
5757
for _, tt := range tests {
5858
t.Run(tt.name, func(t *testing.T) {

core/entity/v1/data/crypto_test.go

Lines changed: 257 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,257 @@
1+
/*
2+
| Protect your secrets, protect your sensitive data.
3+
: Explore VMware Secrets Manager docs at https://vsecm.com/
4+
</
5+
<>/ keep your secrets... secret
6+
>/
7+
<>/' Copyright 2023-present VMware Secrets Manager contributors.
8+
>/' SPDX-License-Identifier: BSD-2-Clause
9+
*/
10+
11+
package data
12+
13+
import (
14+
"reflect"
15+
"testing"
16+
)
17+
18+
func TestRootKeyCollection_Combine(t *testing.T) {
19+
type fields struct {
20+
PrivateKey string
21+
PublicKey string
22+
AesSeed string
23+
}
24+
tests := []struct {
25+
name string
26+
fields fields
27+
want string
28+
}{
29+
{
30+
name: "empty rkt keys",
31+
fields: fields{
32+
PrivateKey: "",
33+
PublicKey: "",
34+
AesSeed: "",
35+
},
36+
want: "",
37+
},
38+
{
39+
name: "initialized rkt keys",
40+
fields: fields{
41+
PrivateKey: "test-pvt-key",
42+
PublicKey: "test-pub-key",
43+
AesSeed: "test-seed",
44+
},
45+
want: "test-pvt-key\ntest-pub-key\ntest-seed",
46+
},
47+
}
48+
for _, tt := range tests {
49+
t.Run(tt.name, func(t *testing.T) {
50+
rkt := &RootKeyCollection{
51+
PrivateKey: tt.fields.PrivateKey,
52+
PublicKey: tt.fields.PublicKey,
53+
AesSeed: tt.fields.AesSeed,
54+
}
55+
if got := rkt.Combine(); got != tt.want {
56+
t.Errorf("RootKeyCollection.Combine() = %v, want %v", got, tt.want)
57+
}
58+
})
59+
}
60+
}
61+
62+
func TestRootKeyCollection_Empty(t *testing.T) {
63+
type fields struct {
64+
PrivateKey string
65+
PublicKey string
66+
AesSeed string
67+
}
68+
tests := []struct {
69+
name string
70+
fields fields
71+
want bool
72+
}{
73+
{
74+
name: "empty rkt keys",
75+
fields: fields{
76+
PrivateKey: "",
77+
PublicKey: "",
78+
AesSeed: "",
79+
},
80+
want: true,
81+
},
82+
{
83+
name: "non empty private key",
84+
fields: fields{
85+
PrivateKey: "pvt-key",
86+
PublicKey: "",
87+
AesSeed: "",
88+
},
89+
want: false,
90+
},
91+
{
92+
name: "non empty public key",
93+
fields: fields{
94+
PrivateKey: "",
95+
PublicKey: "pub-key",
96+
AesSeed: "",
97+
},
98+
want: false,
99+
},
100+
{
101+
name: "non empty aes seed",
102+
fields: fields{
103+
PrivateKey: "",
104+
PublicKey: "",
105+
AesSeed: "aes-seed",
106+
},
107+
want: false,
108+
},
109+
{
110+
name: "non empty private and public keys",
111+
fields: fields{
112+
PrivateKey: "pvt-key",
113+
PublicKey: "pub-key",
114+
AesSeed: "",
115+
},
116+
want: false,
117+
},
118+
{
119+
name: "non empty private key and aes seed",
120+
fields: fields{
121+
PrivateKey: "pvt-key",
122+
PublicKey: "",
123+
AesSeed: "aes-seed",
124+
},
125+
want: false,
126+
},
127+
{
128+
name: "non empty public key and aes seed",
129+
fields: fields{
130+
PrivateKey: "",
131+
PublicKey: "pub-key",
132+
AesSeed: "aes-seed",
133+
},
134+
want: false,
135+
},
136+
{
137+
name: "non empty public, private key, and aes seed",
138+
fields: fields{
139+
PrivateKey: "pvt-key",
140+
PublicKey: "pub-key",
141+
AesSeed: "aes-seed",
142+
},
143+
want: false,
144+
},
145+
}
146+
for _, tt := range tests {
147+
t.Run(tt.name, func(t *testing.T) {
148+
rkt := &RootKeyCollection{
149+
PrivateKey: tt.fields.PrivateKey,
150+
PublicKey: tt.fields.PublicKey,
151+
AesSeed: tt.fields.AesSeed,
152+
}
153+
if got := rkt.Empty(); got != tt.want {
154+
t.Errorf("RootKeyCollection.Empty() = %v, want %v", got, tt.want)
155+
}
156+
})
157+
}
158+
}
159+
160+
func TestRootKeyCollection_UpdateFromSerialized(t *testing.T) {
161+
tests := []struct {
162+
name string
163+
serialized string
164+
want *RootKeyCollection
165+
}{
166+
{
167+
name: "empty serialized",
168+
serialized: "",
169+
want: &RootKeyCollection{
170+
PrivateKey: "",
171+
PublicKey: "",
172+
AesSeed: "",
173+
},
174+
},
175+
{
176+
name: "serialized with no separator",
177+
serialized: "pvt-key",
178+
want: &RootKeyCollection{
179+
PrivateKey: "",
180+
PublicKey: "",
181+
AesSeed: "",
182+
},
183+
},
184+
{
185+
name: "serialized with one separator",
186+
serialized: "pvt-key\npub-key",
187+
want: &RootKeyCollection{
188+
PrivateKey: "",
189+
PublicKey: "",
190+
AesSeed: "",
191+
},
192+
},
193+
{
194+
name: "serialized with two separator",
195+
serialized: "pvt-key\npub-key\naes-seed",
196+
want: &RootKeyCollection{
197+
PrivateKey: "pvt-key",
198+
PublicKey: "pub-key",
199+
AesSeed: "aes-seed",
200+
},
201+
},
202+
{
203+
name: "serialized with four separator",
204+
serialized: "pvt-key\npub-key\naes-seed\n",
205+
want: &RootKeyCollection{
206+
PrivateKey: "pvt-key",
207+
PublicKey: "pub-key",
208+
AesSeed: "aes-seed",
209+
},
210+
},
211+
{
212+
name: "serialized with three keys and with invalid separator",
213+
serialized: "pvt-key\tpub-key\taes-seed",
214+
want: &RootKeyCollection{
215+
PrivateKey: "",
216+
PublicKey: "",
217+
AesSeed: "",
218+
},
219+
},
220+
{
221+
name: "empty serialized with valid separator",
222+
serialized: "\n\n",
223+
want: &RootKeyCollection{
224+
PrivateKey: "",
225+
PublicKey: "",
226+
AesSeed: "",
227+
},
228+
},
229+
{
230+
name: "empty serialized with invalid separator",
231+
serialized: "\t\t",
232+
want: &RootKeyCollection{
233+
PrivateKey: "",
234+
PublicKey: "",
235+
AesSeed: "",
236+
},
237+
},
238+
{
239+
name: "empty serialized with invalid separator",
240+
serialized: "\t\t",
241+
want: &RootKeyCollection{
242+
PrivateKey: "",
243+
PublicKey: "",
244+
AesSeed: "",
245+
},
246+
},
247+
}
248+
for _, tt := range tests {
249+
t.Run(tt.name, func(t *testing.T) {
250+
rkt := &RootKeyCollection{}
251+
rkt.UpdateFromSerialized(tt.serialized)
252+
if !reflect.DeepEqual(rkt, tt.want) {
253+
t.Errorf("RootKeyCollection.UpdateFromSerialized() = %v, want %v", rkt, tt.want)
254+
}
255+
})
256+
}
257+
}

0 commit comments

Comments
 (0)