Skip to content

Commit 9c4a82e

Browse files
author
Devansh Thakur
committed
updated intake tests and make use of testutils
1 parent 7363742 commit 9c4a82e

File tree

3 files changed

+9
-138
lines changed

3 files changed

+9
-138
lines changed

internal/cmd/beta/intake/instance/create/create_test.go

Lines changed: 5 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ import (
77
"github.com/google/go-cmp/cmp"
88
"github.com/google/go-cmp/cmp/cmpopts"
99
"github.com/google/uuid"
10+
"github.com/spf13/cobra"
1011
"github.com/stackitcloud/stackit-cli/internal/cmd/params"
1112
"github.com/stackitcloud/stackit-cli/internal/pkg/globalflags"
1213
"github.com/stackitcloud/stackit-cli/internal/pkg/print"
14+
"github.com/stackitcloud/stackit-cli/internal/pkg/testutils"
1315
"github.com/stackitcloud/stackit-cli/internal/pkg/utils"
1416
"github.com/stackitcloud/stackit-sdk-go/services/intake"
1517
)
@@ -213,46 +215,9 @@ func TestParseInput(t *testing.T) {
213215

214216
for _, tt := range tests {
215217
t.Run(tt.description, func(t *testing.T) {
216-
p := print.NewPrinter()
217-
cmd := NewCmd(&params.CmdParams{Printer: p})
218-
err := globalflags.Configure(cmd.Flags())
219-
if err != nil {
220-
t.Fatalf("configure global flags: %v", err)
221-
}
222-
223-
for flag, value := range tt.flagValues {
224-
err := cmd.Flags().Set(flag, value)
225-
if err != nil {
226-
if !tt.isValid {
227-
return
228-
}
229-
t.Fatalf("setting flag --%s=%s: %v", flag, value, err)
230-
}
231-
}
232-
233-
err = cmd.ValidateRequiredFlags()
234-
if err != nil {
235-
if !tt.isValid {
236-
return
237-
}
238-
t.Fatalf("error validating flags: %v", err)
239-
}
240-
241-
model, err := parseInput(p, cmd)
242-
if err != nil {
243-
if !tt.isValid {
244-
return
245-
}
246-
t.Fatalf("error parsing flags: %v", err)
247-
}
248-
249-
if !tt.isValid {
250-
t.Fatalf("did not fail on invalid input")
251-
}
252-
diff := cmp.Diff(model, tt.expectedModel)
253-
if diff != "" {
254-
t.Fatalf("Data does not match: %s", diff)
255-
}
218+
testutils.TestParseInput(t, NewCmd, func(p *print.Printer, cmd *cobra.Command, args []string) (*inputModel, error) {
219+
return parseInput(p, cmd)
220+
}, tt.expectedModel, nil, tt.flagValues, tt.isValid)
256221
})
257222
}
258223
}

internal/cmd/beta/intake/instance/delete/delete_test.go

Lines changed: 2 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@ import (
77
"github.com/google/go-cmp/cmp"
88
"github.com/google/go-cmp/cmp/cmpopts"
99
"github.com/google/uuid"
10-
"github.com/stackitcloud/stackit-cli/internal/cmd/params"
1110
"github.com/stackitcloud/stackit-cli/internal/pkg/globalflags"
12-
"github.com/stackitcloud/stackit-cli/internal/pkg/print"
11+
"github.com/stackitcloud/stackit-cli/internal/pkg/testutils"
1312
"github.com/stackitcloud/stackit-sdk-go/services/intake"
1413
)
1514

@@ -122,54 +121,7 @@ func TestParseInput(t *testing.T) {
122121

123122
for _, tt := range tests {
124123
t.Run(tt.description, func(t *testing.T) {
125-
p := print.NewPrinter()
126-
cmd := NewCmd(&params.CmdParams{Printer: p})
127-
err := globalflags.Configure(cmd.Flags())
128-
if err != nil {
129-
t.Fatalf("configure global flags: %v", err)
130-
}
131-
132-
for flag, value := range tt.flagValues {
133-
err := cmd.Flags().Set(flag, value)
134-
if err != nil {
135-
if !tt.isValid {
136-
return
137-
}
138-
t.Fatalf("setting flag --%s=%s: %v", flag, value, err)
139-
}
140-
}
141-
142-
err = cmd.ValidateArgs(tt.argValues)
143-
if err != nil {
144-
if !tt.isValid {
145-
return
146-
}
147-
t.Fatalf("error validating args: %v", err)
148-
}
149-
150-
err = cmd.ValidateRequiredFlags()
151-
if err != nil {
152-
if !tt.isValid {
153-
return
154-
}
155-
t.Fatalf("error validating flags: %v", err)
156-
}
157-
158-
model, err := parseInput(p, cmd, tt.argValues)
159-
if err != nil {
160-
if !tt.isValid {
161-
return
162-
}
163-
t.Fatalf("error parsing input: %v", err)
164-
}
165-
166-
if !tt.isValid {
167-
t.Fatalf("did not fail on invalid input")
168-
}
169-
diff := cmp.Diff(model, tt.expectedModel)
170-
if diff != "" {
171-
t.Fatalf("Data does not match: %s", diff)
172-
}
124+
testutils.TestParseInput(t, NewCmd, parseInput, tt.expectedModel, tt.argValues, tt.flagValues, tt.isValid)
173125
})
174126
}
175127
}

internal/cmd/beta/intake/instance/describe/describe_test.go

Lines changed: 2 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/stackitcloud/stackit-cli/internal/cmd/params"
1111
"github.com/stackitcloud/stackit-cli/internal/pkg/globalflags"
1212
"github.com/stackitcloud/stackit-cli/internal/pkg/print"
13+
"github.com/stackitcloud/stackit-cli/internal/pkg/testutils"
1314
"github.com/stackitcloud/stackit-sdk-go/services/intake"
1415
)
1516

@@ -115,54 +116,7 @@ func TestParseInput(t *testing.T) {
115116

116117
for _, tt := range tests {
117118
t.Run(tt.description, func(t *testing.T) {
118-
p := print.NewPrinter()
119-
cmd := NewCmd(&params.CmdParams{Printer: p})
120-
err := globalflags.Configure(cmd.Flags())
121-
if err != nil {
122-
t.Fatalf("configure global flags: %v", err)
123-
}
124-
125-
for flag, value := range tt.flagValues {
126-
err := cmd.Flags().Set(flag, value)
127-
if err != nil {
128-
if !tt.isValid {
129-
return
130-
}
131-
t.Fatalf("setting flag --%s=%s: %v", flag, value, err)
132-
}
133-
}
134-
135-
err = cmd.ValidateArgs(tt.argValues)
136-
if err != nil {
137-
if !tt.isValid {
138-
return
139-
}
140-
t.Fatalf("error validating args: %v", err)
141-
}
142-
143-
err = cmd.ValidateRequiredFlags()
144-
if err != nil {
145-
if !tt.isValid {
146-
return
147-
}
148-
t.Fatalf("error validating flags: %v", err)
149-
}
150-
151-
model, err := parseInput(p, cmd, tt.argValues)
152-
if err != nil {
153-
if !tt.isValid {
154-
return
155-
}
156-
t.Fatalf("error parsing input: %v", err)
157-
}
158-
159-
if !tt.isValid {
160-
t.Fatalf("did not fail on invalid input")
161-
}
162-
diff := cmp.Diff(model, tt.expectedModel)
163-
if diff != "" {
164-
t.Fatalf("Data does not match: %s", diff)
165-
}
119+
testutils.TestParseInput(t, NewCmd, parseInput, tt.expectedModel, tt.argValues, tt.flagValues, tt.isValid)
166120
})
167121
}
168122
}

0 commit comments

Comments
 (0)