Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/manuals/cli/howtos/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -429,6 +429,10 @@ guide shows you how to [build and push your projects][build-and-push-your-projec

<CrdDocViewer crdUrl="/crds/testing/meta.dev.upbound.io_projects.yaml" />

### Operation Tests

<CrdDocViewer crdUrl="/crds/testing/meta.dev.upbound.io_operationtests.yaml" />


<!-- vale on -->

Expand Down
4 changes: 4 additions & 0 deletions docs/reference/apis/testing-api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,7 @@ This section documents Custom Resource Definitions (CRDs) for Upbound Projects.
<CrdDocViewer crdUrl="/crds/testing/meta.dev.upbound.io_projects.yaml" />


## Operation Tests API

<CrdDocViewer crdUrl="/crds/testing/meta.dev.upbound.io_operationtests.yaml" />

15 changes: 8 additions & 7 deletions static/crds/testing/meta.dev.upbound.io_compositiontests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.18.0
controller-gen.kubebuilder.io/version: v0.19.0
name: compositiontests.meta.dev.upbound.io
spec:
group: meta.dev.upbound.io
Expand Down Expand Up @@ -65,13 +65,14 @@ spec:
Optional.
type: string
context:
description: |-
Context specifies context for the Function Pipeline inline.
Optional.
items:
additionalProperties:
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
description: |-
Context specifies context for the Function Pipeline inline as key-value pairs.
Keys are context keys, values are JSON data.
Optional.
type: object
extraResources:
description: |-
ExtraResources specifies additional resources inline.
Expand All @@ -97,7 +98,7 @@ spec:
default: 30
description: |-
Timeout for the test in seconds
Default is 30s.
Required. Default is 30s.
minimum: 1
type: integer
validate:
Expand Down
12 changes: 11 additions & 1 deletion static/crds/testing/meta.dev.upbound.io_e2etests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.18.0
controller-gen.kubebuilder.io/version: v0.19.0
name: e2etests.meta.dev.upbound.io
spec:
group: meta.dev.upbound.io
Expand Down Expand Up @@ -52,6 +52,16 @@ spec:
Crossplane compositions, providers, and managed resources work correctly
together in a real controlplane environment.
properties:
cleanupTimeoutSeconds:
default: 600
description: |-
CleanupTimeoutSeconds defines the maximum duration in seconds for cleanup
operations after the test completes. This timeout applies to the deletion
of test resources and any associated managed resources. If not specified,
defaults to 600 seconds (10 minutes). Consider increasing this value for
tests with many resources or complex deletion dependencies.
minimum: 1
type: integer
crossplane:
description: |-
Crossplane specifies the Crossplane configuration and settings required
Expand Down
123 changes: 123 additions & 0 deletions static/crds/testing/meta.dev.upbound.io_operationtests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.19.0
name: operationtests.meta.dev.upbound.io
spec:
group: meta.dev.upbound.io
names:
categories:
- meta
kind: OperationTest
listKind: OperationTestList
plural: operationtests
shortNames:
- optest
singular: operationtest
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: OperationTest defines the schema for the OperationTest custom
resource.
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: OperationTestSpec defines the specification for the OperationTest
custom resource.
properties:
assertResources:
description: |-
AssertResources defines assertions to validate resources after test completion.
Optional.
items:
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
context:
additionalProperties:
type: object
x-kubernetes-preserve-unknown-fields: true
description: |-
Context specifies context for the Function Pipeline inline as key-value pairs.
Keys are context keys, values are JSON data.
Optional.
type: object
functionCredentialsPath:
description: |-
FunctionCredentialsPath specifies a path to a credentials file to be passed to tests.
Optional.
type: string
operation:
description: |-
Operation specifies the Operation definition inline.
Optional.
type: object
x-kubernetes-preserve-unknown-fields: true
operationPath:
description: |-
OperationPath specifies the XRD definition path.
Optional.
type: string
requiredResources:
description: |-
RequiredResources specifies additional required resources inline.
Optional.
items:
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
requiredResourcesPath:
description: |-
RequiredResourcesPath specifies a path to required resources file.
Optional.
type: string
timeoutSeconds:
default: 30
description: |-
Timeout for the test in seconds
Required. Default is 30s.
minimum: 1
type: integer
watchedResource:
description: |-
WatchedResource specifies additional watched resource inline.
Optional.
type: object
x-kubernetes-preserve-unknown-fields: true
watchedResourcePath:
description: |-
WatchedResourcePath specifies a path to watched resource file.
Optional.
type: string
required:
- operation
- timeoutSeconds
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
10 changes: 8 additions & 2 deletions static/crds/testing/meta.dev.upbound.io_projects.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.18.0
controller-gen.kubebuilder.io/version: v0.19.0
name: projects.meta.dev.upbound.io
spec:
group: meta.dev.upbound.io
Expand Down Expand Up @@ -132,12 +132,14 @@ spec:
description: |-
Configuration is the name of a Configuration package image.
Must be a fully qualified image name, including the registry,

Deprecated: Specify an apiVersion, kind, and package instead.
type: string
function:
description: |-
Function is the name of a Function package image.
Must be a fully qualified image name, including the registry,

Deprecated: Specify an apiVersion, kind, and package instead.
type: string
kind:
Expand All @@ -147,13 +149,14 @@ spec:
description: |-
Package OCI reference of the dependency. Only used when apiVersion and
kind are set.
Musth be a fully qualified image name, including the registry,
Must be a fully qualified image name, including the registry,
repository, and tag. For example, "registry.example.com/repo/package:tag".
type: string
provider:
description: |-
Provider is the name of a Provider package image.
Must be a fully qualified image name, including the registry,

Deprecated: Specify an apiVersion and kind instead.
type: string
version:
Expand Down Expand Up @@ -369,12 +372,14 @@ spec:
description: |-
Configuration is the name of a Configuration package image.
Must be a fully qualified image name, including the registry,

Deprecated: Specify an apiVersion, kind, and package instead.
type: string
function:
description: |-
Function is the name of a Function package image.
Must be a fully qualified image name, including the registry,

Deprecated: Specify an apiVersion, kind, and package instead.
type: string
kind:
Expand All @@ -391,6 +396,7 @@ spec:
description: |-
Provider is the name of a Provider package image.
Must be a fully qualified image name, including the registry,

Deprecated: Specify an apiVersion and kind instead.
type: string
version:
Expand Down
Loading