Skip to content

Commit 892009c

Browse files
committed
fix: added testcases for flag groups
1 parent f158c45 commit 892009c

File tree

2 files changed

+69
-0
lines changed

2 files changed

+69
-0
lines changed

internal/cmd/beta/image/create/create_test.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,32 @@ func TestParseInput(t *testing.T) {
233233
}
234234
}),
235235
},
236+
{
237+
description: "only rescue bus is invalid",
238+
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
239+
delete(flagValues, rescueDeviceFlag)
240+
}),
241+
isValid: false,
242+
},
243+
{
244+
description: "only rescue device is invalid",
245+
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
246+
delete(flagValues, rescueBusFlag)
247+
}),
248+
isValid: false,
249+
},
250+
{
251+
description: "no rescue device and no bus is valid",
252+
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
253+
delete(flagValues, rescueBusFlag)
254+
delete(flagValues, rescueDeviceFlag)
255+
}),
256+
isValid: true,
257+
expectedModel: fixtureInputModel(func(model *inputModel) {
258+
model.Config.RescueBus = nil
259+
model.Config.RescueDevice = nil
260+
}),
261+
},
236262
}
237263

238264
for _, tt := range tests {
@@ -253,6 +279,13 @@ func TestParseInput(t *testing.T) {
253279
}
254280
}
255281

282+
if err := cmd.ValidateFlagGroups(); err != nil {
283+
if !tt.isValid {
284+
return
285+
}
286+
t.Fatalf("error validating flag groups: %v", err)
287+
}
288+
256289
if err := cmd.ValidateRequiredFlags(); err != nil {
257290
if !tt.isValid {
258291
return

internal/cmd/beta/image/update/update_test.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,35 @@ func TestParseInput(t *testing.T) {
268268
args: []string{uuid.NewString(), uuid.NewString()},
269269
isValid: false,
270270
},
271+
{
272+
description: "only rescue bus is invalid",
273+
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
274+
delete(flagValues, rescueDeviceFlag)
275+
}),
276+
args: []string{testImageId[0]},
277+
isValid: false,
278+
},
279+
{
280+
description: "only rescue device is invalid",
281+
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
282+
delete(flagValues, rescueBusFlag)
283+
}),
284+
args: []string{testImageId[0]},
285+
isValid: false,
286+
},
287+
{
288+
description: "no rescue device and no bus is valid",
289+
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
290+
delete(flagValues, rescueBusFlag)
291+
delete(flagValues, rescueDeviceFlag)
292+
}),
293+
isValid: true,
294+
args: []string{testImageId[0]},
295+
expectedModel: fixtureInputModel(func(model *inputModel) {
296+
model.Config.RescueBus = nil
297+
model.Config.RescueDevice = nil
298+
}),
299+
},
271300
}
272301

273302
for _, tt := range tests {
@@ -294,6 +323,13 @@ func TestParseInput(t *testing.T) {
294323
t.Fatalf("error validating flags: %v", err)
295324
}
296325

326+
if err := cmd.ValidateFlagGroups(); err != nil {
327+
if !tt.isValid {
328+
return
329+
}
330+
t.Fatalf("error validating flag groups: %v", err)
331+
}
332+
297333
if err := cmd.ValidateArgs(tt.args); err != nil {
298334
if !tt.isValid {
299335
return

0 commit comments

Comments
 (0)