Spaces:
Sleeping
Sleeping
File size: 1,855 Bytes
f572e51 |
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
#!/usr/bin/python
#=============================================================================================
# MODULE DOCSTRING
#=============================================================================================
"""
Test command-line interface.
"""
#=============================================================================================
# GLOBAL IMPORTS
#=============================================================================================
import os
import subprocess
from subprocess import CalledProcessError
import pytest
#=============================================================================================
# UNIT TESTS
#=============================================================================================
def run_cli(arguments, expected_output=None):
try:
output = subprocess.check_output('pdbfixer ' + arguments, shell=True)
except CalledProcessError as e:
message = "An error return value (%s) was obtained:\n" % str(e.returncode)
message += "\n"
message += str(e.output)
message += "\n"
raise Exception(message)
if expected_output:
if output != expected_output:
message = "Output differs from expected output.\n"
message += "\n"
message += "Expected output:\n"
message += expected_output
message += "\n"
message += "Actual output:\n"
message += output
message += "\n"
raise Exception(message)
def test_help():
run_cli('--help')
def test_pdbid():
run_cli('--pdbid 1LE1')
@pytest.mark.skipif(os.getenv("GITHUB_ACTION") is not None, reason="Cannot download during CI")
def test_url():
run_cli('--url "http://www.rcsb.org/pdb/download/downloadFile.do?fileFormat=pdb&compression=NO&structureId=1LE1"')
|