File: C:/Users/fred/anaconda3/Lib/site-packages/pyct/tests/test_report.py
from unittest.mock import patch
from pyct.report import report
class TestModule:
__version__ = "1.9.3"
__file__ = "/mock/opt/anaconda3/envs/pyct/lib/python3.7/site-packages/param/__init__.py"
@patch("importlib.import_module")
@patch("builtins.print")
def test_report_gives_package_version(mock_print, mock_import_module):
module = TestModule()
mock_import_module.return_value = module
report("param")
mock_print.assert_called_with('param=1.9.3 # /mock/opt/anaconda3/envs/pyct/lib/python3.7/site-packages/param')
@patch("builtins.print")
@patch("subprocess.check_output")
def test_report_gives_conda_version(mock_check_output, mock_print):
mock_check_output.side_effect = [b'/mock/opt/anaconda3/condabin/conda\n', b'conda 4.8.3\n']
report("conda")
mock_print.assert_called_with("conda=4.8.3 # /mock/opt/anaconda3/condabin/conda")
@patch("builtins.print")
@patch("subprocess.check_output")
def test_report_gives_python_version(mock_check_output, mock_print):
mock_check_output.side_effect = [b'/mock/opt/anaconda3/envs/pyct/bin/python\n', b'Python 3.7.7\n']
report("python")
mock_print.assert_called_with("python=3.7.7 # /mock/opt/anaconda3/envs/pyct/bin/python")
@patch("builtins.print")
@patch("platform.platform")
def test_report_gives_system_version(mock_platform, mock_print):
mock_platform.side_effect = ["Darwin-19.2.0", "Darwin-19.2.0-x86_64-i386-64bit"]
report("system")
mock_print.assert_called_with("system=Darwin-19.2.0 # OS: Darwin-19.2.0-x86_64-i386-64bit")
@patch("builtins.print")
def test_unknown_package_output(mock_print):
report("fake_package")
mock_print.assert_called_with("fake_package=unknown # not installed in this environment")