reporter

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const JSONReportVersion = "1.0"

JSONReport is the versioned JSON output schema for programmatic consumers such as CI, GitHub Actions, and editor tooling.

Variables

This section is empty.

Functions

func WriteContractReport

func WriteContractReport(w io.Writer, result *contract.Result, format Format, duration time.Duration) error

WriteContractReport writes combined OpenAPI and Arazzo contract results in the requested format.

func WriteContractResult

func WriteContractResult(w io.Writer, result *contract.Result, duration time.Duration) error

WriteContractResult writes full contract result (OpenAPI + Arazzo) as JSON.

func WriteOpenAPIResults

func WriteOpenAPIResults(w io.Writer, results []openapi.ContractResult, format Format, duration time.Duration) error

WriteOpenAPIResults writes OpenAPI contract results in the given format.

Types

type ArazzoReport

type ArazzoReport struct {
	Passed    int                       `json:"passed"`
	Total     int                       `json:"total"`
	Workflows []contract.WorkflowResult `json:"workflows"`
}

type Format

type Format string

Format is the output format.

const (
	FormatHuman Format = "human"
	FormatJUnit Format = "junit"
	FormatJSON  Format = "json"
)

type JSONReport

type JSONReport struct {
	Version    string         `json:"version"`
	Pass       bool           `json:"pass"`
	OpenAPI    *OpenAPIReport `json:"openapi,omitempty"`
	Arazzo     *ArazzoReport  `json:"arazzo,omitempty"`
	DurationMs int64          `json:"durationMs,omitempty"`
}

func BuildContractReport

func BuildContractReport(result *contract.Result, duration time.Duration) JSONReport

BuildContractReport builds the versioned JSON report structure for programmatic consumers.

type OpenAPIReport

type OpenAPIReport struct {
	Passed  int                      `json:"passed"`
	Total   int                      `json:"total"`
	Results []openapi.ContractResult `json:"results"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL