jujuctesting

package
v0.0.0-...-a753888 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2024 License: AGPL-3.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActionHook

type ActionHook struct {
	ActionParams map[string]interface{}
}

ActionHook holds the values for the hook context.

type Context

Context is a test double for jujuc.Context.

func NewContext

func NewContext(stub *testing.Stub, info *ContextInfo) *Context

NewContext builds a jujuc.Context test double.

func (*Context) GetLogger

func (c *Context) GetLogger(module string) loggo.Logger

type ContextActionHook

type ContextActionHook struct {
	// contains filtered or unexported fields
}

ContextActionHook is a test double for jujuc.ActionHookContext.

func (*ContextActionHook) ActionParams

func (c *ContextActionHook) ActionParams() (map[string]interface{}, error)

ActionParams implements jujuc.ActionHookContext.

func (*ContextActionHook) LogActionMessage

func (c *ContextActionHook) LogActionMessage(message string) error

LogActionMessage implements jujuc.ActionHookContext.

func (*ContextActionHook) SetActionFailed

func (c *ContextActionHook) SetActionFailed() error

SetActionFailed implements jujuc.ActionHookContext.

func (*ContextActionHook) SetActionMessage

func (c *ContextActionHook) SetActionMessage(message string) error

SetActionMessage implements jujuc.ActionHookContext.

func (*ContextActionHook) UpdateActionResults

func (c *ContextActionHook) UpdateActionResults(keys []string, value interface{}) error

UpdateActionResults implements jujuc.ActionHookContext.

type ContextInfo

ContextInfo holds the values for the hook context.

func (*ContextInfo) Context

func (info *ContextInfo) Context(stub *testing.Stub) *Context

Context returns a Context that wraps the info.

func (*ContextInfo) SetAsActionHook

func (info *ContextInfo) SetAsActionHook()

SetAsActionHook updates the context to work as an action hook context.

func (*ContextInfo) SetAsRelationHook

func (info *ContextInfo) SetAsRelationHook(id int, remote string)

SetAsRelationHook updates the context to work as a relation hook context.

func (*ContextInfo) SetRemoteApplicationName

func (info *ContextInfo) SetRemoteApplicationName(remote string)

SetRemoteApplicationName defines the remote application

type ContextInstance

type ContextInstance struct {
	// contains filtered or unexported fields
}

ContextInstance is a test double for jujuc.ContextInstance.

func (*ContextInstance) AvailabilityZone

func (c *ContextInstance) AvailabilityZone() (string, error)

AvailabilityZone implements jujuc.ContextInstance.

func (*ContextInstance) RequestReboot

func (c *ContextInstance) RequestReboot(priority jujuc.RebootPriority) error

RequestReboot implements jujuc.ContextInstance.

type ContextLeader

type ContextLeader struct {
	// contains filtered or unexported fields
}

ContextLeader is a test double for jujuc.ContextLeader.

func (*ContextLeader) IsLeader

func (c *ContextLeader) IsLeader() (bool, error)

IsLeader implements jujuc.ContextLeader.

func (*ContextLeader) LeaderSettings

func (c *ContextLeader) LeaderSettings() (map[string]string, error)

LeaderSettings implements jujuc.ContextLeader.

func (*ContextLeader) WriteLeaderSettings

func (c *ContextLeader) WriteLeaderSettings(settings map[string]string) error

WriteLeaderSettings implements jujuc.ContextLeader.

type ContextMetrics

type ContextMetrics struct {
	// contains filtered or unexported fields
}

ContextMetrics is a test double for jujuc.ContextMetrics.

func (*ContextMetrics) AddMetric

func (c *ContextMetrics) AddMetric(key, value string, created time.Time) error

AddMetric implements jujuc.ContextMetrics.

func (*ContextMetrics) AddMetricLabels

func (c *ContextMetrics) AddMetricLabels(key, value string, created time.Time, labels map[string]string) error

AddMetricLabels implements jujuc.ContextMetrics.

type ContextNetworking

type ContextNetworking struct {
	// contains filtered or unexported fields
}

ContextNetworking is a test double for jujuc.ContextNetworking.

func (*ContextNetworking) ClosePortRange

func (c *ContextNetworking) ClosePortRange(endpoint string, portRange network.PortRange) error

ClosePortRange implements jujuc.ContextNetworking.

func (*ContextNetworking) NetworkInfo

func (c *ContextNetworking) NetworkInfo(bindingNames []string, relationId int) (map[string]params.NetworkInfoResult, error)

NetworkInfo implements jujuc.ContextNetworking.

func (*ContextNetworking) OpenPortRange

func (c *ContextNetworking) OpenPortRange(endpoint string, portRange network.PortRange) error

OpenPortRange implements jujuc.ContextNetworking.

func (*ContextNetworking) OpenedPortRanges

func (c *ContextNetworking) OpenedPortRanges() network.GroupedPortRanges

OpenedPortRanges implements jujuc.ContextNetworking.

func (*ContextNetworking) PrivateAddress

func (c *ContextNetworking) PrivateAddress() (string, error)

PrivateAddress implements jujuc.ContextNetworking.

func (*ContextNetworking) PublicAddress

func (c *ContextNetworking) PublicAddress() (string, error)

PublicAddress implements jujuc.ContextNetworking.

type ContextPayloads

type ContextPayloads struct {
	// contains filtered or unexported fields
}

ContextPayloads is a test double for jujuc.ContextResources.

func (*ContextPayloads) FlushPayloads

func (c *ContextPayloads) FlushPayloads() error

FlushPayloads implements jujuc.ContextPayloads.

func (*ContextPayloads) GetPayload

func (c *ContextPayloads) GetPayload(class, id string) (*payloads.Payload, error)

GetPayload implements jujuc.ContextPayloads.

func (*ContextPayloads) ListPayloads

func (c *ContextPayloads) ListPayloads() ([]string, error)

ListPayloads implements jujuc.ContextPayloads.

func (*ContextPayloads) SetPayloadStatus

func (c *ContextPayloads) SetPayloadStatus(class, id, status string) error

SetPayloadStatus implements jujuc.ContextPayloads.

func (*ContextPayloads) TrackPayload

func (c *ContextPayloads) TrackPayload(payload payloads.Payload) error

TrackPayload implements jujuc.ContextPayloads.

func (*ContextPayloads) UntrackPayload

func (c *ContextPayloads) UntrackPayload(class, id string) error

UntrackPayload implements jujuc.ContextPayloads.

type ContextRelation

type ContextRelation struct {
	// contains filtered or unexported fields
}

ContextRelation is a test double for jujuc.ContextRelation.

func (*ContextRelation) ApplicationSettings

func (r *ContextRelation) ApplicationSettings() (jujuc.Settings, error)

ApplicationSettings implements jujuc.ContextRelation.

func (*ContextRelation) FakeId

func (r *ContextRelation) FakeId() string

FakeId implements jujuc.ContextRelation.

func (*ContextRelation) Id

func (r *ContextRelation) Id() int

Id implements jujuc.ContextRelation.

func (*ContextRelation) Life

func (r *ContextRelation) Life() life.Value

Life implements jujuc.ContextRelation.

func (*ContextRelation) Name

func (r *ContextRelation) Name() string

Name implements jujuc.ContextRelation.

func (*ContextRelation) ReadApplicationSettings

func (r *ContextRelation) ReadApplicationSettings(name string) (params.Settings, error)

ReadApplicationSettings implements jujuc.ContextRelation.

func (*ContextRelation) ReadSettings

func (r *ContextRelation) ReadSettings(name string) (params.Settings, error)

ReadSettings implements jujuc.ContextRelation.

func (*ContextRelation) RelationTag

func (r *ContextRelation) RelationTag() names.RelationTag

RelationTag implements jujuc.ContextRelation.

func (*ContextRelation) RemoteApplicationName

func (r *ContextRelation) RemoteApplicationName() string

RemoteApplicationName implements jujuc.ContextRelation.

func (*ContextRelation) SetStatus

func (r *ContextRelation) SetStatus(status relation.Status) error

SetStatus implements jujuc.ContextRelation.

func (*ContextRelation) Settings

func (r *ContextRelation) Settings() (jujuc.Settings, error)

Settings implements jujuc.ContextRelation.

func (*ContextRelation) Suspended

func (r *ContextRelation) Suspended() bool

Suspended implements jujuc.ContextRelation.

func (*ContextRelation) UnitNames

func (r *ContextRelation) UnitNames() []string

UnitNames implements jujuc.ContextRelation.

type ContextRelationHook

type ContextRelationHook struct {
	// contains filtered or unexported fields
}

ContextRelationHook is a test double for jujuc.RelationHookContext.

func (*ContextRelationHook) HookRelation

func (c *ContextRelationHook) HookRelation() (jujuc.ContextRelation, error)

HookRelation implements jujuc.RelationHookContext.

func (*ContextRelationHook) RemoteApplicationName

func (c *ContextRelationHook) RemoteApplicationName() (string, error)

RemoteApplicationName implements jujuc.RelationHookContext.

func (*ContextRelationHook) RemoteUnitName

func (c *ContextRelationHook) RemoteUnitName() (string, error)

RemoteUnitName implements jujuc.RelationHookContext.

type ContextRelations

type ContextRelations struct {
	// contains filtered or unexported fields
}

ContextRelations is a test double for jujuc.ContextRelations.

func (*ContextRelations) DownloadResource

func (c *ContextRelations) DownloadResource(resourceName string) (string, error)

DownloadResource implements jujuc.ContextResources.

func (*ContextRelations) Relation

func (c *ContextRelations) Relation(id int) (jujuc.ContextRelation, error)

Relation implements jujuc.ContextRelations.

func (*ContextRelations) RelationIds

func (c *ContextRelations) RelationIds() ([]int, error)

RelationIds implements jujuc.ContextRelations.

type ContextResources

type ContextResources struct {
	// contains filtered or unexported fields
}

ContextResources is a test double for jujuc.ContextResources.

type ContextSecrets

type ContextSecrets struct {
	SecretValue secrets.SecretValue
	Access      []secrets.AccessInfo
	// contains filtered or unexported fields
}

ContextSecrets is a test double for jujuc.ContextSecrets.

func (*ContextSecrets) CreateSecret

func (c *ContextSecrets) CreateSecret(args *jujuc.SecretCreateArgs) (*secrets.URI, error)

CreateSecret implements jujuc.ContextSecrets.

func (*ContextSecrets) GetSecret

func (c *ContextSecrets) GetSecret(uri *secrets.URI, label string, refresh, peek bool) (secrets.SecretValue, error)

GetSecret implements jujuc.ContextSecrets.

func (*ContextSecrets) GrantSecret

func (c *ContextSecrets) GrantSecret(uri *secrets.URI, args *jujuc.SecretGrantRevokeArgs) error

GrantSecret implements jujuc.ContextSecrets.

func (*ContextSecrets) RemoveSecret

func (c *ContextSecrets) RemoveSecret(uri *secrets.URI, revision *int) error

RemoveSecret implements jujuc.ContextSecrets.

func (*ContextSecrets) RevokeSecret

func (c *ContextSecrets) RevokeSecret(uri *secrets.URI, args *jujuc.SecretGrantRevokeArgs) error

RevokeSecret implements jujuc.ContextSecrets.

func (*ContextSecrets) SecretMetadata

func (c *ContextSecrets) SecretMetadata() (map[string]jujuc.SecretMetadata, error)

SecretMetadata gets the metadata for secrets created by the charm.

func (*ContextSecrets) UpdateSecret

func (c *ContextSecrets) UpdateSecret(uri *secrets.URI, args *jujuc.SecretUpdateArgs) error

UpdateSecret implements jujuc.ContextSecrets.

type ContextStatus

type ContextStatus struct {
	// contains filtered or unexported fields
}

ContextStatus is a test double for jujuc.ContextStatus.

func (*ContextStatus) ApplicationStatus

func (c *ContextStatus) ApplicationStatus() (jujuc.ApplicationStatusInfo, error)

ApplicationStatus implements jujuc.ContextStatus.

func (*ContextStatus) SetApplicationStatus

func (c *ContextStatus) SetApplicationStatus(status jujuc.StatusInfo) error

SetApplicationStatus implements jujuc.ContextStatus.

func (*ContextStatus) SetUnitStatus

func (c *ContextStatus) SetUnitStatus(status jujuc.StatusInfo) error

SetUnitStatus implements jujuc.ContextStatus.

func (*ContextStatus) UnitStatus

func (c *ContextStatus) UnitStatus() (*jujuc.StatusInfo, error)

UnitStatus implements jujuc.ContextStatus.

type ContextStorage

type ContextStorage struct {
	// contains filtered or unexported fields
}

ContextStorage is a test double for jujuc.ContextStorage.

func (*ContextStorage) AddUnitStorage

func (c *ContextStorage) AddUnitStorage(all map[string]params.StorageConstraints) error

AddUnitStorage implements jujuc.ContextStorage.

func (*ContextStorage) HookStorage

func (c *ContextStorage) HookStorage() (jujuc.ContextStorageAttachment, error)

HookStorage implements jujuc.ContextStorage.

func (*ContextStorage) Storage

func (c *ContextStorage) Storage(tag names.StorageTag) (jujuc.ContextStorageAttachment, error)

Storage implements jujuc.ContextStorage.

func (*ContextStorage) StorageTags

func (c *ContextStorage) StorageTags() ([]names.StorageTag, error)

StorageTags implements jujuc.ContextStorage.

type ContextStorageAttachment

type ContextStorageAttachment struct {
	// contains filtered or unexported fields
}

ContextStorageAttachment is a test double for jujuc.ContextStorageAttachment.

func (*ContextStorageAttachment) Kind

Kind implements jujuc.StorageAttachement.

func (*ContextStorageAttachment) Location

func (c *ContextStorageAttachment) Location() string

Location implements jujuc.StorageAttachement.

func (*ContextStorageAttachment) Tag

func (c *ContextStorageAttachment) Tag() names.StorageTag

Tag implements jujuc.StorageAttachement.

type ContextSuite

type ContextSuite struct {
	Stub *testing.Stub
	Unit string
}

ContextSuite is the base suite for testing jujuc.Context-related code.

func (*ContextSuite) NewHookContext

func (s *ContextSuite) NewHookContext() (*Context, *ContextInfo)

NewHookContext builds a jujuc.Context test double.

func (*ContextSuite) NewInfo

func (s *ContextSuite) NewInfo() *ContextInfo

NewInfo builds a ContextInfo with basic default data.

func (*ContextSuite) SetUpTest

func (s *ContextSuite) SetUpTest(c *gc.C)

type ContextUnit

type ContextUnit struct {
	// contains filtered or unexported fields
}

ContextUnit is a test double for jujuc.ContextUnit.

func (*ContextUnit) CloudSpec

func (c *ContextUnit) CloudSpec() (*params.CloudSpec, error)

func (*ContextUnit) ConfigSettings

func (c *ContextUnit) ConfigSettings() (charm.Settings, error)

ConfigSettings implements jujuc.ContextUnit.

func (*ContextUnit) GetPodSpec

func (c *ContextUnit) GetPodSpec() (string, error)

func (*ContextUnit) GetRawK8sSpec

func (c *ContextUnit) GetRawK8sSpec() (string, error)

func (*ContextUnit) GoalState

func (c *ContextUnit) GoalState() (*application.GoalState, error)

GoalState implements jujuc.ContextUnit.

func (*ContextUnit) SetPodSpec

func (c *ContextUnit) SetPodSpec(specYaml string) error

func (*ContextUnit) SetRawK8sSpec

func (c *ContextUnit) SetRawK8sSpec(specYaml string) error

func (*ContextUnit) UnitName

func (c *ContextUnit) UnitName() string

UnitName implements jujuc.ContextUnit.

type ContextUnitCharmState

type ContextUnitCharmState struct {
	// contains filtered or unexported fields
}

ContextUnitCharmState is a test double for jujuc.unitCharmStateContext.

func (*ContextUnitCharmState) DeleteCharmStateValue

func (c *ContextUnitCharmState) DeleteCharmStateValue(key string) error

DeleteCharmStateValue implements jujuc.unitCharmStateContext.

func (*ContextUnitCharmState) GetCharmState

func (c *ContextUnitCharmState) GetCharmState() (map[string]string, error)

GetCharmState implements jujuc.unitCharmStateContext.

func (*ContextUnitCharmState) GetCharmStateValue

func (c *ContextUnitCharmState) GetCharmStateValue(key string) (string, error)

GetCharmStateValue implements jujuc.unitCharmStateContext.

func (*ContextUnitCharmState) SetCharmStateValue

func (c *ContextUnitCharmState) SetCharmStateValue(key string, value string) error

SetCharmStateValue implements jujuc.unitCharmStateContext.

type ContextVersion

type ContextVersion struct {
	// contains filtered or unexported fields
}

ContextVersion is a test double for jujuc.ContextVersion.

func (*ContextVersion) SetUnitWorkloadVersion

func (c *ContextVersion) SetUnitWorkloadVersion(version string) error

SetUnitWorkloadVersion implements jujuc.ContextVersion.

func (*ContextVersion) UnitWorkloadVersion

func (c *ContextVersion) UnitWorkloadVersion() (string, error)

UnitWorkloadVersion implements jujuc.ContextVersion.

type ContextWorkloadHook

type ContextWorkloadHook struct {
	// contains filtered or unexported fields
}

ContextWorkloadHook is a test double for jujuc.WorkloadHookContext.

func (*ContextWorkloadHook) WorkloadName

func (c *ContextWorkloadHook) WorkloadName() (string, error)

WorkloadName implements jujuc.WorkloadHookContext.

type Instance

type Instance struct {
	AvailabilityZone string
	RebootPriority   *jujuc.RebootPriority
}

Instance holds the values for the hook context.

type Leadership

type Leadership struct {
	IsLeader       bool
	LeaderSettings map[string]string
}

Leadership holds the values for the hook context.

type Metrics

type Metrics struct {
	Metrics []jujuc.Metric
}

Metrics holds the values for the hook sub-context.

func (*Metrics) AddMetric

func (m *Metrics) AddMetric(key, value string, created time.Time)

AddMetric adds a Metric for the provided data.

func (*Metrics) AddMetricLabels

func (m *Metrics) AddMetricLabels(key, value string, created time.Time, labels map[string]string)

AddMetricLabels adds a Metric with labels for the provided data.

type NetworkInterface

type NetworkInterface struct {
	PublicAddress        string
	PrivateAddress       string
	PortRangesByEndpoint network.GroupedPortRanges
	NetworkInfoResults   map[string]params.NetworkInfoResult
}

NetworkInterface holds the values for the hook context.

func (*NetworkInterface) AddPortRange

func (ni *NetworkInterface) AddPortRange(endpoint string, portRange network.PortRange)

AddPortRanges adds the specified port range.

func (*NetworkInterface) CheckPortRanges

func (ni *NetworkInterface) CheckPortRanges(c *gc.C, expected network.GroupedPortRanges)

CheckPorts checks the current ports.

func (*NetworkInterface) RemovePortRange

func (ni *NetworkInterface) RemovePortRange(endpoint string, portRange network.PortRange)

RemovePortRange removes the specified port range.

type Relation

type Relation struct {
	// Id is data for jujuc.ContextRelation.
	Id int
	// Name is data for jujuc.ContextRelation.
	Name string
	// Units is data for jujuc.ContextRelation.
	Units map[string]Settings
	// UnitName is data for jujuc.ContextRelation.
	UnitName string
	// RemoteApplicationSettings is data for jujuc.ContextRelation
	RemoteApplicationSettings Settings
	// LocalApplicationSettings is data for jujuc.ContextRelation
	LocalApplicationSettings Settings
	// RemoteApplicationName is data for jujuc.ContextRelation
	RemoteApplicationName string
	// The current life value.
	Life life.Value
}

Relation holds the data for the test double.

func (*Relation) Reset

func (r *Relation) Reset()

Reset clears the Relation's settings.

func (*Relation) SetLocalApplicationSettings

func (r *Relation) SetLocalApplicationSettings(settings Settings)

SetLocalApplicationSettings sets the settings for the local application.

func (*Relation) SetRelated

func (r *Relation) SetRelated(name string, settings Settings)

SetRelated adds the relation settings for the unit.

func (*Relation) SetRemoteApplicationSettings

func (r *Relation) SetRemoteApplicationSettings(settings Settings)

SetRemoteApplicationSettings sets the settings for the remote application.

type RelationHook

type RelationHook struct {
	HookRelation          jujuc.ContextRelation
	RemoteUnitName        string
	RemoteApplicationName string
}

RelationHook holds the values for the hook context.

func (*RelationHook) Reset

func (rh *RelationHook) Reset()

Reset clears the RelationHook's data.

type Relations

type Relations struct {
	Relations map[int]jujuc.ContextRelation
}

Relations holds the values for the hook context.

func (*Relations) Reset

func (r *Relations) Reset()

Reset clears the Relations data.

func (*Relations) SetNewRelation

func (r *Relations) SetNewRelation(id int, name string, stub *testing.Stub) *Relation

SetNewRelation adds the relation to the set of known relations.

func (*Relations) SetNewRelationWithLife

func (r *Relations) SetNewRelationWithLife(id int, name string, life life.Value, stub *testing.Stub) *Relation

func (*Relations) SetRelated

func (r *Relations) SetRelated(id int, unit string, settings Settings)

SetRelated adds the provided unit information to the relation.

func (*Relations) SetRelation

func (r *Relations) SetRelation(id int, relCtx jujuc.ContextRelation)

SetRelation adds the relation to the set of known relations.

type Settings

type Settings params.Settings

Settings is a test double for jujuc.Settings.

func (Settings) Delete

func (s Settings) Delete(k string)

Delete implements jujuc.Settings.

func (Settings) Get

func (s Settings) Get(k string) (interface{}, bool)

Get implements jujuc.Settings.

func (Settings) Map

func (s Settings) Map() params.Settings

Map implements jujuc.Settings.

func (Settings) Set

func (s Settings) Set(k, v string)

Set implements jujuc.Settings.

type Status

type Status struct {
	UnitStatus        jujuc.StatusInfo
	ApplicationStatus jujuc.ApplicationStatusInfo
}

Status holds the values for the hook context.

func (*Status) SetApplicationStatus

func (s *Status) SetApplicationStatus(application jujuc.StatusInfo, units []jujuc.StatusInfo)

SetApplicationStatus builds a application status and sets it on the Status.

type Storage

type Storage struct {
	Storage    map[names.StorageTag]jujuc.ContextStorageAttachment
	StorageTag names.StorageTag
	Added      map[string]params.StorageConstraints
}

Storage holds the values for the hook context.

func (*Storage) AddUnitStorage

func (s *Storage) AddUnitStorage(all map[string]params.StorageConstraints)

AddUnitStorage sets storage that should be added.

func (*Storage) SetAttachment

func (s *Storage) SetAttachment(attach jujuc.ContextStorageAttachment)

SetAttachment adds the attachment to the storage.

func (*Storage) SetBlockStorage

func (s *Storage) SetBlockStorage(name, location string, stub *testing.Stub)

SetBlockStorage adds the attachment to the storage.

func (*Storage) SetNewAttachment

func (s *Storage) SetNewAttachment(name, location string, kind storage.StorageKind, stub *testing.Stub)

SetNewAttachment adds the attachment to the storage.

func (*Storage) SetStorageTag

func (s *Storage) SetStorageTag(id string)

SetStorageTag sets the storage tag to the given ID.

func (*Storage) SetUnitStorage

func (s *Storage) SetUnitStorage(name string, constraints params.StorageConstraints)

SetUnitStorage sets storage that should be added.

type StorageAttachment

type StorageAttachment struct {
	Tag      names.StorageTag
	Kind     storage.StorageKind
	Location string
}

StorageAttachment holds the data for the test double.

type Unit

type Unit struct {
	Name           string
	ConfigSettings charm.Settings
	GoalState      application.GoalState
	K8sSpec        string
	RawK8sSpec     string
	CloudSpec      params.CloudSpec
}

Unit holds the values for the hook context.

type UnitCharmState

type UnitCharmState struct {
	// contains filtered or unexported fields
}

func (*UnitCharmState) SetCharmState

func (u *UnitCharmState) SetCharmState(newCharmState map[string]string)

type Version

type Version struct {
	WorkloadVersion string
}

Version holds values for the hook context.

type WorkloadHook

type WorkloadHook struct {
	WorkloadName string
}

WorkloadHook holds the values for the hook context.

func (*WorkloadHook) Reset

func (rh *WorkloadHook) Reset()

Reset clears the WorkloadHook's data.

Jump to

Keyboard shortcuts

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