--- - name: Reset validation result ansible.builtin.set_fact: wikideck_test_invalid_accepted: false - name: Try invalid deployment settings vars: wikideck_image: "{{ invalid_case.image | default('registry.example.com/wikideck:1.0.0') }}" wikideck_name: "{{ invalid_case.name | default('wikideck') }}" wikideck_storage_access_modes: "{{ invalid_case.access_modes | default(['ReadWriteOnce']) }}" wikideck_ingress_enabled: "{{ invalid_case.ingress | default(false) }}" wikideck_ingress_host: "{{ invalid_case.host | default('wikideck.example.com') }}" wikideck_public_origin: "{{ invalid_case.origin | default('') }}" wikideck_resources: "{{ invalid_case.resources | default({'requests': {'cpu': '100m', 'memory': '128Mi'}, 'limits': {'cpu': '1', 'memory': '512Mi'}}) }}" wikideck_offline: "{{ invalid_case.offline | default(false) }}" wikideck_image_pull_secrets: "{{ invalid_case.pull_secrets | default([]) }}" wikideck_network_policy_ingress_from: "{{ invalid_case.ingress_from | default([{'podSelector': {}}]) }}" block: - name: Run role input validation ansible.builtin.include_tasks: ../tasks/validate.yml - name: Record unexpectedly accepted inputs ansible.builtin.set_fact: wikideck_test_invalid_accepted: true rescue: - name: Confirm invalid inputs failed validation ansible.builtin.debug: msg: "Rejected invalid settings: {{ invalid_case.label }}" - name: Assert invalid configuration was rejected ansible.builtin.assert: that: not wikideck_test_invalid_accepted fail_msg: "Validation incorrectly accepted {{ invalid_case.label }}"