blob: 141cba5f64684f3ca4b8facdee5773ca46758dfb (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# SPDX-License-Identifier: CC0-1.0
# Copyright (C) 2022 Wojtek Kosior <koszko@koszko.org>
#
# Available under the terms of Creative Commons Zero v1.0 Universal.
import sys
from pathlib import Path
import pytest
here = Path(__file__).resolve().parent
sys.path.insert(0, str(here / 'src'))
@pytest.fixture(autouse=True)
def no_requests(monkeypatch):
"""Remove requests.sessions.Session.request for all tests."""
monkeypatch.delattr('requests.sessions.Session.request')
@pytest.fixture
def mock_subprocess_run(monkeypatch, request):
"""
Temporarily replace subprocess.run() with a function supplied through pytest
marker 'subprocess_run'.
The marker excepts 2 arguments:
* the module inside which the subprocess attribute should be mocked and
* a run() function to use.
"""
where, mocked_run = request.node.get_closest_marker('subprocess_run').args
class MockedSubprocess:
"""Minimal mocked version of the subprocess module."""
run = mocked_run
monkeypatch.setattr(where, 'subprocess', MockedSubprocess)
|