1---
2- name: change workgroup (check mode)
3  win_domain_membership:
4    workgroup_name: ANSIBLETEST
5    state: workgroup
6    domain_admin_user: fake user
7    domain_admin_password: fake password
8  register: change_workgroup_check
9  check_mode: yes
10
11- name: get result of change workgroup (check mode)
12  win_shell: (Get-WmiObject Win32_ComputerSystem).Workgroup
13  register: change_workgroup_result_check
14
15- name: assert result of change workgroup (check mode)
16  assert:
17    that:
18    - change_workgroup_check is changed
19    - change_workgroup_result_check.stdout == workgroup.stdout
20
21- name: change workgroup
22  win_domain_membership:
23    workgroup_name: ANSIBLETEST
24    state: workgroup
25    domain_admin_user: fake user
26    domain_admin_password: fake password
27  register: change_workgroup
28
29- name: get result of change workgroup
30  win_shell: (Get-WmiObject Win32_ComputerSystem).Workgroup
31  register: change_workgroup_result
32
33- name: assert result of change workgroup
34  assert:
35    that:
36    - change_workgroup is changed
37    - change_workgroup_result.stdout_lines[0] == "ANSIBLETEST"
38
39- name: change workgroup (idempotent)
40  win_domain_membership:
41    workgroup_name: ANSIBLETEST
42    state: workgroup
43    domain_admin_user: fake user
44    domain_admin_password: fake password
45  register: change_workgroup_again
46
47- name: assert result of change workgroup (idempotent)
48  assert:
49    that:
50    - change_workgroup_again is not changed
51
52- name: change workgroup fail invalid name
53  win_domain_membership:
54    workgroup_name: ANSIBLELONGNAMEFAILURE
55    state: workgroup
56    domain_admin_user: fake user
57    domain_admin_password: fake password
58  register: fail_change_workgroup
59  failed_when: "fail_change_workgroup.msg != 'failed to set workgroup through WMI, return value: 2695'"
60