@@ -5,13 +5,13 @@ import (
55 "strconv"
66 "testing"
77
8+ "github.com/stackitcloud/stackit-cli/internal/pkg/testutils"
89 "github.com/stackitcloud/stackit-cli/internal/pkg/types"
910 "github.com/stackitcloud/stackit-sdk-go/services/logs"
1011
1112 "github.com/google/go-cmp/cmp"
1213 "github.com/google/go-cmp/cmp/cmpopts"
1314 "github.com/google/uuid"
14- "github.com/spf13/cobra"
1515 "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags"
1616 "github.com/stackitcloud/stackit-cli/internal/pkg/print"
1717 "github.com/stackitcloud/stackit-cli/internal/pkg/utils"
@@ -87,6 +87,7 @@ func fixtureRequest(mods ...func(request *logs.ApiCreateLogsInstanceRequest)) lo
8787func TestParseInput (t * testing.T ) {
8888 tests := []struct {
8989 description string
90+ argValues []string
9091 flagValues map [string ]string
9192 isValid bool
9293 expectedModel * inputModel
@@ -153,48 +154,7 @@ func TestParseInput(t *testing.T) {
153154
154155 for _ , tt := range tests {
155156 t .Run (tt .description , func (t * testing.T ) {
156- cmd := & cobra.Command {}
157- err := globalflags .Configure (cmd .Flags ())
158- if err != nil {
159- t .Fatalf ("configure global flags: %v" , err )
160- }
161-
162- configureFlags (cmd )
163-
164- for flag , value := range tt .flagValues {
165- err := cmd .Flags ().Set (flag , value )
166- if err != nil {
167- if ! tt .isValid {
168- return
169- }
170- t .Fatalf ("setting flag --%s=%s: %v" , flag , value , err )
171- }
172- }
173-
174- err = cmd .ValidateRequiredFlags ()
175- if err != nil {
176- if ! tt .isValid {
177- return
178- }
179- t .Fatalf ("error validating flags: %v" , err )
180- }
181-
182- p := print .NewPrinter ()
183- model , err := parseInput (p , cmd )
184- if err != nil {
185- if ! tt .isValid {
186- return
187- }
188- t .Fatalf ("error parsing flags: %v" , err )
189- }
190-
191- if ! tt .isValid {
192- t .Fatalf ("did not fail on invalid input" )
193- }
194- diff := cmp .Diff (tt .expectedModel , model )
195- if diff != "" {
196- t .Fatalf ("Data does not match: %s" , diff )
197- }
157+ testutils .TestParseInput (t , NewCmd , parseInput , tt .expectedModel , tt .argValues , tt .flagValues , tt .isValid )
198158 })
199159 }
200160}
0 commit comments