suite: workload validation test templates: - common.yaml tests: - it: should fail with name longer than 63 characters set: workload: workload-name: enabled: true primary: true type: Deployment podSpec: {} other-workload-name-super-long-name-that-is-longer-than-63-characters: enabled: true primary: false type: Deployment podSpec: {} asserts: - failedTemplate: errorMessage: Name [release-name-common-test-other-workload-name-super-long-name-that-is-longer-than-63-characters] is not valid. Must start and end with an alphanumeric lowercase character. It can contain '-'. And must be at most 63 characters. - it: should fail with name starting with underscore set: workload: workload-name: enabled: true primary: true type: Deployment podSpec: {} _other-workload-name: enabled: true primary: false type: Deployment podSpec: {} asserts: - failedTemplate: errorMessage: Name [release-name-common-test-_other-workload-name] is not valid. Must start and end with an alphanumeric lowercase character. It can contain '-'. And must be at most 63 characters. - it: should fail with invalid type set: workload: workload-name: enabled: true primary: true type: not-valid-type podSpec: {} asserts: - failedTemplate: errorMessage: Workload - Expected to be one of [Deployment, Job, CronJob], but got [not-valid-type] - it: should fail without podSpec set: workload: workload-name: enabled: true primary: true type: Deployment asserts: - failedTemplate: errorMessage: Workload - Expected key to exist - it: should fail without primary enabled workload set: workload: workload-name: enabled: false primary: true type: Deployment podSpec: {} other-workload-name: enabled: true primary: false type: Deployment podSpec: {} asserts: - failedTemplate: errorMessage: Workload - One enabled workload must be primary - it: should fail more than one primary enabled workload set: workload: workload-name: enabled: true primary: true type: Deployment podSpec: {} other-workload-name: enabled: true primary: true type: Deployment podSpec: {} asserts: - failedTemplate: errorMessage: Workload - Only one workload can be primary - it: should fail with labels not a dict set: workload: workload-name: enabled: true primary: true type: Deployment labels: "not a dict" podSpec: {} asserts: - failedTemplate: errorMessage: Workload - Expected to be a dictionary, but got [string] - it: should fail with annotations not a dict set: workload: workload-name: enabled: true primary: true type: Deployment annotations: "not a dict" podSpec: {} asserts: - failedTemplate: errorMessage: Workload - Expected to be a dictionary, but got [string]