summaryrefslogtreecommitdiff
path: root/test/test_jobhist.py
blob: 79764fb1046dc449eccd1637eb5f059c18fe36d7 (plain)
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
import pytest
from lxml import etree
from datetime import datetime
from obsapi.jobhist import JobHist


@pytest.fixture
def jhist_xml():
    return '''<jobhist package="chromium" rev="16" srcmd5="407c32b2d472dde5e18703b1bedba963" versrel="80.0.3987.149-1" bcnt="1" readytime="1585238949" starttime="1585238959" endtime="1585253844" code="succeeded" uri="http://192.168.131.81:34165" workerid="sheep81:4" hostarch="x86_64" reason="source change" verifymd5="407c32b2d472dde5e18703b1bedba963" />'''


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'