Documentation ¶
Index ¶
- Constants
- Variables
- func AssertEqual(t *testing.T, expected, actual interface{}, msgAndArgs ...interface{})
- func AssertNotEqual(t *testing.T, expected, actual interface{}, msgAndArgs ...interface{})
- func EqualError(err error) error
- func EqualErrorString(err string) error
- func EqualErrorType(err error) error
- func Mutate(u *unstructured.Unstructured, mutators ...Mutator) *unstructured.Unstructured
- func NewFakeRESTMapper(gvks ...schema.GroupVersionKind) meta.RESTMapper
- func SortExpEvents(events []ExpEvent)
- func ToIdentifier(t *testing.T, manifest string) object.ObjMetadata
- func Unstructured(t *testing.T, manifest string, mutators ...Mutator) *unstructured.Unstructured
- func VerifyEvents(expEvents []ExpEvent, events []event.Event) error
- type Asserter
- type EqualMatcher
- type ExpActionGroupEvent
- type ExpApplyEvent
- type ExpDeleteEvent
- type ExpErrorEvent
- type ExpEvent
- type ExpInitEvent
- type ExpPruneEvent
- type ExpStatusEvent
- type ExpValidationEvent
- type ExpWaitEvent
- type GroupedEventsByID
- type Mutator
- type TestFilesystem
Constants ¶
const OwningInventoryKey = "config.k8s.io/owning-inventory"
OwningInventoryKey is the annotation key indicating the inventory owning an object. This is a copy of inventory.OwningInventoryKey to avoid dependency cycle.
Variables ¶
var DefaultAsserter = NewAsserter(cmpopts.EquateErrors())
DefaultAsserter is a global Asserter with default comparison options: - EquateErrors (compare with "Is(T) bool" method)
Functions ¶
func AssertEqual ¶ added in v0.26.0
AssertEqual fails the test if the actual value does not deeply equal the expected value. Prints a diff on failure.
func AssertNotEqual ¶ added in v0.26.0
AssertNotEqual fails the test if the actual value deeply equals the expected value. Prints a diff on failure.
func EqualError ¶ added in v0.30.0
EqualError returns an error with an Is(error)bool function that matches any error with the same type and string value as the supplied error.
Use with testutil.Equal to handle error comparisons.
func EqualErrorString ¶ added in v0.26.0
EqualErrorString returns an error with an Is(error)bool function that matches any error with the same Error() as the supplied string value.
Use with testutil.Equal to handle error comparisons.
func EqualErrorType ¶ added in v0.26.0
EqualErrorType returns an error with an Is(error)bool function that matches any error with the same type as the supplied error.
Use with testutil.Equal to handle error comparisons.
func Mutate ¶ added in v0.30.0
func Mutate(u *unstructured.Unstructured, mutators ...Mutator) *unstructured.Unstructured
Mutate executes the specified Mutators on the specified object.
func NewFakeRESTMapper ¶ added in v0.14.0
func NewFakeRESTMapper(gvks ...schema.GroupVersionKind) meta.RESTMapper
func SortExpEvents ¶ added in v0.30.0
func SortExpEvents(events []ExpEvent)
SortExpEvents sorts a list of ExpEvents so they can be compared for equality.
This is a stable sort which only sorts nearly identical contiguous events by object identifier, to make the full list easier to validate.
You may need to remove StatusEvents from the list before comparing, because these events are fully asynchronous and non-contiguous.
Comparison Options: A) Expect(received).To(testutil.Equal(expected)) B) testutil.assertEqual(t, expected, received)
func ToIdentifier ¶ added in v0.26.0
func ToIdentifier(t *testing.T, manifest string) object.ObjMetadata
ToIdentifier translates object yaml config into ObjMetadata.
func Unstructured ¶ added in v0.26.0
func Unstructured(t *testing.T, manifest string, mutators ...Mutator) *unstructured.Unstructured
Unstructured translates the passed object config string into an object in Unstructured format. The mutators modify the config yaml before returning the object.
Types ¶
type Asserter ¶ added in v0.28.0
Asserter provides a set of assertion methods that use a shared set of comparison options.
func NewAsserter ¶ added in v0.28.0
Returns a new Asserter with the specified options.
func (*Asserter) Equal ¶ added in v0.28.0
Equal fails the test if the actual value does not deeply equal the expected value. Prints a diff on failure.
func (*Asserter) EqualMatcher ¶ added in v0.28.0
func (a *Asserter) EqualMatcher(expected interface{}) *EqualMatcher
EqualMatcher returns a new EqualMatcher with the Asserter's options and the specified expected value.
type EqualMatcher ¶ added in v0.28.0
type EqualMatcher struct { Expected interface{} Options cmp.Options // contains filtered or unexported fields }
func Equal ¶ added in v0.26.0
func Equal(expected interface{}) *EqualMatcher
Equal returns a matcher for use with Gomega that uses go-cmp's cmp.Equal to compare and cmp.Diff to show the difference, if there is one.
Example Usage: Expect(receivedEvents).To(testutil.Equal(expectedEvents))
func (*EqualMatcher) FailureMessage ¶ added in v0.28.0
func (cm *EqualMatcher) FailureMessage(actual interface{}) string
func (*EqualMatcher) Match ¶ added in v0.28.0
func (cm *EqualMatcher) Match(actual interface{}) (bool, error)
func (*EqualMatcher) NegatedFailureMessage ¶ added in v0.28.0
func (cm *EqualMatcher) NegatedFailureMessage(actual interface{}) string
type ExpActionGroupEvent ¶ added in v0.26.0
type ExpActionGroupEvent struct { GroupName string Action event.ResourceAction Type event.ActionGroupEventStatus }
type ExpApplyEvent ¶ added in v0.26.0
type ExpApplyEvent struct { GroupName string Status event.ApplyEventStatus Identifier object.ObjMetadata Error error }
type ExpDeleteEvent ¶ added in v0.26.0
type ExpDeleteEvent struct { GroupName string Status event.DeleteEventStatus Identifier object.ObjMetadata Error error }
type ExpErrorEvent ¶ added in v0.26.0
type ExpErrorEvent struct {
Err error
}
type ExpEvent ¶ added in v0.26.0
type ExpEvent struct { EventType event.Type InitEvent *ExpInitEvent ErrorEvent *ExpErrorEvent ActionGroupEvent *ExpActionGroupEvent ApplyEvent *ExpApplyEvent StatusEvent *ExpStatusEvent PruneEvent *ExpPruneEvent DeleteEvent *ExpDeleteEvent WaitEvent *ExpWaitEvent ValidationEvent *ExpValidationEvent }
func EventToExpEvent ¶ added in v0.26.0
func EventsToExpEvents ¶ added in v0.26.0
type ExpInitEvent ¶ added in v0.26.0
type ExpInitEvent struct { }
type ExpPruneEvent ¶ added in v0.26.0
type ExpPruneEvent struct { GroupName string Status event.PruneEventStatus Identifier object.ObjMetadata Error error }
type ExpStatusEvent ¶ added in v0.26.0
type ExpStatusEvent struct { Status status.Status Identifier object.ObjMetadata Error error }
type ExpValidationEvent ¶ added in v0.28.0
type ExpValidationEvent struct { Identifiers object.ObjMetadataSet Error error }
type ExpWaitEvent ¶ added in v0.26.1
type ExpWaitEvent struct { GroupName string Status event.WaitEventStatus Identifier object.ObjMetadata }
type GroupedEventsByID ¶ added in v0.26.0
type GroupedEventsByID []ExpEvent
GroupedEventsByID implements sort.Interface for []ExpEvent based on the serialized ObjMetadata of Apply, Prune, and Delete events within the same task group. This makes testing events easier, because apply/prune/delete order is non-deterministic within each task group. This is only needed if you expect to have multiple apply/prune/delete events in the same task group.
func (GroupedEventsByID) Len ¶ added in v0.26.0
func (ape GroupedEventsByID) Len() int
func (GroupedEventsByID) Less ¶ added in v0.26.0
func (ape GroupedEventsByID) Less(i, j int) bool
func (GroupedEventsByID) Swap ¶ added in v0.26.0
func (ape GroupedEventsByID) Swap(i, j int)
type Mutator ¶ added in v0.26.0
type Mutator interface {
Mutate(u *unstructured.Unstructured)
}
Mutator inteface defines a function to update an object while translating it unto Unstructured format from yaml config.
func AddDependsOn ¶ added in v0.26.0
func AddDependsOn(t *testing.T, deps ...object.ObjMetadata) Mutator
AddDependsOn returns a testutil.Mutator which adds the passed objects as a depends-on annotation to the object which is mutated. Multiple objects passed in means multiple depends on objects in the annotation separated by a comma.
func AddOwningInv ¶ added in v0.26.0
AddOwningInv returns a Mutator which adds the passed inv string as the owning inventory annotation.
type TestFilesystem ¶
type TestFilesystem struct {
// contains filtered or unexported fields
}
TestFilesystem creates directories and files for testing
func Setup ¶
func Setup(t *testing.T, dirs ...string) TestFilesystem
Setupd creates directories in the test filesystem, returning the TestFilesystem.
func (TestFilesystem) GetRootDir ¶
func (tf TestFilesystem) GetRootDir() string
GetRootDir returns the path to the root of the test filesystem.