You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
# -*- 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 annotations
|
|
|
|
|
|
|
|
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
|