Skip to content

Commit e79b0bc

Browse files
committed
Generator: Tests: Properly handle "setup" and "teardown" sections
(cherry picked from commit 7a08695) (cherry picked from commit 3c036aa)
1 parent 7feb806 commit e79b0bc

File tree

1 file changed

+15
-14
lines changed
  • internal/cmd/generate/commands/gentests

1 file changed

+15
-14
lines changed

internal/cmd/generate/commands/gentests/model.go

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -107,22 +107,23 @@ func NewTestSuite(fpath string, payloads []TestPayload) TestSuite {
107107
for _, payload := range payloads {
108108
sec_keys := utils.MapKeys(payload.Payload)
109109
switch {
110-
case len(sec_keys) == 1 && sec_keys[0] == "setup":
111-
for _, v := range payload.Payload.(map[interface{}]interface{}) {
112-
for _, vv := range v.([]interface{}) {
113-
for k, vvv := range vv.(map[interface{}]interface{}) {
114-
if k == "do" {
115-
ts.Setup = append(ts.Setup, NewAction(vvv))
110+
case len(sec_keys) > 0 && strings.Contains(strings.Join(sec_keys, ","), "setup") || strings.Contains(strings.Join(sec_keys, ","), "teardown"):
111+
for k, v := range payload.Payload.(map[interface{}]interface{}) {
112+
switch k {
113+
case "setup":
114+
for _, vv := range v.([]interface{}) {
115+
for k, vvv := range vv.(map[interface{}]interface{}) {
116+
if k == "do" {
117+
ts.Setup = append(ts.Setup, NewAction(vvv))
118+
}
116119
}
117120
}
118-
}
119-
}
120-
case len(sec_keys) == 1 && sec_keys[0] == "teardown":
121-
for _, v := range payload.Payload.(map[interface{}]interface{}) {
122-
for _, vv := range v.([]interface{}) {
123-
for k, vvv := range vv.(map[interface{}]interface{}) {
124-
if k == "do" {
125-
ts.Teardown = append(ts.Teardown, NewAction(vvv))
121+
case "teardown":
122+
for _, vv := range v.([]interface{}) {
123+
for k, vvv := range vv.(map[interface{}]interface{}) {
124+
if k == "do" {
125+
ts.Teardown = append(ts.Teardown, NewAction(vvv))
126+
}
126127
}
127128
}
128129
}

0 commit comments

Comments
 (0)