-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Labels
Milestone
Description
What problem are you facing?
Uptest validates creation of managed resources that are part of compositions by checking the managed resource status, e.g. to make sure they reach the ready status, but Uptest does not validate the created MRs against any expected values.
How could Uptest help solve your problem?
Have Uptest either directly or through an externally specify-able step validate managed resources against the outcome of composition patches to catch bugs in scenarios like below. Perhaps Crossplane Beta Render or similar could be integrated into or called by Uptest?
- A field that should be patched to MR is missing. For example, in XRD, contains spec.tags but the composition does not patch a value to it. This scenario is similar to a go compiler noticing that a variable is declared but not used or assigned to.
- fromFieldPath: spec.tags
toFieldPath: spec.forProvider.tags
type: FromCompositeFieldPath
- A non-existing field from a claim gets patched into an MR. For example,
apiVersion: s3.aws.upbound.io/v1beta1
kind: Bucket
...
patches:
- fromFieldPath: spec.databaseName # wrong! This should be spec.bucketName
toFieldPath: spec.forProvider.tags
type: FromCompositeFieldPath
LEt Uptest or an integrated external check iterate over MRs, for each MR, iterate over patches, for each patch, verify source and destination field paths and type compatibility.