Skip to content

Commit 287574d

Browse files
committed
initial idea
1 parent 1b5d0b2 commit 287574d

File tree

82 files changed

+225
-3991
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+225
-3991
lines changed

internal/cmd/beta/sqlserverflex/database/create/create_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/sqlserverflex"
1415
)
1516

@@ -177,54 +178,7 @@ func TestParseInput(t *testing.T) {
177178

178179
for _, tt := range tests {
179180
t.Run(tt.description, func(t *testing.T) {
180-
p := print.NewPrinter()
181-
cmd := NewCmd(&params.CmdParams{Printer: p})
182-
err := globalflags.Configure(cmd.Flags())
183-
if err != nil {
184-
t.Fatalf("configure global flags: %v", err)
185-
}
186-
187-
for flag, value := range tt.flagValues {
188-
err := cmd.Flags().Set(flag, value)
189-
if err != nil {
190-
if !tt.isValid {
191-
return
192-
}
193-
t.Fatalf("setting flag --%s=%s: %v", flag, value, err)
194-
}
195-
}
196-
197-
err = cmd.ValidateArgs(tt.argValues)
198-
if err != nil {
199-
if !tt.isValid {
200-
return
201-
}
202-
t.Fatalf("error validating args: %v", err)
203-
}
204-
205-
err = cmd.ValidateRequiredFlags()
206-
if err != nil {
207-
if !tt.isValid {
208-
return
209-
}
210-
t.Fatalf("error validating flags: %v", err)
211-
}
212-
213-
model, err := parseInput(p, cmd, tt.argValues)
214-
if err != nil {
215-
if !tt.isValid {
216-
return
217-
}
218-
t.Fatalf("error parsing input: %v", err)
219-
}
220-
221-
if !tt.isValid {
222-
t.Fatalf("did not fail on invalid input")
223-
}
224-
diff := cmp.Diff(model, tt.expectedModel)
225-
if diff != "" {
226-
t.Fatalf("Data does not match: %s", diff)
227-
}
181+
testutils.TestParseInput(t, NewCmd, parseInput, tt.expectedModel, tt.argValues, tt.flagValues, tt.isValid)
228182
})
229183
}
230184
}

internal/cmd/beta/sqlserverflex/database/delete/delete_test.go

Lines changed: 2 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ import (
44
"context"
55
"testing"
66

7-
"github.com/stackitcloud/stackit-cli/internal/cmd/params"
87
"github.com/stackitcloud/stackit-cli/internal/pkg/globalflags"
9-
"github.com/stackitcloud/stackit-cli/internal/pkg/print"
8+
"github.com/stackitcloud/stackit-cli/internal/pkg/testutils"
109
"github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex"
1110

1211
"github.com/google/go-cmp/cmp"
@@ -160,54 +159,7 @@ func TestParseInput(t *testing.T) {
160159

161160
for _, tt := range tests {
162161
t.Run(tt.description, func(t *testing.T) {
163-
p := print.NewPrinter()
164-
cmd := NewCmd(&params.CmdParams{Printer: p})
165-
err := globalflags.Configure(cmd.Flags())
166-
if err != nil {
167-
t.Fatalf("configure global flags: %v", err)
168-
}
169-
170-
for flag, value := range tt.flagValues {
171-
err := cmd.Flags().Set(flag, value)
172-
if err != nil {
173-
if !tt.isValid {
174-
return
175-
}
176-
t.Fatalf("setting flag --%s=%s: %v", flag, value, err)
177-
}
178-
}
179-
180-
err = cmd.ValidateArgs(tt.argValues)
181-
if err != nil {
182-
if !tt.isValid {
183-
return
184-
}
185-
t.Fatalf("error validating args: %v", err)
186-
}
187-
188-
err = cmd.ValidateRequiredFlags()
189-
if err != nil {
190-
if !tt.isValid {
191-
return
192-
}
193-
t.Fatalf("error validating flags: %v", err)
194-
}
195-
196-
model, err := parseInput(p, cmd, tt.argValues)
197-
if err != nil {
198-
if !tt.isValid {
199-
return
200-
}
201-
t.Fatalf("error parsing input: %v", err)
202-
}
203-
204-
if !tt.isValid {
205-
t.Fatalf("did not fail on invalid input")
206-
}
207-
diff := cmp.Diff(model, tt.expectedModel)
208-
if diff != "" {
209-
t.Fatalf("Data does not match: %s", diff)
210-
}
162+
testutils.TestParseInput(t, NewCmd, parseInput, tt.expectedModel, tt.argValues, tt.flagValues, tt.isValid)
211163
})
212164
}
213165
}

internal/cmd/beta/sqlserverflex/database/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/sqlserverflex"
1415
)
1516

@@ -159,54 +160,7 @@ func TestParseInput(t *testing.T) {
159160

160161
for _, tt := range tests {
161162
t.Run(tt.description, func(t *testing.T) {
162-
p := print.NewPrinter()
163-
cmd := NewCmd(&params.CmdParams{Printer: p})
164-
err := globalflags.Configure(cmd.Flags())
165-
if err != nil {
166-
t.Fatalf("configure global flags: %v", err)
167-
}
168-
169-
for flag, value := range tt.flagValues {
170-
err := cmd.Flags().Set(flag, value)
171-
if err != nil {
172-
if !tt.isValid {
173-
return
174-
}
175-
t.Fatalf("setting flag --%s=%s: %v", flag, value, err)
176-
}
177-
}
178-
179-
err = cmd.ValidateArgs(tt.argValues)
180-
if err != nil {
181-
if !tt.isValid {
182-
return
183-
}
184-
t.Fatalf("error validating args: %v", err)
185-
}
186-
187-
err = cmd.ValidateRequiredFlags()
188-
if err != nil {
189-
if !tt.isValid {
190-
return
191-
}
192-
t.Fatalf("error validating flags: %v", err)
193-
}
194-
195-
model, err := parseInput(p, cmd, tt.argValues)
196-
if err != nil {
197-
if !tt.isValid {
198-
return
199-
}
200-
t.Fatalf("error parsing input: %v", err)
201-
}
202-
203-
if !tt.isValid {
204-
t.Fatalf("did not fail on invalid input")
205-
}
206-
diff := cmp.Diff(model, tt.expectedModel)
207-
if diff != "" {
208-
t.Fatalf("Data does not match: %s", diff)
209-
}
163+
testutils.TestParseInput(t, NewCmd, parseInput, tt.expectedModel, tt.argValues, tt.flagValues, tt.isValid)
210164
})
211165
}
212166
}

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

Lines changed: 2 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ import (
44
"context"
55
"testing"
66

7-
"github.com/stackitcloud/stackit-cli/internal/cmd/params"
87
"github.com/stackitcloud/stackit-cli/internal/pkg/globalflags"
9-
"github.com/stackitcloud/stackit-cli/internal/pkg/print"
8+
"github.com/stackitcloud/stackit-cli/internal/pkg/testutils"
109

1110
"github.com/google/go-cmp/cmp"
1211
"github.com/google/go-cmp/cmp/cmpopts"
@@ -139,54 +138,7 @@ func TestParseInput(t *testing.T) {
139138

140139
for _, tt := range tests {
141140
t.Run(tt.description, func(t *testing.T) {
142-
p := print.NewPrinter()
143-
cmd := NewCmd(&params.CmdParams{Printer: p})
144-
err := globalflags.Configure(cmd.Flags())
145-
if err != nil {
146-
t.Fatalf("configure global flags: %v", err)
147-
}
148-
149-
for flag, value := range tt.flagValues {
150-
err := cmd.Flags().Set(flag, value)
151-
if err != nil {
152-
if !tt.isValid {
153-
return
154-
}
155-
t.Fatalf("setting flag --%s=%s: %v", flag, value, err)
156-
}
157-
}
158-
159-
err = cmd.ValidateArgs(tt.argValues)
160-
if err != nil {
161-
if !tt.isValid {
162-
return
163-
}
164-
t.Fatalf("error validating args: %v", err)
165-
}
166-
167-
err = cmd.ValidateRequiredFlags()
168-
if err != nil {
169-
if !tt.isValid {
170-
return
171-
}
172-
t.Fatalf("error validating flags: %v", err)
173-
}
174-
175-
model, err := parseInput(p, cmd, tt.argValues)
176-
if err != nil {
177-
if !tt.isValid {
178-
return
179-
}
180-
t.Fatalf("error parsing input: %v", err)
181-
}
182-
183-
if !tt.isValid {
184-
t.Fatalf("did not fail on invalid input")
185-
}
186-
diff := cmp.Diff(model, tt.expectedModel)
187-
if diff != "" {
188-
t.Fatalf("Data does not match: %s", diff)
189-
}
141+
testutils.TestParseInput(t, NewCmd, parseInput, tt.expectedModel, tt.argValues, tt.flagValues, tt.isValid)
190142
})
191143
}
192144
}

internal/cmd/beta/sqlserverflex/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/sqlserverflex"
1415
)
1516

@@ -138,54 +139,7 @@ func TestParseInput(t *testing.T) {
138139

139140
for _, tt := range tests {
140141
t.Run(tt.description, func(t *testing.T) {
141-
p := print.NewPrinter()
142-
cmd := NewCmd(&params.CmdParams{Printer: p})
143-
err := globalflags.Configure(cmd.Flags())
144-
if err != nil {
145-
t.Fatalf("configure global flags: %v", err)
146-
}
147-
148-
for flag, value := range tt.flagValues {
149-
err := cmd.Flags().Set(flag, value)
150-
if err != nil {
151-
if !tt.isValid {
152-
return
153-
}
154-
t.Fatalf("setting flag --%s=%s: %v", flag, value, err)
155-
}
156-
}
157-
158-
err = cmd.ValidateArgs(tt.argValues)
159-
if err != nil {
160-
if !tt.isValid {
161-
return
162-
}
163-
t.Fatalf("error validating args: %v", err)
164-
}
165-
166-
err = cmd.ValidateRequiredFlags()
167-
if err != nil {
168-
if !tt.isValid {
169-
return
170-
}
171-
t.Fatalf("error validating flags: %v", err)
172-
}
173-
174-
model, err := parseInput(p, cmd, tt.argValues)
175-
if err != nil {
176-
if !tt.isValid {
177-
return
178-
}
179-
t.Fatalf("error parsing input: %v", err)
180-
}
181-
182-
if !tt.isValid {
183-
t.Fatalf("did not fail on invalid input")
184-
}
185-
diff := cmp.Diff(model, tt.expectedModel)
186-
if diff != "" {
187-
t.Fatalf("Data does not match: %s", diff)
188-
}
142+
testutils.TestParseInput(t, NewCmd, parseInput, tt.expectedModel, tt.argValues, tt.flagValues, tt.isValid)
189143
})
190144
}
191145
}

internal/cmd/config/profile/create/create_test.go

Lines changed: 2 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,8 @@ package create
33
import (
44
"testing"
55

6-
"github.com/stackitcloud/stackit-cli/internal/cmd/params"
7-
86
"github.com/stackitcloud/stackit-cli/internal/pkg/globalflags"
9-
"github.com/stackitcloud/stackit-cli/internal/pkg/print"
10-
11-
"github.com/google/go-cmp/cmp"
7+
"github.com/stackitcloud/stackit-cli/internal/pkg/testutils"
128
)
139

1410
const testProfile = "test-profile"
@@ -105,54 +101,7 @@ func TestParseInput(t *testing.T) {
105101

106102
for _, tt := range tests {
107103
t.Run(tt.description, func(t *testing.T) {
108-
p := print.NewPrinter()
109-
cmd := NewCmd(&params.CmdParams{Printer: p})
110-
err := globalflags.Configure(cmd.Flags())
111-
if err != nil {
112-
t.Fatalf("configure global flags: %v", err)
113-
}
114-
115-
for flag, value := range tt.flagValues {
116-
err := cmd.Flags().Set(flag, value)
117-
if err != nil {
118-
if !tt.isValid {
119-
return
120-
}
121-
t.Fatalf("setting flag --%s=%s: %v", flag, value, err)
122-
}
123-
}
124-
125-
err = cmd.ValidateArgs(tt.argValues)
126-
if err != nil {
127-
if !tt.isValid {
128-
return
129-
}
130-
t.Fatalf("error validating args: %v", err)
131-
}
132-
133-
err = cmd.ValidateRequiredFlags()
134-
if err != nil {
135-
if !tt.isValid {
136-
return
137-
}
138-
t.Fatalf("error validating flags: %v", err)
139-
}
140-
141-
model, err := parseInput(p, cmd, tt.argValues)
142-
if err != nil {
143-
if !tt.isValid {
144-
return
145-
}
146-
t.Fatalf("error parsing input: %v", err)
147-
}
148-
149-
if !tt.isValid {
150-
t.Fatalf("did not fail on invalid input")
151-
}
152-
diff := cmp.Diff(model, tt.expectedModel)
153-
if diff != "" {
154-
t.Fatalf("Data does not match: %s", diff)
155-
}
104+
testutils.TestParseInput(t, NewCmd, parseInput, tt.expectedModel, tt.argValues, tt.flagValues, tt.isValid)
156105
})
157106
}
158107
}

0 commit comments

Comments
 (0)