Blame src/cli-ng/tests/clitests/fake_problems.py

Packit Service 8a8a03
import problem
Packit Service 8a8a03
import datetime
Packit Service 8a8a03
Packit Service 8a8a03
# contains two problems with the same hash
Packit Service 8a8a03
# one problem of users app
Packit Service 8a8a03
# one unknown problem
Packit Service 8a8a03
Packit Service 8a8a03
_rt = '''uReport: BTHASH=3505a6db8a6bd51a3d690f1553b309a0d7eda948
Packit Service 8a8a03
ABRT Server: URL=https://retrace.fedoraproject.org/faf/reports/bthash/3505a6db8a6bd51a3d690f1553b309a0d7eda948
Packit Service 8a8a03
Bugzilla: URL=https://bugzilla.redhat.com/show_bug.cgi?id=1223349'''
Packit Service 8a8a03
Packit Service 8a8a03
Packit Service 8a8a03
_data = [
Packit Service 8a8a03
    {
Packit Service 8a8a03
        'type': problem.CCPP,
Packit Service 8a8a03
        'reason': 'pavucontrol killed by SIGSEGV',
Packit Service 8a8a03
        '_id': 'bc60a5cbddb4e3667511e718ceecac16133acc97',
Packit Service 8a8a03
        'path': '/var/tmp/abrt/ccpp-2015-05-16-14:41:47-7729',
Packit Service 8a8a03
        'count': 15,
Packit Service 8a8a03
        'time': datetime.datetime(2015, 5, 16, 14, 41, 47),
Packit Service 8a8a03
        'component': 'pavucontrol',
Packit Service 8a8a03
        'reported_to': _rt,
Packit Service 8a8a03
    },
Packit Service 8a8a03
    {
Packit Service 8a8a03
        'type': problem.CCPP,
Packit Service 8a8a03
        'reason': 'polkit killed by SIGSEGV',
Packit Service 8a8a03
        '_id': 'bc60a5cbddb4e3667511e718ceecac16133acc97',
Packit Service 8a8a03
        'path': '/var/tmp/abrt/ccpp-2015-06-16-14:41:47-7729',
Packit Service 8a8a03
        'count': 1,
Packit Service 8a8a03
        'time': datetime.datetime(2015, 6, 16, 14, 41, 47),
Packit Service 8a8a03
        'component': 'polkitd',
Packit Service 8a8a03
    },
Packit Service 8a8a03
    {
Packit Service 8a8a03
        'type': problem.CCPP,
Packit Service 8a8a03
        'reason': 'pavucontrol killed by SIGSEGV',
Packit Service 8a8a03
        '_id': 'acbea5cbddb4e3667511e718ceecac16133acc97',
Packit Service 8a8a03
        'path': '/var/tmp/abrt/ccpp-2015-06-16-14:41:47-7729',
Packit Service 8a8a03
        'count': 3,
Packit Service 8a8a03
        'time': datetime.datetime(2013, 6, 16, 14, 41, 47),
Packit Service 8a8a03
        'component': 'pavucontrol',
Packit Service 8a8a03
    },
Packit Service 8a8a03
    {
Packit Service 8a8a03
        'type': problem.CCPP,
Packit Service 8a8a03
        'reason': 'user_app killed by SIGSEGV',
Packit Service 8a8a03
        '_id': 'ffe635cbdd54e3667511e718ceecac16133acc97',
Packit Service 8a8a03
        'path': '/var/tmp/abrt/ccpp-2015-03-16-14:41:47-7729',
Packit Service 8a8a03
        'count': 1,
Packit Service 8a8a03
        'time': datetime.datetime(2015, 6, 17, 14, 41, 47),
Packit Service 8a8a03
        'executable': '/home/user/bin/user_app',
Packit Service 8a8a03
        'uid': 1234,
Packit Service 8a8a03
    },
Packit Service 8a8a03
    {
Packit Service 8a8a03
        'type': 'unknown_problem',
Packit Service 8a8a03
        'reason': 'something wrong happened',
Packit Service 8a8a03
        '_id': 'ccacca5cbdd54e3667511e718ceecac16133acc97',
Packit Service 8a8a03
        'path': '/var/tmp/abrt/ccpp-2014-03-16-14:41:47-7729',
Packit Service 8a8a03
        'count': 1,
Packit Service 8a8a03
        'time': datetime.datetime(2014, 6, 16, 14, 41, 47),
Packit Service 8a8a03
        'not-reportable': 'Not reportable reason',
Packit Service 8a8a03
    },
Packit Service 8a8a03
]
Packit Service 8a8a03
Packit Service 8a8a03
Packit Service 8a8a03
class FakeProxy():
Packit Service 8a8a03
    ''' To be sure no dbus api calls are made during tests '''
Packit Service 8a8a03
    def connect():
Packit Service 8a8a03
        pass
Packit Service 8a8a03
Packit Service 8a8a03
    def get_item(*args, **kwargs):
Packit Service 8a8a03
        return None
Packit Service 8a8a03
Packit Service 8a8a03
Packit Service 8a8a03
def get_fake_problems(*args, **kwargs):
Packit Service 8a8a03
    res = []
Packit Service 8a8a03
    for pdata in _data:
Packit Service 8a8a03
        p = problem.Problem(pdata['type'], pdata['reason'])
Packit Service 8a8a03
Packit Service 8a8a03
        for field in set(pdata.keys()) - set(['type', 'reason']):
Packit Service 8a8a03
            if field == 'path':  # path is immutable
Packit Service 8a8a03
                continue
Packit Service 8a8a03
Packit Service 8a8a03
            setattr(p, field, pdata[field])
Packit Service 8a8a03
Packit Service 8a8a03
        setattr(p, '_persisted', True)
Packit Service 8a8a03
        setattr(p, '_probdir',  pdata['path'])
Packit Service 8a8a03
        setattr(p, '_proxy',  FakeProxy())
Packit Service 8a8a03
Packit Service 8a8a03
        res.append(p)
Packit Service 8a8a03
Packit Service 8a8a03
    return res