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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
import json
try:
import unittest2 as unittest
except ImportError:
import unittest
import os
from mock import Mock
from leap.base import config as baseconfig
from leap.eip import checks as eipchecks
from leap.eip import constants as eipconstants
from leap.testing.basetest import BaseLeapTest
class EIPCheckTest(BaseLeapTest):
__name__ = "eip_check_tests"
def setUp(self):
pass
def tearDown(self):
pass
# test methods are there, and can be called from run_all
def test_checker_should_implement_check_methods(self):
checker = eipchecks.EIPChecker()
self.assertTrue(hasattr(checker, "check_default_eipconfig"),
"missing meth")
self.assertTrue(hasattr(checker, "check_is_there_default_provider"),
"missing meth")
self.assertTrue(hasattr(checker, "fetch_definition"), "missing meth")
self.assertTrue(hasattr(checker, "fetch_eip_config"), "missing meth")
self.assertTrue(hasattr(checker, "check_complete_eip_config"),
"missing meth")
self.assertTrue(hasattr(checker, "ping_gateway"), "missing meth")
def test_checker_should_actually_call_all_tests(self):
checker = eipchecks.EIPChecker()
mc = Mock()
checker.run_all(checker=mc)
self.assertTrue(mc.check_default_eipconfig.called, "not called")
self.assertTrue(mc.check_is_there_default_provider.called,
"not called")
self.assertTrue(mc.fetch_definition.called,
"not called")
self.assertTrue(mc.fetch_eip_config.called,
"not called")
self.assertTrue(mc.check_complete_eip_config.called,
"not called")
self.assertTrue(mc.ping_gateway.called,
"not called")
# test individual check methods
def test_dump_default_eipconfig(self):
checker = eipchecks.EIPChecker()
# no eip config (empty home)
eipconfig = baseconfig.get_config_file(eipconstants.EIP_CONFIG)
self.assertFalse(os.path.isfile(eipconfig))
checker.check_default_eipconfig()
# we've written one, so it should be there.
self.assertTrue(os.path.isfile(eipconfig))
with open(eipconfig, 'rb') as fp:
deserialized = json.load(fp)
self.assertEqual(deserialized,
eipconstants.EIP_SAMPLE_JSON)
# TODO: when new JSONConfig class is in place, we shold
# run validation methods.
if __name__ == "__main__":
unittest.main()
|