summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/lookup_url/tasks/use_netrc.yml
blob: 68dc8934ea616ef0f24acb0ac48a3592378fb2ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
- 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