test

package
v0.0.0-...-2369383 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2025 License: Apache-2.0 Imports: 58 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Helper

type Helper struct {
	Ctx               context.Context
	ContextCancelFunc context.CancelFunc

	Broker            string
	EventBroadcaster  *event.EventBroadcaster
	Store             *MemoryStore
	GRPCSourceClient  *generic.CloudEventSourceClient[*api.Resource]
	DBFactory         db.SessionFactory
	AppConfig         *config.ApplicationConfig
	APIServer         server.Server
	MetricsServer     server.Server
	HealthCheckServer *server.HealthCheckServer
	StatusDispatcher  dispatcher.Dispatcher
	EventServer       server.EventServer
	EventFilter       controllers.EventFilter
	ControllerManager *server.ControllersServer
	WorkAgentHolder   *work.ClientHolder
	WorkAgentInformer workv1informers.ManifestWorkInformer
	TimeFunc          TimeFunc
	JWTPrivateKey     *rsa.PrivateKey
	JWTCA             *rsa.PublicKey
	T                 *testing.T
	// contains filtered or unexported fields
}

func NewHelper

func NewHelper(t *testing.T) *Helper

func RegisterIntegration

func RegisterIntegration(t *testing.T) (*Helper, *openapi.APIClient)

Register a test This should be run before every integration test

func (*Helper) CleanDB

func (helper *Helper) CleanDB() error

func (*Helper) ClearAllTables

func (helper *Helper) ClearAllTables()

func (*Helper) Count

func (helper *Helper) Count(table string) int64

func (*Helper) CreateConsumer

func (helper *Helper) CreateConsumer(name string) (*api.Consumer, error)

func (*Helper) CreateConsumerList

func (helper *Helper) CreateConsumerList(count int) ([]*api.Consumer, error)

func (*Helper) CreateConsumerWithLabels

func (helper *Helper) CreateConsumerWithLabels(name string, labels map[string]string) (*api.Consumer, error)

func (*Helper) CreateGRPCAuthRule

func (helper *Helper) CreateGRPCAuthRule(ctx context.Context, kubeClient kubernetes.Interface, ruleName, resourceType, resourceID string, actions []string) error

func (*Helper) CreateGRPCConn

func (helper *Helper) CreateGRPCConn(serverAddr, serverCAFile, tokenFile string) (*grpc.ClientConn, error)

func (*Helper) CreateJWTString

func (helper *Helper) CreateJWTString(account *amv1.Account) string

func (*Helper) CreateJWTToken

func (helper *Helper) CreateJWTToken(account *amv1.Account) *jwt.Token

func (*Helper) CreateResource

func (helper *Helper) CreateResource(consumerName, deployName, serviceAccount string, replicas int) (*api.Resource, error)

CreateResource creates a resource with the given consumer name, deploy name and replicas. It generates a deployment for nginx using the manifestJSON template, assigning a random deploy name to avoid conflicts.

func (*Helper) CreateResourceList

func (helper *Helper) CreateResourceList(consumerName string, count int) ([]*api.Resource, error)

CreateResourceList generates a list of resources with the specified consumer name and count. Each resource gets a randomly generated deploy name for nginx deployments to avoid conflicts.

func (*Helper) Delete

func (helper *Helper) Delete(obj interface{})

func (*Helper) DeleteAll

func (helper *Helper) DeleteAll(table interface{})

func (*Helper) DeleteResource

func (helper *Helper) DeleteResource(id string) error

DeleteResource attempts to delete a resource and returns an error if it fails.

func (*Helper) EncodeManifestBundle

func (helper *Helper) EncodeManifestBundle(manifestJSON, deployName, deployNamespace string) (datatypes.JSONMap, error)

EncodeManifestBundle converts resource manifest JSON into a CloudEvent JSONMap representation.

func (*Helper) Env

func (helper *Helper) Env() *environments.Env

func (*Helper) HealthCheckURL

func (helper *Helper) HealthCheckURL(path string) string

func (*Helper) MetricsURL

func (helper *Helper) MetricsURL(path string) string

func (*Helper) MigrateDB

func (helper *Helper) MigrateDB() error

func (*Helper) MigrateDBTo

func (helper *Helper) MigrateDBTo(migrationID string)

func (*Helper) NewAccount

func (helper *Helper) NewAccount(username, name, email string) *amv1.Account

func (*Helper) NewApiClient

func (helper *Helper) NewApiClient() *openapi.APIClient

func (*Helper) NewAuthenticatedContext

func (helper *Helper) NewAuthenticatedContext(account *amv1.Account) context.Context

func (*Helper) NewEvent

func (helper *Helper) NewEvent(source, action, consumerName, resourceID, deployName string, resourceVersion int64, replicas int) (*cloudevents.Event, error)

NewEvent creates a CloudEvent with the given source, action, consumer name, resource ID, deployment name, resource version, and replicas. It generates a nginx deployment using the manifestJSON template, assigning a random deploy name to avoid conflicts. If the action is "delete_request," the event includes a deletion timestamp.

func (*Helper) NewID

func (helper *Helper) NewID() string

NewID creates a new unique ID used internally to CS

func (*Helper) NewManifest

func (helper *Helper) NewManifest(deployName, serviceAccount string, replicas int) workv1.Manifest

NewManifest creats a manifest with the given deploy name and replicas. It generates a deployment for nginx using the manifestJSON template, assigning random deploy name to avoid conflicts.

func (*Helper) NewManifestJSON

func (helper *Helper) NewManifestJSON(deployName, serviceAccount string, replicas int) string

NewManifestJSON creates a resource manifest in JSON format with the given deploy name and replicas. It generates a deployment for nginx using the manifestJSON template, assigning a random deploy name to avoid conflicts.

func (*Helper) NewManifestWork

func (helper *Helper) NewManifestWork(workName, deployName, serviceAccount string, replicas int) *workv1.ManifestWork

NewManifestWork creates a manifestwork with the given manifestwork name, deploy name and replicas. It generates a deployment for nginx using the manifestJSON template, assigning random manifestwork name and deploy name to avoid conflicts.

func (*Helper) NewRandAccount

func (helper *Helper) NewRandAccount() *amv1.Account

func (*Helper) NewResource

func (helper *Helper) NewResource(consumerName, deployName, serviceAccount string, replicas int, resourceVersion int32) (*api.Resource, error)

NewResource creates a resource with the given consumer name, deploy name, replicas, and resource version.

func (*Helper) NewUUID

func (helper *Helper) NewUUID() string

NewUUID creates a new unique UUID, which has different formatting than ksuid UUID is used by telemeter and we validate the format.

func (*Helper) OpenapiError

func (helper *Helper) OpenapiError(err error) openapi.Error

Convert an error response from the openapi client to an openapi error struct

func (*Helper) Reset

func (helper *Helper) Reset()

func (*Helper) ResetDB

func (helper *Helper) ResetDB() error

func (*Helper) RestURL

func (helper *Helper) RestURL(path string) string

func (*Helper) RestartMetricsServer

func (helper *Helper) RestartMetricsServer()

func (*Helper) RestartServer

func (helper *Helper) RestartServer()

func (*Helper) SkipIfShort

func (helper *Helper) SkipIfShort()

func (*Helper) StartControllerManager

func (helper *Helper) StartControllerManager(ctx context.Context)

func (*Helper) StartGRPCResourceSourceClient

func (helper *Helper) StartGRPCResourceSourceClient()

func (*Helper) StartJWKCertServerMock

func (helper *Helper) StartJWKCertServerMock() (teardown func() error)

func (*Helper) StartWorkAgent

func (helper *Helper) StartWorkAgent(ctx context.Context, clusterName string)

func (*Helper) Teardown

func (helper *Helper) Teardown()

func (*Helper) UpdateResource

func (helper *Helper) UpdateResource(resource *api.Resource) (*api.Resource, error)

UpdateResource attempts to update a resource, resource ID must not be empty.

type MemoryStore

type MemoryStore struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewStore

func NewStore() *MemoryStore

func (*MemoryStore) Add

func (s *MemoryStore) Add(resource *api.Resource)

func (*MemoryStore) Delete

func (s *MemoryStore) Delete(resourceID string)

func (*MemoryStore) Get

func (s *MemoryStore) Get(resourceID string) (*api.Resource, error)

func (*MemoryStore) List

func (s *MemoryStore) List(listOpts types.ListOptions) ([]*api.Resource, error)

func (*MemoryStore) ListByNamespace

func (s *MemoryStore) ListByNamespace(namespace string) []*api.Resource

func (*MemoryStore) UpSert

func (s *MemoryStore) UpSert(resource *api.Resource)

func (*MemoryStore) Update

func (s *MemoryStore) Update(resource *api.Resource) error

func (*MemoryStore) UpdateStatus

func (s *MemoryStore) UpdateStatus(resource *api.Resource) error

type TimeFunc

type TimeFunc func() time.Time

TimeFunc defines a way to get a new Time instance common to the entire test suite. Aria's environment has Virtual Time that may not be actual time. We compensate by synchronizing on a common time func attached to the test harness.

Directories

Path Synopsis
e2e
performance
cmd

Jump to

Keyboard shortcuts

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