@@ -43,6 +43,7 @@ func TestNewService(t *testing.T) {
43
43
}
44
44
45
45
func TestGetPasswdByName (t * testing.T ) {
46
+ goldenTracker := testutils .NewGoldenTracker (t )
46
47
tests := map [string ]struct {
47
48
username string
48
49
@@ -73,12 +74,14 @@ func TestGetPasswdByName(t *testing.T) {
73
74
client := newNSSClient (t , tc .sourceDB , false )
74
75
75
76
got , err := client .GetPasswdByName (context .Background (), & authd.GetPasswdByNameRequest {Name : tc .username , ShouldPreCheck : tc .shouldPreCheck })
76
- requireExpectedResult (t , "GetPasswdByName" , got , err , tc .wantErr , tc .wantErrNotExists )
77
+ requireExpectedResult (t , & goldenTracker , "GetPasswdByName" , got , err , tc .wantErr , tc .wantErrNotExists )
77
78
})
78
79
}
79
80
}
80
81
82
+ //nolint:dupl // This is not a duplicate test
81
83
func TestGetPasswdByUID (t * testing.T ) {
84
+ goldenTracker := testutils .NewGoldenTracker (t )
82
85
tests := map [string ]struct {
83
86
uid uint32
84
87
@@ -101,12 +104,13 @@ func TestGetPasswdByUID(t *testing.T) {
101
104
client := newNSSClient (t , tc .sourceDB , false )
102
105
103
106
got , err := client .GetPasswdByUID (context .Background (), & authd.GetByIDRequest {Id : tc .uid })
104
- requireExpectedResult (t , "GetPasswdByUID" , got , err , tc .wantErr , tc .wantErrNotExists )
107
+ requireExpectedResult (t , & goldenTracker , "GetPasswdByUID" , got , err , tc .wantErr , tc .wantErrNotExists )
105
108
})
106
109
}
107
110
}
108
111
109
112
func TestGetPasswdEntries (t * testing.T ) {
113
+ goldenTracker := testutils .NewGoldenTracker (t )
110
114
tests := map [string ]struct {
111
115
sourceDB string
112
116
@@ -125,12 +129,14 @@ func TestGetPasswdEntries(t *testing.T) {
125
129
client := newNSSClient (t , tc .sourceDB , false )
126
130
127
131
got , err := client .GetPasswdEntries (context .Background (), & authd.Empty {})
128
- requireExpectedEntriesResult (t , "GetPasswdEntries" , got .GetEntries (), err , tc .wantErr )
132
+ requireExpectedEntriesResult (t , & goldenTracker , "GetPasswdEntries" , got .GetEntries (), err , tc .wantErr )
129
133
})
130
134
}
131
135
}
132
136
137
+ //nolint:dupl // This is not a duplicate test
133
138
func TestGetGroupByName (t * testing.T ) {
139
+ goldenTracker := testutils .NewGoldenTracker (t )
134
140
tests := map [string ]struct {
135
141
groupname string
136
142
@@ -153,12 +159,14 @@ func TestGetGroupByName(t *testing.T) {
153
159
client := newNSSClient (t , tc .sourceDB , false )
154
160
155
161
got , err := client .GetGroupByName (context .Background (), & authd.GetGroupByNameRequest {Name : tc .groupname })
156
- requireExpectedResult (t , "GetGroupByName" , got , err , tc .wantErr , tc .wantErrNotExists )
162
+ requireExpectedResult (t , & goldenTracker , "GetGroupByName" , got , err , tc .wantErr , tc .wantErrNotExists )
157
163
})
158
164
}
159
165
}
160
166
167
+ //nolint:dupl // This is not a duplicate test
161
168
func TestGetGroupByGID (t * testing.T ) {
169
+ goldenTracker := testutils .NewGoldenTracker (t )
162
170
tests := map [string ]struct {
163
171
gid uint32
164
172
@@ -181,12 +189,13 @@ func TestGetGroupByGID(t *testing.T) {
181
189
client := newNSSClient (t , tc .sourceDB , false )
182
190
183
191
got , err := client .GetGroupByGID (context .Background (), & authd.GetByIDRequest {Id : tc .gid })
184
- requireExpectedResult (t , "GetGroupByGID" , got , err , tc .wantErr , tc .wantErrNotExists )
192
+ requireExpectedResult (t , & goldenTracker , "GetGroupByGID" , got , err , tc .wantErr , tc .wantErrNotExists )
185
193
})
186
194
}
187
195
}
188
196
189
197
func TestGetGroupEntries (t * testing.T ) {
198
+ goldenTracker := testutils .NewGoldenTracker (t )
190
199
tests := map [string ]struct {
191
200
sourceDB string
192
201
@@ -205,12 +214,13 @@ func TestGetGroupEntries(t *testing.T) {
205
214
client := newNSSClient (t , tc .sourceDB , false )
206
215
207
216
got , err := client .GetGroupEntries (context .Background (), & authd.Empty {})
208
- requireExpectedEntriesResult (t , "GetGroupEntries" , got .GetEntries (), err , tc .wantErr )
217
+ requireExpectedEntriesResult (t , & goldenTracker , "GetGroupEntries" , got .GetEntries (), err , tc .wantErr )
209
218
})
210
219
}
211
220
}
212
221
213
222
func TestGetShadowByName (t * testing.T ) {
223
+ goldenTracker := testutils .NewGoldenTracker (t )
214
224
tests := map [string ]struct {
215
225
username string
216
226
@@ -235,12 +245,13 @@ func TestGetShadowByName(t *testing.T) {
235
245
client := newNSSClient (t , tc .sourceDB , tc .currentUserNotRoot )
236
246
237
247
got , err := client .GetShadowByName (context .Background (), & authd.GetShadowByNameRequest {Name : tc .username })
238
- requireExpectedResult (t , "GetShadowByName" , got , err , tc .wantErr , tc .wantErrNotExists )
248
+ requireExpectedResult (t , & goldenTracker , "GetShadowByName" , got , err , tc .wantErr , tc .wantErrNotExists )
239
249
})
240
250
}
241
251
}
242
252
243
253
func TestGetShadowEntries (t * testing.T ) {
254
+ goldenTracker := testutils .NewGoldenTracker (t )
244
255
tests := map [string ]struct {
245
256
sourceDB string
246
257
currentUserNotRoot bool
@@ -261,7 +272,7 @@ func TestGetShadowEntries(t *testing.T) {
261
272
client := newNSSClient (t , tc .sourceDB , tc .currentUserNotRoot )
262
273
263
274
got , err := client .GetShadowEntries (context .Background (), & authd.Empty {})
264
- requireExpectedEntriesResult (t , "GetShadowEntries" , got .GetEntries (), err , tc .wantErr )
275
+ requireExpectedEntriesResult (t , & goldenTracker , "GetShadowEntries" , got .GetEntries (), err , tc .wantErr )
265
276
})
266
277
}
267
278
}
@@ -354,7 +365,7 @@ func newBrokersManagerForTests(t *testing.T) *brokers.Manager {
354
365
}
355
366
356
367
// requireExpectedResult asserts expected behaviour from any get* NSS requests and can update them from golden content.
357
- func requireExpectedResult [T authd.PasswdEntry | authd.GroupEntry | authd.ShadowEntry ](t * testing.T , funcName string , got * T , err error , wantErr , wantErrNotExists bool ) {
368
+ func requireExpectedResult [T authd.PasswdEntry | authd.GroupEntry | authd.ShadowEntry ](t * testing.T , goldenTracker * testutils. GoldenTracker , funcName string , got * T , err error , wantErr , wantErrNotExists bool ) {
358
369
t .Helper ()
359
370
360
371
if wantErr {
@@ -368,12 +379,13 @@ func requireExpectedResult[T authd.PasswdEntry | authd.GroupEntry | authd.Shadow
368
379
}
369
380
require .NoError (t , err , fmt .Sprintf ("%s should not return an error, but did" , funcName ))
370
381
371
- want := testutils .LoadWithUpdateFromGoldenYAML (t , got )
382
+ want := testutils .LoadWithUpdateFromGoldenYAML (t , got ,
383
+ testutils .WithGoldenTracker (goldenTracker ))
372
384
requireExportedEquals (t , want , got , fmt .Sprintf ("%s should return the expected entry, but did not" , funcName ))
373
385
}
374
386
375
387
// requireExpectedEntriesResult asserts expected behaviour from any get* NSS request returning a list and can update them from golden content.
376
- func requireExpectedEntriesResult [T authd.PasswdEntry | authd.GroupEntry | authd.ShadowEntry ](t * testing.T , funcName string , got []* T , err error , wantErr bool ) {
388
+ func requireExpectedEntriesResult [T authd.PasswdEntry | authd.GroupEntry | authd.ShadowEntry ](t * testing.T , goldenTracker * testutils. GoldenTracker , funcName string , got []* T , err error , wantErr bool ) {
377
389
t .Helper ()
378
390
379
391
if wantErr {
@@ -385,7 +397,8 @@ func requireExpectedEntriesResult[T authd.PasswdEntry | authd.GroupEntry | authd
385
397
}
386
398
require .NoError (t , err , fmt .Sprintf ("%s should not return an error, but did" , funcName ))
387
399
388
- want := testutils .LoadWithUpdateFromGoldenYAML (t , got )
400
+ want := testutils .LoadWithUpdateFromGoldenYAML (t , got ,
401
+ testutils .WithGoldenTracker (goldenTracker ))
389
402
if len (want ) != len (got ) {
390
403
require .Equal (t , len (want ), len (got ), "Not the expected number of elements in the list. Wanted: %v\n Got: %v" , want , got )
391
404
}
0 commit comments