136 lines
3.6 KiB
YAML
136 lines
3.6 KiB
YAML
|
# these tests are destructive and can be run manually on a throwaway host
|
||
|
# set test_win_dsc_run_desctructive: yes in default/main.yml
|
||
|
---
|
||
|
- name: ensure IIS features are installed
|
||
|
win_feature:
|
||
|
name: Web-Server
|
||
|
include_sub_features: yes
|
||
|
include_management_tools: no
|
||
|
state: present
|
||
|
|
||
|
- name: install xWebAdministration module
|
||
|
win_psmodule:
|
||
|
name: xWebAdministration
|
||
|
state: present
|
||
|
|
||
|
- name: ensure IIS website does not exists
|
||
|
win_iis_website:
|
||
|
name: Ansible DSC Test
|
||
|
state: absent
|
||
|
|
||
|
- name: get certificate hash for IIS test
|
||
|
win_shell: (Get-ChildItem -Path Cert:\LocalMachine\My)[0].Thumbprint
|
||
|
register: win_dsc_cert_thumbprint
|
||
|
|
||
|
- name: create an IIS website with auth and binding info (check mode)
|
||
|
win_dsc:
|
||
|
resource_name: xWebSite
|
||
|
Ensure: Present
|
||
|
Name: Ansible DSC Test
|
||
|
State: Started
|
||
|
PhysicalPath: C:\inetpub\wwwroot
|
||
|
BindingInfo:
|
||
|
- Protocol: https
|
||
|
Port: 8443
|
||
|
CertificateStoreName: MY
|
||
|
CertificateThumbprint: '{{win_dsc_cert_thumbprint.stdout_lines[0]}}'
|
||
|
HostName: DSCTest
|
||
|
IPAddress: '*'
|
||
|
SSLFlags: '1'
|
||
|
- Protocol: http
|
||
|
Port: 8888
|
||
|
IPAddress: '*'
|
||
|
AuthenticationInfo:
|
||
|
Anonymous: yes
|
||
|
Basic: no
|
||
|
Digest: no
|
||
|
Windows: yes
|
||
|
register: win_dsc_iis_check
|
||
|
check_mode: yes
|
||
|
|
||
|
- name: get result of create an IIS website (check mode)
|
||
|
test_win_dsc_iis_info:
|
||
|
name: Ansible DSC Test
|
||
|
register: win_dsc_iis_check_result
|
||
|
|
||
|
- name: assert results of create an IIS website (check mode)
|
||
|
assert:
|
||
|
that:
|
||
|
- win_dsc_iis_check|changed
|
||
|
- win_dsc_iis_check_result.exists == False
|
||
|
|
||
|
- name: create an IIS website with auth and binding info
|
||
|
win_dsc:
|
||
|
resource_name: xWebSite
|
||
|
Ensure: Present
|
||
|
Name: Ansible DSC Test
|
||
|
State: Started
|
||
|
PhysicalPath: C:\inetpub\wwwroot
|
||
|
BindingInfo:
|
||
|
- Protocol: https
|
||
|
Port: 8443
|
||
|
CertificateStoreName: MY
|
||
|
CertificateThumbprint: '{{win_dsc_cert_thumbprint.stdout_lines[0]}}'
|
||
|
HostName: Test
|
||
|
IPAddress: '*'
|
||
|
SSLFlags: '1'
|
||
|
- Protocol: http
|
||
|
Port: 8888
|
||
|
IPAddress: '*'
|
||
|
AuthenticationInfo:
|
||
|
Anonymous: yes
|
||
|
Basic: no
|
||
|
Digest: no
|
||
|
Windows: yes
|
||
|
register: win_dsc_iis
|
||
|
|
||
|
- name: get result of create an IIS website
|
||
|
test_win_dsc_iis_info:
|
||
|
name: Ansible DSC Test
|
||
|
register: win_dsc_iis_result
|
||
|
|
||
|
- name: assert results of create an IIS website
|
||
|
assert:
|
||
|
that:
|
||
|
- win_dsc_iis|changed
|
||
|
- win_dsc_iis_result.exists == True
|
||
|
- win_dsc_iis_result.auth.anonymous == True
|
||
|
- win_dsc_iis_result.auth.basic == False
|
||
|
- win_dsc_iis_result.auth.digest == False
|
||
|
- win_dsc_iis_result.auth.windows == True
|
||
|
- win_dsc_iis_result.http.binding == "*:8888:"
|
||
|
- win_dsc_iis_result.https.binding == "*:8443:Test"
|
||
|
- win_dsc_iis_result.https.hash == '{{win_dsc_cert_thumbprint.stdout_lines[0]}}'
|
||
|
- win_dsc_iis_result.https.sslFlags == 1
|
||
|
- win_dsc_iis_result.https.store == "MY"
|
||
|
|
||
|
- name: create an IIS website with auth and binding info (idempotent)
|
||
|
win_dsc:
|
||
|
resource_name: xWebSite
|
||
|
Ensure: Present
|
||
|
Name: Ansible DSC Test
|
||
|
State: Started
|
||
|
PhysicalPath: C:\inetpub\wwwroot
|
||
|
BindingInfo:
|
||
|
- Protocol: https
|
||
|
Port: 8443
|
||
|
CertificateStoreName: MY
|
||
|
CertificateThumbprint: '{{win_dsc_cert_thumbprint.stdout_lines[0]}}'
|
||
|
HostName: Test
|
||
|
IPAddress: '*'
|
||
|
SSLFlags: '1'
|
||
|
- Protocol: http
|
||
|
Port: 8888
|
||
|
IPAddress: '*'
|
||
|
AuthenticationInfo:
|
||
|
Anonymous: yes
|
||
|
Basic: no
|
||
|
Digest: no
|
||
|
Windows: yes
|
||
|
register: win_dsc_iis_again
|
||
|
|
||
|
- name: assert results of create an IIS website (idempotent)
|
||
|
assert:
|
||
|
that:
|
||
|
- not win_dsc_iis_again|changed
|