| // Copyright (c) The OpenTofu Authors | |
| // SPDX-License-Identifier: MPL-2.0 | |
| // Copyright (c) 2023 HashiCorp, Inc. | |
| // SPDX-License-Identifier: MPL-2.0 | |
| package json | |
| import ( | |
| "strings" | |
| "github.com/opentofu/opentofu/internal/moduletest" | |
| ) | |
| type TestSuiteAbstract map[string][]string | |
| type TestStatus string | |
| type TestFileStatus struct { | |
| Path string `json:"path"` | |
| Status TestStatus `json:"status"` | |
| } | |
| type TestRunStatus struct { | |
| Path string `json:"path"` | |
| Run string `json:"run"` | |
| Status TestStatus `json:"status"` | |
| } | |
| type TestSuiteSummary struct { | |
| Status TestStatus `json:"status"` | |
| Passed int `json:"passed"` | |
| Failed int `json:"failed"` | |
| Errored int `json:"errored"` | |
| Skipped int `json:"skipped"` | |
| } | |
| type TestFileCleanup struct { | |
| FailedResources []TestFailedResource `json:"failed_resources"` | |
| } | |
| type TestFailedResource struct { | |
| Instance string `json:"instance"` | |
| DeposedKey string `json:"deposed_key,omitempty"` | |
| } | |
| type TestFatalInterrupt struct { | |
| State []TestFailedResource `json:"state,omitempty"` | |
| States map[string][]TestFailedResource `json:"states,omitempty"` | |
| Planned []string `json:"planned,omitempty"` | |
| } | |
| func ToTestStatus(status moduletest.Status) TestStatus { | |
| return TestStatus(strings.ToLower(status.String())) | |
| } |