github.com/redhat-appstudio/e2e-tests@v0.0.0-20240520140907-9709f6f59323/tests/rhtap-demo/config/types.go (about)

     1  package config
     2  
     3  // Set of tests to run in appstudio
     4  type TestSpec struct {
     5  	// The test name corresponding to an application
     6  	Name string `yaml:"name"`
     7  
     8  	// Indicate if a test can be skipped, by default is true
     9  	Skip bool `yaml:"skip,omitempty"`
    10  
    11  	// Indicate if a test is to be run against stage
    12  	Stage bool `yaml:"stage,omitempty"`
    13  
    14  	// Name of the application created in the cluster
    15  	ApplicationName string `yaml:"applicationName"`
    16  
    17  	// Set of components with own specs
    18  	Components []ComponentSpec `yaml:"components"`
    19  }
    20  
    21  // Set k8s resource specific properties
    22  type K8sSpec struct {
    23  	// If set, will scale the replicas to the desired number
    24  	// This is a pointer to distinguish between explicit zero and not specified.
    25  	Replicas int32 `yaml:"replicas,omitempty"`
    26  }
    27  
    28  // Specs for a specific component to create in AppStudio
    29  type ComponentSpec struct {
    30  	// Test Advanced build (using PaC)
    31  	AdvancedBuildSpec *AdvancedBuildSpec `yaml:"advancedBuild"`
    32  
    33  	// The component name which will be created
    34  	Name string `yaml:"name"`
    35  
    36  	// It indicates if the component comes from a private source like quay or github.
    37  	Private bool `yaml:"private"`
    38  
    39  	// Indicate the container value
    40  	ContainerSource string `yaml:"containerSource,omitempty"`
    41  
    42  	// Component language
    43  	Language string `yaml:"language"`
    44  
    45  	// Repository URL from where component will be created
    46  	GitSourceUrl string `yaml:"gitSourceUrl,omitempty"`
    47  
    48  	// Repository branch
    49  	GitSourceRevision string `yaml:"gitSourceRevision,omitempty"`
    50  
    51  	// Relative path inside the repository containing the component
    52  	GitSourceContext string `yaml:"gitSourceContext,omitempty"`
    53  
    54  	GitSourceDefaultBranchName string `yaml:"gitSourceDefaultBranchName,omitempty"`
    55  
    56  	// An endpoint where the framework can ping to see if a component was deployed successfully
    57  	HealthEndpoint string `yaml:"healthz"`
    58  
    59  	// Set k8s resource specific properties
    60  	K8sSpec *K8sSpec `yaml:"spec,omitempty"`
    61  
    62  	// Skip the deployment of a component in case not needed to deploy
    63  	SkipDeploymentCheck bool `yaml:"skipDeploy,omitempty"`
    64  }
    65  
    66  type TestScenarioSpec struct {
    67  	GitURL      string
    68  	GitRevision string
    69  	TestPath    string
    70  }
    71  
    72  type AdvancedBuildSpec struct {
    73  	// Integration test config
    74  	TestScenario TestScenarioSpec `yaml:"testScenario,omitempty"`
    75  }