| // Copyright IBM Corp. 2014, 2026 | |
| // SPDX-License-Identifier: BUSL-1.1 | |
| package json | |
| import ( | |
| "strings" | |
| "github.com/hashicorp/terraform/internal/moduletest" | |
| ) | |
| type TestSuiteAbstract map[string][]string | |
| type TestStatus string | |
| type TestProgress string | |
| type TestFileStatus struct { | |
| Path string `json:"path"` | |
| Progress TestProgress `json:"progress"` | |
| Status TestStatus `json:"status,omitempty"` | |
| } | |
| type TestRunStatus struct { | |
| Path string `json:"path"` | |
| Run string `json:"run"` | |
| Progress TestProgress `json:"progress"` | |
| Elapsed *int64 `json:"elapsed,omitempty"` | |
| Status TestStatus `json:"status,omitempty"` | |
| } | |
| 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 TestFileCleanupSkipped struct { | |
| SkippedResources []TestFailedResource `json:"skipped_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"` | |
| } | |
| type TestStatusUpdate struct { | |
| Status string `json:"status"` | |
| Duration float64 `json:"duration"` | |
| } | |
| func ToTestStatus(status moduletest.Status) TestStatus { | |
| return TestStatus(strings.ToLower(status.String())) | |
| } | |
| func ToTestProgress(progress moduletest.Progress) TestProgress { | |
| return TestProgress(strings.ToLower(progress.String())) | |
| } |