123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import subprocess
- import unittest.mock
- import _pytest.capture
- import pubmed_bibtex
- from pubmed_bibtex.__main__ import _main
- # pylint: disable=wrong-import-order; false positive
- from conftest import TEST_BIBTEX_ENTRY, TEST_PMID
- def test__main(capsys: _pytest.capture.CaptureFixture) -> None:
- with unittest.mock.patch("sys.argv", ["", TEST_PMID]):
- _main()
- out, err = capsys.readouterr()
- assert not err
- assert out == TEST_BIBTEX_ENTRY
- def test_script_module() -> None:
- proc_info = subprocess.run(
- ["python", "-m", "pubmed_bibtex", TEST_PMID],
- check=True,
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
- )
- assert all(l.startswith(b"attempt #") for l in proc_info.stderr.splitlines())
- assert proc_info.stdout == TEST_BIBTEX_ENTRY.encode()
- def test_script() -> None:
- proc_info = subprocess.run(
- ["pubmed-bibtex", TEST_PMID],
- check=True,
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
- )
- assert all(l.startswith(b"attempt #") for l in proc_info.stderr.splitlines())
- assert proc_info.stdout == TEST_BIBTEX_ENTRY.encode()
- def test_version() -> None:
- proc_info = subprocess.run(
- ["pubmed-bibtex", "--version"],
- check=True,
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
- )
- assert not proc_info.stderr
- assert proc_info.stdout == pubmed_bibtex.__version__.encode() + b"\n"
|