summaryrefslogtreecommitdiffstats
path: root/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgEncryptedCheetahGenerator.py
blob: 0522b9206948ff5add279e3645c7d0e217debebf (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import os
import sys
from mock import Mock, MagicMock, patch
from Bcfg2.Server.Plugins.Cfg.CfgEncryptedCheetahGenerator import *

# add all parent testsuite directories to sys.path to allow (most)
# relative imports in python 2.4
path = os.path.dirname(__file__)
while path != "/":
    if os.path.basename(path).lower().startswith("test"):
        sys.path.append(path)
    if os.path.basename(path) == "testsuite":
        break
    path = os.path.dirname(path)
from common import XI_NAMESPACE, XI, inPy3k, call, builtins, u, can_skip, \
    skip, skipIf, skipUnless, Bcfg2TestCase, DBModelTestCase, syncdb, \
    patchIf, datastore, re_type

try:
    from TestServer.TestPlugins.TestCfg.TestCfgCheetahGenerator import \
        TestCfgCheetahGenerator
    HAS_CHEETAH = True
except ImportError:
    TestCfgCheetahGenerator = object
    HAS_CHEETAH = False

try:
    from TestServer.TestPlugins.TestCfg.TestCfgEncryptedGenerator import \
        TestCfgEncryptedGenerator
    HAS_CRYPTO = True
except ImportError:
    TestCfgEncryptedGenerator = object
    HAS_CRYPTO = False


if can_skip or (HAS_CRYPTO and HAS_CHEETAH):
    class TestCfgEncryptedCheetahGenerator(TestCfgCheetahGenerator,
                                           TestCfgEncryptedGenerator):
        test_obj = CfgEncryptedCheetahGenerator

        @skipUnless(HAS_CRYPTO, "Encryption libraries not found, skipping")
        @skipUnless(HAS_CHEETAH, "Cheetah libraries not found, skipping")
        def setUp(self):
            pass

        def test_handle_event(self):
            TestCfgEncryptedGenerator.test_handle_event(self)

        def test_get_data(self):
            TestCfgCheetahGenerator.test_get_data(self)