# related to issue 301. Essentially ensure remote_expand_user does not support # $HOME expansion. - name: integration/action/remote_expand_user.yml hosts: test-targets tasks: - name: "Find out root's homedir." # Runs first because it blats regular Ansible facts with junk, so # non-become run fixes that up. setup: become: true register: root_facts - name: "Find regular homedir" setup: register: user_facts # ------------------------ - name: "Expand ~/foo" action_passthrough: method: _remote_expand_user kwargs: path: '~/foo' sudoable: false register: out - assert: that: out.result == user_facts.ansible_facts.ansible_user_dir ~ '/foo' fail_msg: | out={{ out }} - name: "Expand ~/foo with become active. ~ is become_user's home." action_passthrough: method: _remote_expand_user kwargs: path: '~/foo' sudoable: false register: out become: true - assert_equal: left: out.result right: user_facts.ansible_facts.ansible_user_dir + '/foo' - name: "Expand ~user/foo" action_passthrough: method: _remote_expand_user kwargs: path: '~{{ansible_user_id}}/foo' sudoable: false register: out - assert: that: out.result == user_facts.ansible_facts.ansible_user_dir ~ '/foo' fail_msg: | out={{ out }} - name: "Expanding $HOME/foo has no effect." action_passthrough: method: _remote_expand_user kwargs: path: '$HOME/foo' sudoable: false register: out - assert: that: out.result == '$HOME/foo' fail_msg: | out={{ out }} # ------------------------ - name: "sudoable; Expand ~/foo" action_passthrough: method: _remote_expand_user kwargs: path: '~/foo' sudoable: true register: out - assert: that: out.result == user_facts.ansible_facts.ansible_user_dir ~ '/foo' fail_msg: | out={{ out }} - name: "sudoable; Expand ~/foo with become active. ~ is become_user's home." action_passthrough: method: _remote_expand_user kwargs: path: '~/foo' sudoable: true register: out become: true - assert_equal: left: out.result right: root_facts.ansible_facts.ansible_user_dir + '/foo' - name: "sudoable; Expand ~user/foo" action_passthrough: method: _remote_expand_user kwargs: path: '~{{ansible_user_id}}/foo' sudoable: true register: out - assert: that: out.result == user_facts.ansible_facts.ansible_user_dir ~ '/foo' fail_msg: | out={{ out }} - name: "sudoable; Expanding $HOME/foo has no effect." action_passthrough: method: _remote_expand_user kwargs: path: '$HOME/foo' sudoable: true register: out - assert: that: out.result == '$HOME/foo' fail_msg: | out={{ out }} tags: - remote_expand_user