import pytest from lxml import etree from datetime import datetime from obsapi.jobhist import JobHist @pytest.fixture def jhist_xml(): return '''''' def test_jobhist(jhist_xml): jhist = JobHist(jhist_xml) root = etree.fromstring(jhist_xml) assert jhist.package == root.get('package') assert jhist.rev == root.get('rev') assert jhist.srcmd5 == root.get('srcmd5') assert jhist.versrel == root.get('versrel') assert jhist.bcnt == root.get('bcnt') assert jhist.readytime == datetime.fromtimestamp(int(root.get('readytime'))) assert jhist.starttime == datetime.fromtimestamp(int(root.get('starttime'))) assert jhist.endtime == datetime.fromtimestamp(int(root.get('endtime'))) assert jhist.code == root.get('code') assert jhist.uri == root.get('uri') assert jhist.workerid == root.get('workerid') assert jhist.hostarch == root.get('hostarch') assert jhist.reason == root.get('reason') assert jhist.verifymd5 == root.get('verifymd5') def test_jobhist_invalid_attribute(jhist_xml): jhist = JobHist(jhist_xml) with pytest.raises(AttributeError): assert jhist.invalid_attribute == 'Error'