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

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