--- - name: create source (check mode) win_chocolatey_source: name: chocolatey source: https://chocolatey.org/api/v2/ state: present register: create_check check_mode: yes - name: check if source exists (check mode) choco_source: register: create_actual_check - name: assert create source (check mode) assert: that: - create_check is changed - create_actual_check.sources == [] - name: create source win_chocolatey_source: name: chocolatey source: https://chocolatey.org/api/v2/ state: present register: create - name: check if source exists choco_source: register: create_actual - name: assert create source assert: that: - create is changed - create_actual.sources|length == 1 - create_actual.sources[0].name == 'chocolatey' - create_actual.sources[0].source == 'https://chocolatey.org/api/v2/' - create_actual.sources[0].disabled == False - create_actual.sources[0].source_username == None - create_actual.sources[0].priority == 0 - create_actual.sources[0].certificate == None - create_actual.sources[0].bypass_proxy == False - create_actual.sources[0].allow_self_service == False - create_actual.sources[0].admin_only == False - name: create source (idempotent) win_chocolatey_source: name: chocolatey source: https://chocolatey.org/api/v2/ state: present register: create_again - name: assert create source (idempotent) assert: that: - not create_again is changed - name: remove source (check mode) win_chocolatey_source: name: chocolatey state: absent register: remove_check check_mode: yes - name: check if source is removed (check mode) choco_source: register: remove_actual_check - name: assert remove source (check mode) assert: that: - remove_check is changed - remove_actual_check.sources == create_actual.sources - name: remove source win_chocolatey_source: name: chocolatey state: absent register: remove - name: check if source is removed choco_source: register: remove_actual - name: assert remove source assert: that: - remove is changed - remove_actual.sources == [] - name: remove source (idempotent) win_chocolatey_source: name: chocolatey state: absent register: remove_again - name: assert remove source (idempotent) assert: that: - not remove_again is changed - name: create a disabled service (check mode) win_chocolatey_source: name: '{{ test_chocolatey_name }}' source: C:\chocolatey repos source_username: username source_password: password certificate: C:\cert.pfx certificate_password: password bypass_proxy: yes priority: 1 state: disabled register: create_special_check check_mode: yes - name: check if source is created (check mode) choco_source: register: create_special_actual_check - name: assert create a disabled service (check mode) assert: that: - create_special_check is changed - create_special_actual_check.sources == [] - name: create a disabled service win_chocolatey_source: name: '{{ test_chocolatey_name }}' source: C:\chocolatey repos source_username: username source_password: password certificate: C:\cert.pfx certificate_password: password bypass_proxy: yes priority: 1 state: disabled register: create_special - name: check if source is created choco_source: register: create_special_actual - name: assert create a disabled service assert: that: - create_special is changed - create_special_actual.sources|length == 1 - create_special_actual.sources[0].name == test_chocolatey_name - create_special_actual.sources[0].source == 'C:\\chocolatey repos' - create_special_actual.sources[0].disabled == True - create_special_actual.sources[0].source_username == 'username' - create_special_actual.sources[0].priority == 1 - create_special_actual.sources[0].certificate == 'C:\\cert.pfx' - create_special_actual.sources[0].bypass_proxy == True - create_special_actual.sources[0].allow_self_service == False - create_special_actual.sources[0].admin_only == False - name: create a disabled service pass always update win_chocolatey_source: name: '{{ test_chocolatey_name }}' source: C:\chocolatey repos source_username: username source_password: password certificate: C:\cert.pfx certificate_password: password bypass_proxy: yes priority: 1 state: disabled register: create_special_pass_always - name: assert create a disabled service pass always update assert: that: - create_special_pass_always is changed - name: create a disabled service (idempotent) win_chocolatey_source: name: '{{ test_chocolatey_name }}' source: C:\chocolatey repos source_username: username source_password: password certificate: C:\cert.pfx certificate_password: password bypass_proxy: yes priority: 1 state: disabled update_password: on_create register: create_special_again - name: assert create a disabled service (idempotent) assert: that: - not create_special_again is changed - name: edit an existing source (check mode) win_chocolatey_source: name: '{{ test_chocolatey_name }}' source: C:\chocolatey repos2 source_username: username2 source_password: password2 certificate: C:\cert2.pfx priority: '5' state: present update_password: on_create admin_only: yes allow_self_service: yes register: modify_source_check check_mode: yes - name: check if source is changed (check mode) choco_source: register: modify_source_check_actual - name: assert edit an existing source (check mode) assert: that: - modify_source_check is changed - modify_source_check_actual.sources == create_special_actual.sources - name: edit an existing source win_chocolatey_source: name: '{{ test_chocolatey_name }}' source: C:\chocolatey repos2 source_username: username2 source_password: password2 certificate: C:\cert2.pfx priority: '5' state: present update_password: on_create admin_only: yes allow_self_service: yes register: modify_source - name: check if source is changed choco_source: register: modify_source_actual - name: assert edit an existing source assert: that: - modify_source is changed - modify_source_actual.sources[0].name == test_chocolatey_name - modify_source_actual.sources[0].source == 'C:\\chocolatey repos2' - modify_source_actual.sources[0].disabled == False - modify_source_actual.sources[0].source_username == 'username2' - modify_source_actual.sources[0].priority == 5 - modify_source_actual.sources[0].certificate == 'C:\\cert2.pfx' - modify_source_actual.sources[0].bypass_proxy == False - modify_source_actual.sources[0].allow_self_service == True - modify_source_actual.sources[0].admin_only == True - name: edit an existing source (idempotent) win_chocolatey_source: name: '{{ test_chocolatey_name }}' source: C:\chocolatey repos2 source_username: username2 source_password: password2 certificate: C:\cert2.pfx priority: '5' state: present update_password: on_create admin_only: yes allow_self_service: yes register: modify_source_again - name: assert edit an existing source (idempotent) assert: that: - not modify_source_again is changed - name: disable source (check mode) win_chocolatey_source: name: '{{ test_chocolatey_name }}' state: disabled register: disable_source_check check_mode: True - name: get result of disable source (check mode) choco_source: register: disable_source_actual_check - name: assert disable source (check mode) assert: that: - disable_source_check is changed - disable_source_actual_check.sources == modify_source_actual.sources - name: disable source win_chocolatey_source: name: '{{ test_chocolatey_name }}' state: disabled register: disable_source - name: get result of disable source choco_source: register: disable_source_actual - name: assert disable source assert: that: - disable_source is changed - disable_source_actual.sources[0].name == test_chocolatey_name - disable_source_actual.sources[0].source == 'C:\\chocolatey repos2' - disable_source_actual.sources[0].disabled == True - disable_source_actual.sources[0].source_username == 'username2' - disable_source_actual.sources[0].priority == 5 - disable_source_actual.sources[0].certificate == 'C:\\cert2.pfx' - disable_source_actual.sources[0].bypass_proxy == False - disable_source_actual.sources[0].allow_self_service == True - disable_source_actual.sources[0].admin_only == True - name: disable source (idempotent) win_chocolatey_source: name: '{{ test_chocolatey_name }}' state: disabled register: disable_source_again - name: assert disable source (idempotent) assert: that: - not disable_source_again is changed - name: enable source (check mode) win_chocolatey_source: name: '{{ test_chocolatey_name }}' state: present register: enable_source_check check_mode: True - name: get result of enable source (check mode) choco_source: register: enable_source_actual_check - name: assert enable source (check mode) assert: that: - enable_source_check is changed - enable_source_actual_check.sources == disable_source_actual.sources - name: enable source win_chocolatey_source: name: '{{ test_chocolatey_name }}' state: present register: enable_source - name: get result of enable source choco_source: register: enable_source_actual - name: assert enable source assert: that: - enable_source is changed - enable_source_actual.sources[0].name == test_chocolatey_name - enable_source_actual.sources[0].source == 'C:\\chocolatey repos2' - enable_source_actual.sources[0].disabled == False - enable_source_actual.sources[0].source_username == 'username2' - enable_source_actual.sources[0].priority == 5 - enable_source_actual.sources[0].certificate == 'C:\\cert2.pfx' - enable_source_actual.sources[0].bypass_proxy == False - enable_source_actual.sources[0].allow_self_service == True - enable_source_actual.sources[0].admin_only == True - name: enable source (idempotent) win_chocolatey_source: name: '{{ test_chocolatey_name }}' state: present register: enable_source_again - name: assert enable source (idempotent) assert: that: - not enable_source_again is changed