You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
terraform/internal/command/views/json/test.go

67 lines
1.6 KiB

// 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 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()))
}