url lookup - set default user agent (#72324)

* Add unit tests
* Add note about when default changed
This commit is contained in:
Sam Doran 2020-10-28 09:34:06 -04:00 committed by GitHub
parent 4856ab0e68
commit 8f9cf456b0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 30 additions and 1 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- url lookup - set default user agent to ``ansible-httpget`` (https://github.com/ansible/ansible/pull/72324)

View file

@ -64,9 +64,10 @@ options:
- section: url_lookup
key: timeout
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
version_added: "2.10"
default: ansible-httpget
vars:
- name: ansible_lookup_url_agent
env:

View 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