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

Packit 8ea169
import os
Packit 8ea169
import sys
Packit 8ea169
try:
Packit 8ea169
    import unittest2 as unittest
Packit 8ea169
except ImportError:
Packit 8ea169
    import unittest
Packit 8ea169
import contextlib
Packit 8ea169
Packit 8ea169
cpath = os.path.dirname(os.path.realpath(__file__))
Packit 8ea169
# alter path so we can import cli
Packit 8ea169
abrtcli_path = os.path.abspath(os.path.join(cpath, "../.."))
Packit 8ea169
problem_path = os.path.abspath(os.path.join(cpath, "../../../python-problem"))
Packit 8ea169
pyabrt_path = os.path.join(problem_path, "problem/.libs")  # because of _pyabrt
Packit 8ea169
sys.path.insert(0, abrtcli_path)
Packit 8ea169
sys.path.insert(0, problem_path)
Packit 8ea169
sys.path.insert(0, pyabrt_path)
Packit 8ea169
os.environ["PATH"] = "{0}:{1}".format(abrtcli_path, os.environ["PATH"])
Packit 8ea169
Packit 8ea169
import problem
Packit 8ea169
from .fake_problems import get_fake_problems
Packit 8ea169
Packit 8ea169
problem.list = get_fake_problems
Packit 8ea169
Packit 8ea169
Packit 8ea169
Packit 8ea169
@contextlib.contextmanager
Packit 8ea169
def monkey_patch(owner, attr, value):
Packit 8ea169
    """
Packit 8ea169
    Limited scope monkey patch context manager
Packit 8ea169
Packit 8ea169
    Example:
Packit 8ea169
Packit 8ea169
    with monkey_patch(sys, 'exit', myexit):
Packit 8ea169
        sys.exit()
Packit 8ea169
    """
Packit 8ea169
Packit 8ea169
    old = getattr(owner, attr)
Packit 8ea169
    setattr(owner, attr, value)
Packit 8ea169
    try:
Packit 8ea169
        yield getattr(owner, attr)
Packit 8ea169
    finally:
Packit 8ea169
        setattr(owner, attr, old)
Packit 8ea169
Packit 8ea169
Packit 8ea169
class TestCase(unittest.TestCase):
Packit 8ea169
    """
Packit 8ea169
    Class that initializes required configuration variables.
Packit 8ea169
    """
Packit 8ea169
Packit 8ea169
    pass