1
0
mirror of https://github.com/httpie/cli.git synced 2025-08-10 22:42:05 +02:00

Add httpie cli plugins in favor of the new cli namespace. (#1320)

* Add `httpie cli plugins` in favor of the new cli namespace.

* Separate each task to individual modules.

* Move httpie.manager.plugins to httpie.manager.tasks.plugins

Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
This commit is contained in:
Batuhan Taskaya
2022-04-03 16:06:42 +03:00
committed by GitHub
parent 33ea977b64
commit c157948531
10 changed files with 120 additions and 100 deletions

View File

@@ -208,12 +208,17 @@ def httpie_plugins(interface):
from tests.utils import httpie
from httpie.plugins.registry import plugin_manager
def runner(*args):
def runner(*args, cli_mode: bool = True):
args = list(args)
if cli_mode:
args.insert(0, 'cli')
args.insert(cli_mode, 'plugins')
# Prevent installed plugins from showing up.
original_plugins = plugin_manager.copy()
clean_sys_path = set(sys.path).difference(site.getsitepackages())
with patch('sys.path', list(clean_sys_path)):
response = httpie('plugins', *args, env=interface.environment)
response = httpie(*args, env=interface.environment)
plugin_manager.clear()
plugin_manager.extend(original_plugins)
return response
@@ -223,8 +228,8 @@ def httpie_plugins(interface):
@pytest.fixture
def httpie_plugins_success(httpie_plugins):
def runner(*args):
response = httpie_plugins(*args)
def runner(*args, cli_mode: bool = True):
response = httpie_plugins(*args, cli_mode=True)
assert response.exit_status == ExitStatus.SUCCESS
return response.splitlines()
return runner