Make lookup plugins return lists to fix failures (#15625)

* Make lookup plugins return lists to fix failures

* Update unit tests

* Use lookup for test failures, update docs

* Grammar fix from review

Co-authored-by: Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>

---------

Co-authored-by: Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
This commit is contained in:
Alan Rominger
2024-11-12 12:37:38 -05:00
committed by GitHub
parent 6f184e3f76
commit c9f880414c
7 changed files with 33 additions and 53 deletions

View File

@@ -11,7 +11,7 @@
- name: Call ruleset with no rules
set_fact:
complex_rule: "{{ query(ruleset_plugin_name | string, '2022-04-30 10:30:45') }}"
complex_rule: "{{ lookup(ruleset_plugin_name | string, '2022-04-30 10:30:45') }}"
ignore_errors: True
register: results
@@ -23,7 +23,7 @@
- name: call ruleset with a missing frequency
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
ignore_errors: True
register: results
vars:
@@ -41,7 +41,7 @@
- name: call ruleset with a missing frequency
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
ignore_errors: True
register: results
vars:
@@ -59,7 +59,7 @@
- name: call rruleset with an invalid frequency
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
ignore_errors: True
register: results
vars:
@@ -78,7 +78,7 @@
- name: call rruleset with an invalid end_on
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
ignore_errors: True
register: results
vars:
@@ -97,7 +97,7 @@
- name: Every Mondays
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='UTC' ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='UTC' ) }}"
ignore_errors: True
register: results
vars:
@@ -114,7 +114,7 @@
- name: call rruleset with an invalid byweekday
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
ignore_errors: True
register: results
vars:
@@ -133,7 +133,7 @@
- name: call rruleset with a monthly rule with invalid bymonthday (a)
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
ignore_errors: True
register: results
vars:
@@ -152,7 +152,7 @@
- name: call rruleset with a monthly rule with invalid bymonthday (-1)
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
ignore_errors: True
register: results
vars:
@@ -171,7 +171,7 @@
- name: call rruleset with a monthly rule with invalid bymonthday (32)
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
ignore_errors: True
register: results
vars:
@@ -190,7 +190,7 @@
- name: call rruleset with a monthly rule with invalid bysetpos (junk)
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
ignore_errors: True
register: results
vars:
@@ -209,7 +209,7 @@
- name: call rruleset with an invalid timezone
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='junk' ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='junk' ) }}"
ignore_errors: True
register: results
vars:
@@ -228,7 +228,7 @@
- name: call rruleset with only exclude rules
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules ) }}"
ignore_errors: True
register: results
vars:
@@ -249,7 +249,7 @@
- name: Every day except for Sundays
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='UTC' ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='UTC' ) }}"
ignore_errors: True
register: results
vars:
@@ -269,7 +269,7 @@
- name: Every day except for April 30th
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2023-04-28 17:00:00', rules=rrules, timezone='UTC' ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2023-04-28 17:00:00', rules=rrules, timezone='UTC' ) }}"
ignore_errors: True
register: results
vars:
@@ -290,7 +290,7 @@
- name: Every 5 minutes but not on Mondays from 5-7pm
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='UTC' ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='UTC' ) }}"
ignore_errors: True
register: results
vars:
@@ -313,7 +313,7 @@
- name: Every 15 minutes Monday to Friday from 10:01am to 6:02pm (inclusive)
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='UTC' ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='UTC' ) }}"
ignore_errors: True
register: results
vars:
@@ -342,7 +342,7 @@
- name: Any Saturday whose month day is between 12 and 18
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='UTC' ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='UTC' ) }}"
ignore_errors: True
register: results
vars:
@@ -359,7 +359,7 @@
- name: mondays, Tuesdays, and WEDNESDAY with case-insensitivity
set_fact:
complex_rule: "{{ query(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='UTC' ) }}"
complex_rule: "{{ lookup(ruleset_plugin_name, '2022-04-30 10:30:45', rules=rrules, timezone='UTC' ) }}"
ignore_errors: True
register: results
vars:

View File

@@ -9,7 +9,7 @@
- name: Test too many params (failure from validation of terms)
ansible.builtin.debug:
msg: "{{ query(plugin_name | string, 'none', 'weekly', start_date='2020-4-16 03:45:07') }}"
msg: "{{ lookup(plugin_name | string, 'none', 'weekly', start_date='2020-4-16 03:45:07') }}"
ignore_errors: true
register: result
@@ -20,7 +20,7 @@
- name: Test invalid frequency (failure from validation of term)
ansible.builtin.debug:
msg: "{{ query(plugin_name, 'john', start_date='2020-4-16 03:45:07') }}"
msg: "{{ lookup(plugin_name, 'john', start_date='2020-4-16 03:45:07') }}"
ignore_errors: true
register: result
@@ -31,7 +31,7 @@
- name: Test an invalid start date (generic failure case from get_rrule)
ansible.builtin.debug:
msg: "{{ query(plugin_name, 'none', start_date='invalid') }}"
msg: "{{ lookup(plugin_name, 'none', start_date='invalid') }}"
ignore_errors: true
register: result
@@ -42,7 +42,7 @@
- name: Test end_on as count (generic success case)
ansible.builtin.debug:
msg: "{{ query(plugin_name, 'minute', start_date='2020-4-16 03:45:07', end_on='2') }}"
msg: "{{ lookup(plugin_name, 'minute', start_date='2020-4-16 03:45:07', end_on='2') }}"
register: result
- ansible.builtin.assert: