v1

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Group is the API group for the Conformance Report API.
	Group = "gateway.networking.k8s.io"

	// Version is the API version for the Conformance Report API.
	Version = "v1"
)

Variables

GroupVersion is the API group and version for the Conformance Report API.

Functions

This section is empty.

Types

type ConformanceReport

type ConformanceReport struct {
	metav1.TypeMeta `json:",inline"`
	Implementation  `json:"implementation"`

	// Date indicates the date that this report was generated.
	Date string `json:"date"`

	// GatewayAPIVersion indicates which release version of Gateway API this
	// test report was made for.
	GatewayAPIVersion string `json:"gatewayAPIVersion"`

	// Mode is the operating mode the implementation used to run conformance tests.
	Mode string `json:"mode"`

	// GatewayAPIChannel indicates which release channel of Gateway API this
	// test report was made for.
	GatewayAPIChannel string `json:"gatewayAPIChannel"`

	// ProfileReports is a list of the individual reports for each conformance
	// profile that was enabled for a test run.
	ProfileReports []ProfileReport `json:"profiles"`

	// SucceededProvisionalTests is a list of the names of the provisional tests that
	// have been successfully run.
	SucceededProvisionalTests []string `json:"succeededProvisionalTests,omitempty"`
}

ConformanceReport is a report of conformance testing results including the specific conformance profiles that were tested and the results of the tests with summaries and statistics.

type ExtendedStatus

type ExtendedStatus struct {
	Status `json:",inline"`

	// SupportedFeatures indicates which extended features were flagged as
	// supported by the implementation and tests will be attempted for.
	SupportedFeatures []string `json:"supportedFeatures,omitempty"`

	// UnsupportedFeatures indicates which extended features the implementation
	// does not have support for and therefore will not attempt to test.
	UnsupportedFeatures []string `json:"unsupportedFeatures,omitempty"`
}

ExtendedStatus shows the testing results for the extended support level.

type Implementation

type Implementation struct {
	// Organization refers to the company, group or individual which maintains
	// the named implementation. Organizations can provide reports for any
	// number of distinct Gateway API implementations they maintain, but need
	// to identify themselves using this organization field for grouping.
	Organization string `json:"organization"`

	// Project indicates the name of the project or repository for a Gateway API
	// implementation.
	Project string `json:"project"`

	// URL indicates a human-usable URL where more information about the
	// implementation can be found. For open source projects this should
	// generally link to the code repository.
	URL string `json:"url"`

	// Version indicates the version of the implementation that was used for
	// testing. This should generally be a semver version when applicable.
	Version string `json:"version"`

	// Contact is contact information for the maintainers so that Gateway API
	// maintainers can get ahold of them as needed. Ideally this should be
	// Github usernames (in the form of `@<username>`) or team names (in the
	// form of `@<team>/<name>`), but when that's not possible it can be email
	// addresses.
	// Rather than Github usernames or email addresses you can provide a URL to the relevant
	// support pages for the project. Ideally this would be something like the issue creation page
	// on a repository, but for projects without a publicly exposed repository a general support
	// page URL can be provided.
	Contact []string `json:"contact"`
}

Implementation provides metadata information on the downstream implementation of Gateway API which ran conformance tests.

func (*Implementation) Validate

func (i *Implementation) Validate() error

Validate ensures that the Implementation struct has valid fields set

type ProfileReport

type ProfileReport struct {
	// Name indicates the name of the conformance profile (e.g. "HTTP",
	// "TLS", "Mesh", e.t.c.).
	Name string `json:"name"`

	// Summary is a human-readable message intended for end-users to understand
	// the overall status at a glance.
	Summary string `json:"summary"`

	// Core indicates the core support level which includes the set of tests
	// which are the minimum the implementation must pass to be considered at
	// all conformant.
	Core Status `json:"core"`

	// Extended indicates the extended support level which includes additional
	// optional features which the implementation may choose to implement
	// support for, but are not required.
	Extended *ExtendedStatus `json:"extended,omitempty"`
}

ProfileReport is the generated report for the test results of a specific named conformance profile.

type Result

type Result string

Result is a simple high-level summary describing the conclusion of a test run.

var (
	// Success indicates that the test run concluded in all required tests
	// passing.
	Success Result = "success"

	// Partial indicates that the test run concluded in some of the required
	// tests passing without any failures, but some were skipped.
	Partial Result = "partial"

	// Failure indicates that the test run concluded in one ore more tests
	// failing to complete successfully.
	Failure Result = "failure"
)

type Statistics

type Statistics struct {
	// Passed indicates how many tests completed successfully.
	Passed uint32

	// Skipped indicates how many tests were intentionally not run, whether due
	// to lack of feature support or whether they were explicitly disabled in
	// the test suite.
	Skipped uint32

	// Failed indicates how many tests were unsuccessful.
	Failed uint32
}

Statistics includes numerical summaries of the number of conformance tests that passed, failed or were intentionally skipped.

type Status

type Status struct {
	Result `json:"result"`

	// Statistics includes numerical statistics on the result of the test run.
	Statistics `json:"statistics"`

	// SkippedTests indicates which tests were explicitly disabled in the test
	// suite. Skipping tests for Core level support implicitly identifies the
	// results as being partial and the implementation will not be considered
	// conformant at any level.
	SkippedTests []string `json:"skippedTests,omitempty"`

	// FailedTests indicates which tests were failing during the execution of
	// test suite.
	FailedTests []string `json:"failedTests,omitempty"`
}

Status includes details on the results of a test.

Jump to

Keyboard shortcuts

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