url lookup - set default user agent (#72324)
* Add unit tests * Add note about when default changed
This commit is contained in:
parent
4856ab0e68
commit
8f9cf456b0
3 changed files with 30 additions and 1 deletions
2
changelogs/fragments/url-lookup-add-httpagent.yml
Normal file
2
changelogs/fragments/url-lookup-add-httpagent.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- url lookup - set default user agent to ``ansible-httpget`` (https://github.com/ansible/ansible/pull/72324)
|
|
@ -64,9 +64,10 @@ options:
|
||||||
- section: url_lookup
|
- section: url_lookup
|
||||||
key: timeout
|
key: timeout
|
||||||
http_agent:
|
http_agent:
|
||||||
description: User-Agent to use in the request
|
description: User-Agent to use in the request. The default was changed in 2.11 to C(ansible-httpget).
|
||||||
type: string
|
type: string
|
||||||
version_added: "2.10"
|
version_added: "2.10"
|
||||||
|
default: ansible-httpget
|
||||||
vars:
|
vars:
|
||||||
- name: ansible_lookup_url_agent
|
- name: ansible_lookup_url_agent
|
||||||
env:
|
env:
|
||||||
|
|
26
test/units/plugins/lookup/test_url.py
Normal file
26
test/units/plugins/lookup/test_url.py
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Copyright: (c) 2020, Sam Doran <sdoran@redhat.com>
|
||||||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
from __future__ import (absolute_import, division, print_function)
|
||||||
|
__metaclass__ = type
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from ansible.plugins.loader import lookup_loader
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
('kwargs', 'agent'),
|
||||||
|
(
|
||||||
|
({}, 'ansible-httpget'),
|
||||||
|
({'http_agent': 'SuperFox'}, 'SuperFox'),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
def test_user_agent(mocker, kwargs, agent):
|
||||||
|
mock_open_url = mocker.patch('ansible.plugins.lookup.url.open_url', side_effect=AttributeError('raised intentionally'))
|
||||||
|
url_lookup = lookup_loader.get('url')
|
||||||
|
with pytest.raises(AttributeError):
|
||||||
|
url_lookup.run(['https://nourl'], **kwargs)
|
||||||
|
assert 'http_agent' in mock_open_url.call_args.kwargs
|
||||||
|
assert mock_open_url.call_args.kwargs['http_agent'] == agent
|
Loading…
Reference in a new issue