test_main.py 993 B

1234567891011121314151617181920212223242526272829303132
  1. import subprocess
  2. import unittest.mock
  3. from pubmed_bibtex.__main__ import main
  4. from conftest import TEST_PMID, TEST_BIBTEX_ENTRY
  5. def test_main(capsys):
  6. with unittest.mock.patch('sys.argv', ['', TEST_PMID]):
  7. main()
  8. out, err = capsys.readouterr()
  9. assert not err
  10. assert out == TEST_BIBTEX_ENTRY
  11. def test_script_module():
  12. proc_info = subprocess.run(['python', '-m', 'pubmed_bibtex', TEST_PMID],
  13. check=True,
  14. stdout=subprocess.PIPE,
  15. stderr=subprocess.PIPE)
  16. assert not proc_info.stderr
  17. assert proc_info.stdout == TEST_BIBTEX_ENTRY.encode()
  18. def test_script():
  19. proc_info = subprocess.run(['pubmed-bibtex', TEST_PMID],
  20. check=True,
  21. stdout=subprocess.PIPE,
  22. stderr=subprocess.PIPE)
  23. assert not proc_info.stderr
  24. assert proc_info.stdout == TEST_BIBTEX_ENTRY.encode()