Blame src/python-problem/tests/test_internal.py

Packit 8ea169
#!/usr/bin/env python3
Packit 8ea169
import os
Packit 8ea169
import sys
Packit 8ea169
import logging
Packit 8ea169
import unittest
Packit 8ea169
Packit 8ea169
sys.path.insert(0, os.path.abspath(".."))
Packit 8ea169
sys.path.insert(0, os.path.abspath("../problem/.libs"))  # because of _pyabrt
Packit 8ea169
os.environ["PATH"] = "{0}:{1}".format(os.path.abspath(".."), os.environ["PATH"])
Packit 8ea169
Packit 8ea169
from nose import tools
Packit 8ea169
Packit 8ea169
from base import ProblematicTestCase
Packit 8ea169
Packit 8ea169
import problem
Packit 8ea169
Packit 8ea169
class InternalProblemImplementationTestCase(ProblematicTestCase):
Packit 8ea169
    def test_init(self):
Packit 8ea169
        prob = self.create_problem()
Packit 8ea169
        tools.eq_(prob._proxy, self.proxy )
Packit 8ea169
Packit 8ea169
    def test_setattr(self):
Packit 8ea169
        prob = self.create_problem()
Packit 8ea169
Packit 8ea169
        prob.test = 0
Packit 8ea169
        tools.eq_(prob._data['test'], 0)
Packit 8ea169
        tools.eq_(prob._dirty_data, {})
Packit 8ea169
Packit 8ea169
        prob._test = 1
Packit 8ea169
        tools.eq_(prob._test, 1)
Packit 8ea169
        tools.ok_('_test' not in prob._data)
Packit 8ea169
Packit 8ea169
        prob.add_current_process_data()
Packit 8ea169
        prob.save()
Packit 8ea169
Packit 8ea169
        prob.persisted_test = 0
Packit 8ea169
        tools.eq_(prob._data['persisted_test'], 0)
Packit 8ea169
        tools.eq_(prob._dirty_data['persisted_test'], 0)
Packit 8ea169
Packit 8ea169
        prob.delete()
Packit 8ea169
Packit 8ea169
    def test_setitem(self):
Packit 8ea169
        prob = self.create_problem()
Packit 8ea169
Packit 8ea169
        prob['test'] = 0
Packit 8ea169
        tools.eq_(prob._data['test'], 0)
Packit 8ea169
        tools.eq_(prob._dirty_data, {})
Packit 8ea169
Packit 8ea169
        prob['_test'] = 1
Packit 8ea169
        tools.ok_('_test' not in prob._data)
Packit 8ea169
Packit 8ea169
        prob.add_current_process_data()
Packit 8ea169
        prob.save()
Packit 8ea169
Packit 8ea169
        prob['persisted_test'] = 0
Packit 8ea169
        tools.eq_(prob._data['persisted_test'], 0)
Packit 8ea169
        tools.eq_(prob._dirty_data['persisted_test'], 0)
Packit 8ea169
Packit 8ea169
        prob.delete()
Packit 8ea169
Packit 8ea169
    def test_delattr(self):
Packit 8ea169
        prob = self.create_problem()
Packit 8ea169
        del prob.reason
Packit 8ea169
        tools.ok_('reason' not in prob._data)
Packit 8ea169
Packit 8ea169
        prob.add_current_process_data()
Packit 8ea169
        prob.save()
Packit 8ea169
Packit 8ea169
        del prob.type
Packit 8ea169
        tools.eq_(prob._dirty_data, {'type': None})
Packit 8ea169
Packit 8ea169
        prob.save()
Packit 8ea169
Packit 8ea169
        tools.eq_(prob._dirty_data, {})
Packit 8ea169
Packit 8ea169
        prob.delete()
Packit 8ea169
Packit 8ea169
    def test_delitem(self):
Packit 8ea169
        prob = self.create_problem()
Packit 8ea169
        del prob['reason']
Packit 8ea169
        tools.ok_('reason' not in prob._data)
Packit 8ea169
Packit 8ea169
        prob.add_current_process_data()
Packit 8ea169
        prob.save()
Packit 8ea169
Packit 8ea169
        del prob['type']
Packit 8ea169
        tools.eq_(prob._dirty_data, {'type': None})
Packit 8ea169
Packit 8ea169
        prob.save()
Packit 8ea169
Packit 8ea169
        tools.eq_(prob._dirty_data, {})
Packit 8ea169
Packit 8ea169
        prob.delete()
Packit 8ea169
Packit 8ea169
    def test_items(self):
Packit 8ea169
        prob = problem.Runtime('Massive error')
Packit 8ea169
        tools.eq_(prob.items(), prob._data.items())
Packit 8ea169
Packit 8ea169
    def test_save(self):
Packit 8ea169
        prob = self.create_problem()
Packit 8ea169
        prob.add_current_process_data()
Packit 8ea169
        ident = prob.save()
Packit 8ea169
Packit 8ea169
        tools.eq_(prob._probdir, ident)
Packit 8ea169
Packit 8ea169
        prob.delete()
Packit 8ea169
Packit 8ea169
    def test_dirty_save(self):
Packit 8ea169
        prob = self.create_problem()
Packit 8ea169
        prob.add_current_process_data()
Packit 8ea169
        ident = prob.save()
Packit 8ea169
Packit 8ea169
        prob.executable = 'nine'
Packit 8ea169
Packit 8ea169
        tools.eq_(prob._dirty_data['executable'], 'nine')
Packit 8ea169
        prob.save()
Packit 8ea169
        tools.eq_(prob._dirty_data, {})
Packit 8ea169
Packit 8ea169
        prob.delete()
Packit 8ea169
Packit 8ea169
    def test_delete(self):
Packit 8ea169
        prob = self.create_problem()
Packit 8ea169
        prob.add_current_process_data()
Packit 8ea169
        ident = prob.save()
Packit 8ea169
Packit 8ea169
        prob.delete()
Packit 8ea169
Packit 8ea169
        tools.eq_(prob._persisted, False)
Packit 8ea169
        tools.eq_(prob._probdir, None)
Packit 8ea169
        tools.eq_(prob._dirty_data, {})
Packit 8ea169
Packit 8ea169
if __name__ == '__main__':
Packit 8ea169
    logging.basicConfig(level=logging.DEBUG)
Packit 8ea169
    unittest.main()