ansible/test/integration/targets/hostname/tasks/test_check_mode.yml
Sam Doran 7352457e7b
hostname - add macOS (#54439)
* Add DarwinStrategy class and integration tests

macOS has three seprate hostname params that need to be set. One of those params, LocalHostName, has more stringent requirements than the other two, which accept special characters and spaces. Create a method to scrub the hostname to ensure it works well with the system requirements.

* Update documentation

* Account for virtualization type returned on Azure Pipelines

* Do not be dependent on order of self.name_types

Use the scrubbed name when the name type is LocalHostName
2020-10-27 17:30:54 -04:00

50 lines
1.3 KiB
YAML

- name: Run hostname module in check_mode
hostname:
name: crocodile.ansible.test.doesthiswork.net.example.com
check_mode: true
register: hn1
- name: Get current hostname again
command: hostname
register: after_hn
- name: Ensure hostname changed properly
assert:
that:
- hn1 is changed
- original.stdout == after_hn.stdout
- when: _hostname_file is defined and _hostname_file
block:
- name: See if current hostname file exists
stat:
path: "{{ _hostname_file }}"
register: hn_stat
- name: Move the current hostname file if it exists
command: mv {{ _hostname_file }} {{ _hostname_file }}.orig
when: hn_stat.stat.exists
- name: Run hostname module in check_mode
hostname:
name: crocodile.ansible.test.doesthiswork.net.example.com
check_mode: true
register: hn
- stat:
path: /etc/rc.conf.d/hostname
register: hn_stat_checkmode
- assert:
that:
# TODO: This is a legitimate bug and will be fixed in another PR.
# - not hn_stat_checkmode.stat.exists
- hn is changed
- name: Get hostname again
command: hostname
register: current_after_cm
- assert:
that:
- original.stdout == current_after_cm.stdout