config

package
v0.187.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	VisibilityPublic           = "public"
	VisibilityPublicRestricted = "public restricted"
	VisibilityTeam             = "team"
	VisibilityShare            = "share"
	VisibilityPrivate          = "private"
)

Variables

View Source
var SupportedDeviceTypes = []string{"ANY", "PHONE", "TABLET"}

SupportedDeviceTypes contains the list of supported device types.

Functions

func CleanNpmPackages added in v0.63.4

func CleanNpmPackages(packages map[string]string, denyList []string) map[string]string

CleanNpmPackages removes any packages in denyList from packages

func GetSuiteArtifactFolder added in v0.99.2

func GetSuiteArtifactFolder(suiteName string, cfg ArtifactDownload) (string, error)

GetSuiteArtifactFolder returns a target folder that's based on a combination of suiteName and the configured artifact download folder. The suiteName is sanitized by undergoing character replacements that are safe to be used as a directory name. If the determined target directory already exists, a running number is added as a suffix.

func IsSupportedDeviceType added in v0.52.0

func IsSupportedDeviceType(deviceType string) bool

IsSupportedDeviceType check that the specified deviceType is valid.

func StandardizeVersionFormat

func StandardizeVersionFormat(version string) string

StandardizeVersionFormat remove the leading v in version to ensure reliable comparisons.

func Unmarshal added in v0.53.0

func Unmarshal(cfgPath string, project interface{}) error

Unmarshal parses the file cfgPath into the given project struct.

func ValidateArtifacts added in v0.174.0

func ValidateArtifacts(artifacts Artifacts) error

func ValidatePackage added in v0.187.0

func ValidatePackage(packages node.Package, frameworkName string, expectedVersion string) error

func ValidatePackageLock added in v0.187.0

func ValidatePackageLock() error

func ValidateRegistries added in v0.154.0

func ValidateRegistries(registries []Registry) error

func ValidateSchema added in v0.119.0

func ValidateSchema(cfgFile string)

ValidateSchema validates user config against the JSON Schema. If validation fails for any reason, fail softly to avoid disturbing execution as this is not critical.

func ValidateSmartRetry added in v0.138.0

func ValidateSmartRetry(smartRetry SmartRetry)

func ValidateVisibility added in v0.104.0

func ValidateVisibility(visibility string) bool

ValidateVisibility checks that the user specified job visibility is valid

Types

type AppSettings added in v0.93.0

type AppSettings struct {
	AudioCapture    bool            `yaml:"audioCapture,omitempty" json:"audioCapture"`
	Instrumentation Instrumentation `yaml:"instrumentation,omitempty" json:"instrumentation"`
}

AppSettings represents override settings.

type ArtifactDownload added in v0.36.0

type ArtifactDownload struct {
	Match       []string `yaml:"match,omitempty" json:"match"`
	When        When     `yaml:"when,omitempty" json:"when"`
	Directory   string   `yaml:"directory,omitempty" json:"directory"`
	AllAttempts bool     `yaml:"allAttempts,omitempty" json:"allAttempts"`
}

ArtifactDownload represents the test artifacts configuration.

type Artifacts added in v0.36.0

type Artifacts struct {
	Retain   map[string]string `yaml:"retain,omitempty" json:"retain"`
	Download ArtifactDownload  `yaml:"download,omitempty" json:"download"`
	Cleanup  bool              `yaml:"cleanup,omitempty" json:"cleanup"`
}

Artifacts represents the test artifacts configuration.

type Defaults added in v0.37.0

type Defaults struct {
	Mode    string        `yaml:"mode,omitempty" json:"mode"`
	Timeout time.Duration `yaml:"timeout,omitempty" json:"timeout"`
}

Defaults represents default suite settings.

type Device added in v0.36.0

type Device struct {
	ID              string        `yaml:"id,omitempty" json:"id"`
	Name            string        `yaml:"name,omitempty" json:"name"`
	PlatformName    string        `yaml:"platformName,omitempty" json:"platformName"`
	PlatformVersion string        `yaml:"platformVersion,omitempty" json:"platformVersion"`
	Options         DeviceOptions `yaml:"options,omitempty" json:"options,omitempty"`
}

Device represents the RDC device configuration.

type DeviceOptions added in v0.43.0

type DeviceOptions struct {
	CarrierConnectivity bool   `yaml:"carrierConnectivity,omitempty" json:"carrierConnectivity"`
	DeviceType          string `yaml:"deviceType,omitempty" json:"deviceType,omitempty"`
	Private             bool   `yaml:"private,omitempty" json:"private,omitempty"`
}

DeviceOptions represents the devices capabilities required from a real device.

type Emulator added in v0.43.0

type Emulator = VirtualDevice

Emulator is an alias for a Virtual Device in the Android nomenclature.

type Instrumentation added in v0.88.0

type Instrumentation struct {
	NetworkCapture bool `yaml:"networkCapture,omitempty" json:"networkCapture"`
}

Instrumentation represents Instrumentation settings for real devices.

type LaunchOrder added in v0.105.0

type LaunchOrder string
const (
	LaunchOrderFailRate LaunchOrder = "fail rate"
)

type Metadata

type Metadata struct {
	Tags  []string `yaml:"tags" json:"tags,omitempty"`
	Build string   `yaml:"build" json:"build"`
}

Metadata describes job metadata

func (*Metadata) SetDefaultBuild added in v0.94.0

func (m *Metadata) SetDefaultBuild()

SetDefaultBuild sets default build if it's empty

type Notifications added in v0.66.0

type Notifications struct {
	Slack Slack `yaml:"slack,omitempty" json:"slack"`
}

Notifications represents the test notifications configuration.

type Npm

type Npm struct {
	// Deprecated. Use Registries instead.
	Registry       string            `yaml:"registry,omitempty" json:"registry,omitempty"`
	Registries     []Registry        `yaml:"registries" json:"registries,omitempty"`
	Packages       map[string]string `yaml:"packages,omitempty" json:"packages"`
	Dependencies   []string          `yaml:"dependencies,omitempty" json:"dependencies"`
	StrictSSL      *bool             `yaml:"strictSSL,omitempty" json:"strictSSL"`
	UsePackageLock bool              `yaml:"usePackageLock,omitempty" json:"usePackageLock"`
}

Npm represents the npm settings

func (*Npm) SetDefaults added in v0.154.0

func (n *Npm) SetDefaults()

SetDefaults updates npm default values

type Registry added in v0.154.0

type Registry struct {
	Scope     string `yaml:"scope,omitempty" json:"scope,omitempty"`
	URL       string `yaml:"url,omitempty" json:"url,omitempty"`
	Auth      string `yaml:"auth,omitempty" json:"auth,omitempty"`
	AuthToken string `yaml:"authToken,omitempty" json:"authToken,omitempty"`
	Username  string `yaml:"username,omitempty" json:"username,omitempty"`
	Password  string `yaml:"password,omitempty" json:"password,omitempty"`
	Email     string `yaml:"email,omitempty" json:"email,omitempty"`
}

Registry represents a registry for NPM

type Reporters added in v0.62.0

type Reporters struct {
	Spotlight struct {
		Enabled bool `yaml:"enabled"`
	}

	JUnit struct {
		Enabled  bool   `yaml:"enabled"`
		Filename string `yaml:"filename"`
	} `yaml:"junit"`

	JSON struct {
		Enabled    bool   `yaml:"enabled"`
		WebhookURL string `yaml:"webhookURL"`
		Filename   string `yaml:"filename"`
	} `yaml:"json"`
}

Reporters represents the reporter configuration.

type SauceConfig

type SauceConfig struct {
	Region      string            `yaml:"region,omitempty" json:"region"`
	Metadata    Metadata          `yaml:"metadata,omitempty" json:"metadata"`
	Tunnel      Tunnel            `yaml:"tunnel,omitempty" json:"tunnel,omitempty"`
	Concurrency int               `yaml:"concurrency,omitempty" json:"concurrency,omitempty"`
	Sauceignore string            `yaml:"sauceignore,omitempty" json:"sauceignore,omitempty"`
	Experiments map[string]string `yaml:"experiments,omitempty" json:"experiments,omitempty"`
	Retries     int               `yaml:"retries,omitempty" json:"-"`
	Visibility  string            `yaml:"visibility,omitempty" json:"-"`
	LaunchOrder LaunchOrder       `yaml:"launchOrder,omitempty" json:"launchOrder,omitempty"`
}

SauceConfig represents sauce labs related settings.

type Simulator added in v0.49.0

type Simulator = VirtualDevice

Simulator is an alias for a Virtual Device in the iOS nomenclature.

type Slack added in v0.66.0

type Slack struct {
	Channels []string `yaml:"channels,omitempty" json:"channels"`
	Send     When     `yaml:"send,omitempty" json:"send"`
}

Slack represents slack configuration.

type SmartRetry added in v0.130.0

type SmartRetry struct {
	FailedOnly bool `yaml:"failedOnly" json:"-"`
	// FailedClassesOnly was introduced as the first iteration of smart retry
	// and was applicable to mobile only.
	// DEPRECATED. Use FailedOnly instead.
	FailedClassesOnly bool `yaml:"failedClassesOnly" json:"-"`
}

SmartRetry represents the settings for retry strategy.

func (*SmartRetry) IsRetryFailedOnly added in v0.138.0

func (s *SmartRetry) IsRetryFailedOnly() bool

IsRetryFailedOnly indicates whether retries should selectively pick failed tests.

type Tunnel

type Tunnel struct {
	// ID represents the tunnel identifier (aka tunnel name).
	// Deprecated. Use Name instead.
	ID   string `yaml:"id,omitempty" json:"id,omitempty"`
	Name string `yaml:"name,omitempty" json:"name,omitempty"`
	// Parent represents the tunnel owner.
	// Deprecated. Use Owner instead.
	Parent string `yaml:"parent,omitempty" json:"parent,omitempty"`
	Owner  string `yaml:"owner,omitempty" json:"owner,omitempty"`
	// Timeout represents the time to wait for the tunnel to be ready.
	Timeout time.Duration `yaml:"timeout,omitempty" json:"timeout,omitempty"`
}

Tunnel represents a sauce labs tunnel.

func (*Tunnel) SetDefaults added in v0.68.2

func (t *Tunnel) SetDefaults()

SetDefaults updates tunnel default values

type TypeDef

type TypeDef struct {
	APIVersion string `yaml:"apiVersion,omitempty"`
	Kind       string `yaml:"kind,omitempty"`
}

TypeDef represents the type definition of the config.

func Describe

func Describe(cfgPath string) (TypeDef, error)

Describe returns a description of the given config that is cfgPath.

type VirtualDevice added in v0.155.0

type VirtualDevice struct {
	Name             string   `yaml:"name,omitempty" json:"name,omitempty"`
	PlatformName     string   `yaml:"platformName,omitempty" json:"platformName"`
	Orientation      string   `yaml:"orientation,omitempty" json:"orientation,omitempty"`
	PlatformVersions []string `yaml:"platformVersions,omitempty" json:"platformVersions,omitempty"`
	ARMRequired      bool     `yaml:"armRequired,omitempty" json:"armRequired,omitempty"`
}

VirtualDevice represents a virtual device configuration.

type When added in v0.48.3

type When string

When represents a conditional status for when artifacts should be downloaded.

const (
	WhenFail   When = "fail"
	WhenPass   When = "pass"
	WhenNever  When = "never"
	WhenAlways When = "always"
)

These conditions indicate when artifacts are to be downloaded.

func (When) IsNow added in v0.123.0

func (w When) IsNow(passed bool) bool

IsNow returns true if When fulfills its own condition of 'passed'.

Jump to

Keyboard shortcuts

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