- name: Write out ~/.netrc copy: dest: "~/.netrc" # writing directly to ~/.netrc because plug-in doesn't support NETRC environment overwrite content: | machine {{ httpbin_host }} login foo password bar mode: "0600" - name: test Url lookup with ~/.netrc forced Basic auth set_fact: web_data: "{{ lookup('ansible.builtin.url', 'https://{{ httpbin_host }}/bearer', headers={'Authorization':'Bearer foobar'}) }}" ignore_errors: yes - name: assert test Url lookup with ~/.netrc forced Basic auth assert: that: - "web_data.token.find('v=' ~ 'Zm9vOmJhcg==') == -1" fail_msg: "Was expecting 'foo:bar' in base64, but received: {{ web_data }}" success_msg: "Expected Basic authentication even Bearer headers were sent" - name: test Url lookup with use_netrc=False set_fact: web_data: "{{ lookup('ansible.builtin.url', 'https://{{ httpbin_host }}/bearer', headers={'Authorization':'Bearer foobar'}, use_netrc='False') }}" - name: assert test Url lookup with netrc=False used Bearer authentication assert: that: - "web_data.token.find('v=' ~ 'foobar') == -1" fail_msg: "Was expecting 'foobar' Bearer token, but received: {{ web_data }}" success_msg: "Expected to ignore ~/.netrc and authorize with Bearer token" - name: Clean up. Removing ~/.netrc file: path: ~/.netrc state: absent