Documentation
¶
Index ¶
- Constants
- Variables
- func BinaryExistsOnPath(binaryName string) bool
- func CleanupTempYAMLFile(tempFilePath string)
- func CleanupTempYAMLFiles(tempFilePaths []string)
- func CreateRepositories(ctx context.Context, numRepositories int, storeInst store.Store, ...) error
- func CreateTestDevice(ctx context.Context, deviceStore store.Device, orgId uuid.UUID, name string, ...)
- func CreateTestDevices(ctx context.Context, numDevices int, deviceStore store.Device, orgId uuid.UUID, ...)
- func CreateTestDevicesWithOffset(ctx context.Context, numDevices int, deviceStore store.Device, orgId uuid.UUID, ...)
- func CreateTestEnrolmentRequests(numEnrollmentRequests int, ctx context.Context, store store.Store, ...)
- func CreateTestFleet(ctx context.Context, fleetStore store.Fleet, orgId uuid.UUID, name string, ...)
- func CreateTestFleets(ctx context.Context, numFleets int, fleetStore store.Fleet, orgId uuid.UUID, ...)
- func CreateTestOrganization(ctx context.Context, storeInst store.Store, orgId uuid.UUID) error
- func CreateTestResourceSyncs(ctx context.Context, numResourceSyncs int, storeInst store.Store, ...)
- func CreateTestTemplateVersion(ctx context.Context, tvStore store.TemplateVersion, orgId uuid.UUID, ...) error
- func CreateTestTemplateVersions(ctx context.Context, numTemplateVersions int, tvStore store.TemplateVersion, ...) error
- func CreateUniqueYAMLFile(originalYAMLPath, testID string) (string, error)
- func EventuallySlow(actual any) types.AsyncAssertion
- func GetCurrentYearBounds() (string, string)
- func GetEnrollmentIdFromText(text string) string
- func GetExtIP() string
- func GetScriptPath(script string) string
- func GetTestExamplesYamlPath(yamlName string) string
- func GetTopLevelDir() string
- func InitSuiteTracerForGinkgo(description string) context.Context
- func InitTracerForTests() func(context.Context) error
- func IsAcmInstalled() (bool, bool, error)
- func NewAgentClient(serverUrl string, caBundle []*x509.Certificate, ...) (*agentclient.ClientWithResponses, error)
- func NewBackoff() wait.Backoff
- func NewBareHTTPsClient(caBundle []*x509.Certificate, clientCert *crypto.TLSCertificateConfig) (*http.Client, error)
- func NewClient(serverUrl string, caBundle []*x509.Certificate) (*client.ClientWithResponses, error)
- func NewComposeSpec(images ...string) string
- func NewOrgResolver(cfg *config.Config, orgStore resolvers.OrgStore, log logrus.FieldLogger) (resolvers.Resolver, error)
- func NewPollConfig() poll.Config
- func NewTestAgentServer(ctx context.Context, log logrus.FieldLogger, cfg *config.Config, ...) (*agentserver.AgentServer, net.Listener, error)
- func NewTestApiServer(log logrus.FieldLogger, cfg *config.Config, store store.Store, ...) (*apiserver.Server, net.Listener, error)
- func NewTestCerts(cfg *config.Config) (*crypto.CAClient, *crypto.TLSCertificateConfig, *crypto.TLSCertificateConfig, ...)
- func NewTestProvider(log logrus.FieldLogger) queues.Provider
- func NewTestStore(ctx context.Context, cfg config.Config, log *logrus.Logger) (store.Store, string, error)
- func ParseURIForIPAndPort(rawURI string) (string, string, error)
- func RandString(n int) (string, error)
- func ReturnTestDevice(orgId uuid.UUID, name string, owner *string, tv *string, ...) api.Device
- func RunTable[T any](cases []TestCase[T], runFunc func(T))
- func StartSpecTracerForGinkgo(parent context.Context) context.Context
- func TestEnrollmentApproval() *v1alpha1.EnrollmentRequestApproval
- func TestTempEnv(key, value string) func()
- type DeviceIDKeyType
- type DeviceKeyType
- type Message
- type TestCase
- type TestContextKeyType
- type TestIDKeyType
- type TestOrgCache
Constants ¶
const ( Device = "device" Fleet = "fleet" EnrollmentRequest = "enrollmentrequest" Repository = "repository" ResourceSync = "resourcesync" CertificateSigningRequest = "certificatesigningrequest" //resource related ApplyAction = "apply" DeviceResource = "Device" RepoResource = "Repository" ErResource = "EnrollmentRequest" FleetResource = "Fleet" SystemResource = "System" //example yaml names DeviceYAMLName = "device.yaml" FleetYAMLName = "fleet.yaml" FleetBYAMLName = "fleet-b.yaml" RepoYAMLName = "repository-flightctl.yaml" ErYAMLName = "enrollmentrequest.yaml" // events ForceFlag = "-f" EventCreated = "created" EventDeleted = "deleted" EventUpdated = "updated" //Event reasons ResourceCreated = "ResourceCreated" DeviceApplicationError = "DeviceApplicationError" DeviceApplicationHealthy = "DeviceApplicationHealthy" DeviceSpecInvalid = "DeviceSpecInvalid" DeviceSpecValid = "DeviceSpecValid" DeviceContentOutOfDate = "DeviceContentOutOfDate" DeviceContentUpToDate = "DeviceContentUpToDate" DeviceUpdateFailed = "DeviceUpdateFailed" // Eventually polling timeout/interval constants TIMEOUT = time.Minute LONG_TIMEOUT = 10 * time.Minute POLLING = time.Second LONG_POLLING = 10 * time.Second DURATION_TIMEOUT = 5 * time.Minute SHORT_POLLING = "250ms" TIMEOUT_5M = "5m" LONGTIMEOUT = "10m" )
Resource types
const E2E_NAMESPACE = "flightctl-e2e"
const E2E_REGISTRY_NAME = "registry"
const FLIGHTCTL_AGENT_SERVICE = "flightctl-agent"
const KIND = "KIND"
const OCP = "OCP"
Variables ¶
var ( DeviceIDKey = DeviceIDKeyType{} DeviceKey = DeviceKeyType{} TestContextKey = TestContextKeyType{} )
var DefaultSystemInfo = []string{
"hostname",
"kernel",
"distroName",
"distroVersion",
"productName",
"productUuid",
"productSerial",
"netInterfaceDefault",
"netIpDefault",
"netMacDefault",
}
RequiredSystemInfoKeys defines the required system info keys that should be present
var ResourceTypes = [...]string{ ResourceSync, Fleet, Device, EnrollmentRequest, Repository, CertificateSigningRequest, }
var TestIDKey = TestIDKeyType{}
Functions ¶
func BinaryExistsOnPath ¶ added in v0.8.1
func CleanupTempYAMLFile ¶ added in v0.10.0
func CleanupTempYAMLFile(tempFilePath string)
CleanupTempYAMLFile removes the temporary YAML file
func CleanupTempYAMLFiles ¶ added in v0.10.0
func CleanupTempYAMLFiles(tempFilePaths []string)
CleanupTempYAMLFiles removes multiple temporary YAML files
func CreateRepositories ¶
func CreateTestDevice ¶
func CreateTestDevices ¶
func CreateTestEnrolmentRequests ¶ added in v0.8.1
func CreateTestFleet ¶
func CreateTestFleets ¶
func CreateTestOrganization ¶ added in v0.9.0
func CreateTestResourceSyncs ¶ added in v0.8.1
func CreateTestTemplateVersion ¶
func CreateTestTemplateVersion(ctx context.Context, tvStore store.TemplateVersion, orgId uuid.UUID, fleet, name string, status *api.TemplateVersionStatus) error
func CreateUniqueYAMLFile ¶ added in v0.10.0
CreateUniqueYAMLFile creates a temporary YAML file with unique resource names based on test ID
func EventuallySlow ¶ added in v0.10.0
func EventuallySlow(actual any) types.AsyncAssertion
func GetCurrentYearBounds ¶ added in v0.7.0
GetCurrentYearBounds returns start of current and next year in RFC3339 format.
func GetEnrollmentIdFromText ¶ added in v0.2.0
GetEnrollmentIdFromText returns the enrollment ID from the given text. The enrollment ID is expected to be part of url path like https://example.com/enroll/1234
func GetScriptPath ¶
func GetTestExamplesYamlPath ¶ added in v0.6.0
func GetTopLevelDir ¶
func GetTopLevelDir() string
func InitSuiteTracerForGinkgo ¶ added in v0.8.1
func InitTracerForTests ¶ added in v0.8.1
func IsAcmInstalled ¶ added in v0.10.0
IsAcmInstalled checks if ACM is installed and if it is running. returns: isAcmInstalled, isAcmRunning, error
func NewAgentClient ¶
func NewAgentClient(serverUrl string, caBundle []*x509.Certificate, clientCert *crypto.TLSCertificateConfig) (*agentclient.ClientWithResponses, error)
NewClient creates a new client with the given server URL and certificates. If the certs are nil a http client will be created.
func NewBackoff ¶ added in v0.6.0
func NewBareHTTPsClient ¶
func NewBareHTTPsClient(caBundle []*x509.Certificate, clientCert *crypto.TLSCertificateConfig) (*http.Client, error)
func NewClient ¶
func NewClient(serverUrl string, caBundle []*x509.Certificate) (*client.ClientWithResponses, error)
NewClient creates a new client with the given server URL and certificates. If the certs are nil a http client will be created.
func NewComposeSpec ¶ added in v0.6.0
func NewOrgResolver ¶ added in v0.10.0
func NewPollConfig ¶ added in v0.9.0
func NewTestAgentServer ¶
func NewTestAgentServer(ctx context.Context, log logrus.FieldLogger, cfg *config.Config, store store.Store, ca *crypto.CAClient, serverCerts *crypto.TLSCertificateConfig, queuesProvider queues.Provider, orgResolver resolvers.Resolver) (*agentserver.AgentServer, net.Listener, error)
NewTestAgentServer creates a new test server and returns the server and the listener listening on localhost's next available port.
func NewTestApiServer ¶
func NewTestApiServer(log logrus.FieldLogger, cfg *config.Config, store store.Store, ca *crypto.CAClient, serverCerts *crypto.TLSCertificateConfig, queuesProvider queues.Provider, orgResolver resolvers.Resolver) (*apiserver.Server, net.Listener, error)
NewTestApiServer creates a new test server and returns the server and the listener listening on localhost's next available port.
func NewTestCerts ¶
func NewTestCerts(cfg *config.Config) (*crypto.CAClient, *crypto.TLSCertificateConfig, *crypto.TLSCertificateConfig, error)
NewTestCerts creates new test certificates in the service certstore and returns the CA, server certificate, and enrollment certificate.
func NewTestProvider ¶
func NewTestProvider(log logrus.FieldLogger) queues.Provider
func NewTestStore ¶
func NewTestStore(ctx context.Context, cfg config.Config, log *logrus.Logger) (store.Store, string, error)
NewTestStore creates a new test store and returns the store and the database name.
func ParseURIForIPAndPort ¶ added in v0.8.1
ParseURIForIPAndPort parses a string URI and attempts to extract the IP address and port. It handles URIs with or without a scheme. If no port is specified, it attempts to deduce it from common schemes (http: 80, https: 443). If no scheme is supplied, http is assumed
func RandString ¶ added in v0.7.0
RandString generates a random string of length 'n' using lowercase alphabetic characters.
func ReturnTestDevice ¶ added in v0.3.0
func RunTable ¶ added in v0.8.1
RunTable executes the provided run function for each test case in the cases slice.
func StartSpecTracerForGinkgo ¶ added in v0.8.1
func TestEnrollmentApproval ¶
func TestEnrollmentApproval() *v1alpha1.EnrollmentRequestApproval
func TestTempEnv ¶
func TestTempEnv(key, value string) func()
TestTempEnv sets the environment variable key to value and returns a function that will reset the environment variable to its original value.
Types ¶
type DeviceIDKeyType ¶ added in v0.10.0
type DeviceIDKeyType struct{}
Context keys for storing test data
type DeviceKeyType ¶ added in v0.10.0
type DeviceKeyType struct{}
type TestCase ¶ added in v0.8.1
RunTable runs a table of test cases with the given run function. Each test case has a description and parameters of type T.
type TestContextKeyType ¶ added in v0.10.0
type TestContextKeyType struct{}
type TestIDKeyType ¶ added in v0.10.0
type TestIDKeyType struct{}
TestIDKey is the context key used to store the test ID
type TestOrgCache ¶ added in v0.10.0
type TestOrgCache struct {
// contains filtered or unexported fields
}
func (*TestOrgCache) Get ¶ added in v0.10.0
func (c *TestOrgCache) Get(id uuid.UUID) *model.Organization
func (*TestOrgCache) Set ¶ added in v0.10.0
func (c *TestOrgCache) Set(id uuid.UUID, org *model.Organization)