mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
59b1329337
Add onepassword_doc lookup plugin (#7490)
* Add onepassword_doc lookup plugin
* Switch to a doc fragment
* Add unit test
* Update docs
* Move parameter validation to the OnePass object
This makes it built in for other lookup plugins using this class.
* Use kwargs for OnePass instantiation
There are enough parameters now that using them positionally can result in
odd behavior.
* Update tests
Correct conftest file name so fixtures are discovered and loaded correctly
Move constant so it doesn’t need to be imported
Add a patch since the parameter validation moved to part of the class init
* Use a lookup docs fragment
* Correct plugin description
(cherry picked from commit e0346d400f
)
Co-authored-by: Sam Doran <sdoran@redhat.com>
33 lines
878 B
Python
33 lines
878 B
Python
# Copyright (c) 2020 Ansible Project
|
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
from __future__ import (absolute_import, division, print_function)
|
|
__metaclass__ = type
|
|
|
|
import pytest
|
|
|
|
from ansible_collections.community.general.plugins.lookup.onepassword import OnePass
|
|
|
|
|
|
@pytest.fixture
|
|
def fake_op(mocker):
|
|
def _fake_op(version):
|
|
mocker.patch("ansible_collections.community.general.plugins.lookup.onepassword.OnePassCLIBase.get_current_version", return_value=version)
|
|
op = OnePass()
|
|
op._config._config_file_path = "/home/jin/.op/config"
|
|
mocker.patch.object(op._cli, "_run")
|
|
|
|
return op
|
|
|
|
return _fake_op
|
|
|
|
|
|
@pytest.fixture
|
|
def opv1(fake_op):
|
|
return fake_op("1.17.2")
|
|
|
|
|
|
@pytest.fixture
|
|
def opv2(fake_op):
|
|
return fake_op("2.27.2")
|